push of edit game player tile tile bag program

test_old_branch
Jérémy Mouyon 1 year ago
parent 97193d3829
commit f687f17262

@ -0,0 +1,38 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace QwirkleClassLibrary
{
public class Game
{
private TileBag bag;
private List<Player> players;
public Game(List<Player> pl) {
players = pl;
bag = new TileBag();
}
public void SetNextPlayer(Player player_old, Player player_new)
{
for(int i = 0; i < players.Count; i++)
{
if (players[i] == player_old)
{
players[i].IsPlaying = false;
}
if (players[i] == player_new)
{
players[i].IsPlaying = true;
}
}
}
}
}

@ -9,34 +9,40 @@ namespace QwirkleClassLibrary
public class Player public class Player
{ {
private string nameTag; private string nameTag;
private List<Tile> Tiles;
private bool isPlaying = false; private bool isPlaying = false;
public Player(string name) public Player(string name)
{ {
nameTag = name; nameTag = name;
if(isPlaying == false) Tiles = new List<Tile>();
{ Console.WriteLine("Player created. Name : " + nameTag + "\n");
Console.WriteLine("Player created. Name : " + nameTag + ", Turn to play : No\n"); }
}
else Console.WriteLine("Player created. Name : " + nameTag + ", Turn to play : Yes\n");
public Player()
{
nameTag = "Unknow";
Tiles = new List<Tile>();
Console.WriteLine("Player created. Name : " + nameTag + "\n");
} }
public string getName public string GetName
{ {
get { return nameTag; } get { return nameTag; }
} }
public bool getIsPlaying public bool IsPlaying
{ {
get { return isPlaying; } get { return isPlaying; }
set { isPlaying = value; } // pour vulgariser, le C# prends la value qui sert d'égalité !!
} }
public void AddTilePlayer(Tile tile)
public void setIsPlaying(bool isPlaying)
{ {
this.isPlaying = isPlaying; Tiles.Add(tile);
}
public void RemoveTilePlayer(Tile tile)
{
Tiles.Remove(tile);
} }
} }

@ -16,7 +16,7 @@ namespace QwirkleClassLibrary
{ {
shape = sh; shape = sh;
color = co; color = co;
Console.WriteLine("A tile of shape " + shape + " and color " + color + " has been created.\n"); Console.WriteLine("A tile of shape " + shape + " and color " + color + " has been created.");
} }
} }
} }

@ -14,11 +14,24 @@ namespace QwirkleClassLibrary
public TileBag() public TileBag()
{ {
tiles = new List<Tile>(); tiles = new List<Tile>();
foreach (Shape s in Enum.GetValues(typeof(Shape)))
{
foreach (Color c in Enum.GetValues(typeof(Color)))
{
Tile t = new Tile(s, c);
tiles.Add(t);
}
}
} }
private void WhithdrawNbTiles() private void WhithdrawNbTiles()
{ {
this.nbtiles = this.nbtiles - 1; this.nbtiles = this.nbtiles - 1;
} }
} }
} }

@ -1,3 +1,57 @@
using QwirkleClassLibrary; using QwirkleClassLibrary;
using static System.Console;
Console.WriteLine("Hello, World!"); static Game InitializerGame()
{
OutputEncoding = System.Text.Encoding.UTF8;
List<Player> Players = new List<Player>();
WriteLine("Enter number of player play : ");
try
{
int nbplayer = Convert.ToInt32(ReadLine());
while (nbplayer <= 1 || nbplayer > 4)
{
WriteLine("ERROR : Enter minmun one player or four max !");
nbplayer = Convert.ToInt32(ReadLine());
}
for (int i = 0; i < nbplayer; i++)
{
WriteLine("Enter name of player " + (i + 1) + " : \n");
String name = ReadLine();
bool nameInvalid = string.IsNullOrWhiteSpace(name);
while (nameInvalid == true)
{
WriteLine("ERROR Incorrect name, please enter name of player " + (i + 1) + " : \n");
name = ReadLine();
nameInvalid = string.IsNullOrWhiteSpace(name);
}
for (int j = 0; j < Players.Count; j++)
{
if (Players[j].GetName == name)
{
name = (name + "bis");
}
}
Player p = new Player(name);
Players.Add(p);
}
}
catch (Exception e)
{ Console.WriteLine(e.Message); }
return new Game(Players);
}
Game game = InitializerGame();
Loading…
Cancel
Save