test_old_branch
Jérémy Mouyon 1 year ago
commit b213356970

@ -0,0 +1,86 @@
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();
players[0].IsPlaying = true;
}
public int PositionPlayerPlay()
{
for (int i = 0; i < players.Count; i++)
{
if (players[i].IsPlaying == true)
{
Console.WriteLine(i);
return i;
}
}
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)
{
if (old >= 0)
{
players[old].IsPlaying = false;
}
players[neew].IsPlaying = true;
Console.WriteLine(players[neew].GetName + "you have main now !");
}
}
}

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

@ -10,5 +10,12 @@ namespace QwirkleClassLibrary
{
private int score;
private string playerTag;
public Score(Player p)
{
score = 0;
playerTag = p.GetName;
}
}
}

@ -16,7 +16,12 @@ namespace QwirkleClassLibrary
{
shape = sh;
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.");
}
public string NameColorTile()
{
return (color.ToString() + " , " + shape.ToString());
}
public Shape GetShape
{

@ -14,11 +14,41 @@ namespace QwirkleClassLibrary
public TileBag()
{
tiles = new List<Tile>();
for(int i=0; i<3; i++)
{
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);
}
}
}
}
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;
}
}
}

@ -1,3 +1,107 @@
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].GetNameTag == name)
{
name = (name + "bis");
}
}
Player p = new Player(name);
Players.Add(p);
}
}
catch (Exception e)
{ Console.WriteLine(e.Message); }
return new Game(Players);
}
static void NextPlayer(Game game)
{
int posPlayerPlay = game.PositionPlayerPlay();
int posPlayerNextPlay = game.PositionPlayerPlay() + 1;
if (posPlayerNextPlay >= game.GetNbPlayers)
{
posPlayerNextPlay = 0;
}
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);
}
}
}
static void testJeremy()
{
Game game = InitializerGame();
Write("\n -------------------------------------------------------- \n");
NextPlayer(game);
NextPlayer(game);
NextPlayer(game);
NextPlayer(game);
TilsBagPlayer(game);
for (int i = 0; i < game.GetNbPlayers; i++)
{
game.ShowTileOfPlayer(i);
}
}
testJeremy();

Loading…
Cancel
Save