@zaibuf: Tjena! Poängen ska enbart slumpas för datorn, medans "riktiga" spelaren får skriva in sina poäng själv, vidarebefodrar koden nedan så kan du se hur det ser ut, för programmet är i princip klart redan jag behöver endast lägga till att man ska kunna spela mot datorn där datorns poäng ska slumpas fram men spelarens poäng skrivs in manuellt.
Så i princip vill jag väl ha koden som den är med undantaget att man ska kunna spela mot datorn, bra tips att man får välja 1.Spela vs CPU, det skulle man kunna utgå ifrån, sedan är jag osäker hur jag går till väga
class Program
{
static void Main(string[] args)
{
var MyGame = new Game();
MyGame.PlayGame();
}
}
class Game //Klassen Game
{
private List<Player> nameList = new List<Player>();
public void AddPlayer(string name)
{
Player players = new Player(name); //
nameList.Add(players);
}
public void PlayGame()//Metod PlayGame
{
int arrow1;
int arrow2;
int arrow3;
int total = 0;
int winner = 301;
Console.WriteLine("\n\nWelcome to Dart of the year!");
Console.Write("-------------------------------------");
Console.Write("\nSet the amount of players: ");
int numberPlayers = int.Parse(Console.ReadLine());
for (int i = 0; i < numberPlayers; i++)
{
Console.Write("Name of player " + (i + 1) + ": ");
string playerName = Console.ReadLine();
AddPlayer(playerName);
}
do
{
foreach (var player in nameList)
{
Console.WriteLine("\nIt is {0}'s turn. Type the score for your three darts, 0-20: ", player);
arrow1 = int.Parse(Console.ReadLine());
if (arrow1 > 20 || arrow1 < 0)
{
Console.WriteLine("Only numbers between 0-20: ");
--arrow1;
}
arrow2 = int.Parse(Console.ReadLine());
if (arrow2 > 20 || arrow2 < 0)
{
Console.WriteLine("Only numbers between 0-20: ");
--arrow2;
}
arrow3 = int.Parse(Console.ReadLine());
if (arrow3 > 20 || arrow3 < 0)
{
Console.WriteLine("Only numbers between 0-20: ");
--arrow3;
}
player.AddThrows(arrow1, arrow2, arrow3);
total = player.CalculatePoints();
}
}
while (total <= winner);
foreach (var player in nameList)
{
player.PrintTurns();
}
}
class Player
{
private string name { get; set; }
private List<Turns> throwList = new List<Turns>();
public Player(string _name)
{
name = _name;
}
private string Name { get; set; }
public void AddThrows(int throw1, int throw2, int throw3)
{
throwList.Add(new Turns(throw1, throw2, throw3));
}
public int CalculatePoints()
{
int score = 0;
foreach (var turns in throwList)
{
score = score + turns.GetScore();
}
return score;
}
public void PrintTurns()
{
Console.WriteLine("Stats for player: {0}", name);
Console.WriteLine("----------------------------------------------");
foreach (var turns in throwList)
{
Console.WriteLine(turns);
}
Console.WriteLine("----------------------------------------------");
Console.WriteLine("Total score for player: {1} {0}\n", CalculatePoints(), name);
Console.Write("\nWe have a winner!\n\n\n");
}
public override string ToString()
{
return name;
}
}
class Turns//Klassen Turns
{
private int throwOne;
private int throwTwo;
private int throwThree;
public Turns(int throw1, int throw2, int throw3)
{
throwOne = throw1;
throwTwo = throw2;
throwThree = throw3;
}
public int GetScore()
{
int totalt = throwOne + throwTwo + throwThree;
return totalt;
}
public override string ToString()
{
return string.Format("Dart one: {0}, Dart two: {1}, Dart three: {2} ", throwOne, throwTwo, throwThree);
}
}
}