game / player / tile / tile bag / program

test_old_branch
Jérémy Mouyon 1 year ago
parent f95c10d384
commit 81105449de

@ -26,16 +26,54 @@ namespace QwirkleClassLibrary
{ {
if (players[i].IsPlaying == true) if (players[i].IsPlaying == true)
{ {
Console.WriteLine(i);
return i; return i;
} }
} }
return -1; return -1;
} }
public int GetNbPlayers
{
get { return players.Count; }
}
public void RemoveTileInBagGame(Tile tile)
{
bag.RemoveTileInBag(tile);
}
public List<Tile> Bag
{
get { return bag.TilesInBag(); }
}
public void AddTileInBagOfPlayer(int posplayer, Tile tile)
{
players[posplayer].AddTilePlayer(tile);
}
public void ShowTileOfPlayer(int posplayer)
{
List<Tile> tiles = players[posplayer].Tiles;
string r = ("Tile of " + posplayer);
foreach(Tile tile in tiles)
{
r = (r + tile.NameColorTile());
}
Console.WriteLine(r);
}
public void SetNextPlayer(int old, int neew) public void SetNextPlayer(int old, int neew)
{ {
players[old].IsPlaying = false; if (old >= 0)
players[neew].IsPlaying = false; {
players[old].IsPlaying = false;
}
players[neew].IsPlaying = true;
Console.WriteLine(players[neew].GetName + "you have main now !"); Console.WriteLine(players[neew].GetName + "you have main now !");
} }

@ -9,20 +9,20 @@ namespace QwirkleClassLibrary
public class Player public class Player
{ {
private string nameTag; private string nameTag;
private List<Tile> Tiles; private List<Tile> tiles;
private bool isPlaying = false; private bool isPlaying = false;
public Player(string name) public Player(string name)
{ {
nameTag = name; nameTag = name;
Tiles = new List<Tile>(); tiles = new List<Tile>();
Console.WriteLine("Player created. Name : " + nameTag + "\n"); Console.WriteLine("Player created. Name : " + nameTag + "\n");
} }
public Player() public Player()
{ {
nameTag = "Unknow"; nameTag = "Unknow";
Tiles = new List<Tile>(); tiles = new List<Tile>();
Console.WriteLine("Player created. Name : " + nameTag + "\n"); Console.WriteLine("Player created. Name : " + nameTag + "\n");
} }
@ -38,12 +38,17 @@ namespace QwirkleClassLibrary
} }
public void AddTilePlayer(Tile tile) public void AddTilePlayer(Tile tile)
{ {
Tiles.Add(tile); tiles.Add(tile);
} }
public void RemoveTilePlayer(Tile tile) public void RemoveTilePlayer(Tile tile)
{ {
Tiles.Remove(tile); tiles.Remove(tile);
} }
public List<Tile> Tiles
{
get{ return tiles; }
}
} }
} }

@ -18,5 +18,10 @@ namespace QwirkleClassLibrary
color = co; color = co;
Console.WriteLine("A tile of shape " + shape + " and color " + color + " has been created."); Console.WriteLine("A tile of shape " + shape + " and color " + color + " has been created.");
} }
public string NameColorTile()
{
return (color.ToString() + " , " + shape.ToString());
}
} }
} }

@ -15,21 +15,38 @@ namespace QwirkleClassLibrary
{ {
tiles = new List<Tile>(); tiles = new List<Tile>();
foreach (Shape s in Enum.GetValues(typeof(Shape)))
for(int i=0; i<3; i++)
{ {
foreach (Color c in Enum.GetValues(typeof(Color))) foreach (Shape s in Enum.GetValues(typeof(Shape)))
{ {
Tile t = new Tile(s, c); foreach (Color c in Enum.GetValues(typeof(Color)))
tiles.Add(t); {
Tile t = new Tile(s, c);
tiles.Add(t);
}
} }
} }
} }
public void RemoveTileInBag(Tile tile)
{
for(int i=0; i<tiles.Count; i++)
{
if (tiles[i] == tile)
{
tiles.RemoveAt(i);
nbtiles--;
}
}
}
private void WhithdrawNbTiles() public List<Tile> TilesInBag()
{ {
this.nbtiles = this.nbtiles - 1; return tiles;
} }
} }

@ -58,12 +58,46 @@ static void NextPlayer(Game game)
{ {
int posPlayerPlay = game.PositionPlayerPlay(); int posPlayerPlay = game.PositionPlayerPlay();
int posPlayerNextPlay = (game.PositionPlayerPlay() + 1); int posPlayerNextPlay = game.PositionPlayerPlay() + 1;
if (posPlayerNextPlay >= game.GetNbPlayers)
{
posPlayerNextPlay = 0;
}
game.SetNextPlayer(posPlayerPlay, posPlayerNextPlay); game.SetNextPlayer(posPlayerPlay, posPlayerNextPlay);
}
static void TilsBagPlayer(Game game)
{
List<Tile> listTile = game.Bag;
for (int i = 0; i < game.GetNbPlayers; i++)
{
for (int j = 0; j < 6; j++)
{
Tile tile = listTile[j];
game.AddTileInBagOfPlayer(i, tile);
game.RemoveTileInBagGame(tile);
}
}
} }
Game game = InitializerGame(); Game game = InitializerGame();
Write("\n -------------------------------------------------------- \n");
NextPlayer(game);
NextPlayer(game); NextPlayer(game);
NextPlayer(game);
NextPlayer(game);
TilsBagPlayer(game);
game.ShowTileOfPlayer(0);
game.ShowTileOfPlayer(1);
game.ShowTileOfPlayer(2);
game.ShowTileOfPlayer(3);

Loading…
Cancel
Save