-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBLMethod.cs
95 lines (89 loc) · 2.87 KB
/
BLMethod.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TTOS0300_UI_Programming_Collaboration
{
class BLMethod
{
// When time allows, refactor code to here in order to avoid cluttering BLLayer.cs and MainWindows.xaml.cs
//next turn logic
static public void NextTurn(ref int currentPlayer,ref List<Player> players)
{
//in case of 0 players
try
{
//loops players
currentPlayer++;
if (currentPlayer == players.Count())
{
currentPlayer = 0;
}
//reset die roll for next turn
players[currentPlayer].DieRolled = false;
BLLayer.SetDieRolledFlagToMySQL(players[currentPlayer].Id, players[currentPlayer].DieRolled);
//reset rent paid for next turn
players[currentPlayer].RentPaid = false;
//update next player to db
BLLayer.SetCurrentPlayerIdToMySQL(players[currentPlayer].Id);
}
catch
{
throw;
}
}
//generate new game id
static public int NewGameId()
{
try
{
//get game id's from db
List<int> gameIds = BLLayer.GetGameIdsFromMySQL();
//generates new gameid
int i = gameIds.Last()+1;
return i;
}
catch (Exception)
{
throw;
}
}
//show players from db
static public List<Player> ShowPlayers()
{
try
{
//get players id,name from db
List<Player> players = BLLayer.GetPlayerIdsFromMySQL();
return players;
}
catch (Exception)
{
throw;
}
}
//create new game to db
static public void NewGame(NewGame newGame, int playerid)
{
try
{
//new gamesessionid to db
BLLayer.SetNewGameIdToMySQL(newGame.GameId, playerid);
//players to gamesession
foreach (Player p in newGame.NewPlayers)
{
BLLayer.SetPlayerToNewGameToMySQL(p.Id, newGame.GameId);
}
//sets first player as current player to new game (needs new gameid)
BLLayer.SetCurrentPlayerIdToMySQL(newGame.NewPlayers.First().Id, newGame.GameId);
//sets new game id to local program instance
Properties.Settings.Default.settingsCurrentGameId = newGame.GameId;
}
catch (Exception)
{
throw;
}
}
}
}