Lägga till datorspelare till Dartspelet
Hej
Jag håller på med dart-spelet som flera andra har postat om.
Hade missat att en npc/dator-player skulle vara med (trodde det var ett alternativ för högre betyg).
Är komplett nybörjare och behöver tips om hur jag ska lägga till datorn på enklast vis, gissar att datorn skall in under class Player?
(Använder Virtual Basic och gjorde classer ute till höger, om in klippningen nedan skulle bli helt galen)
namespace Dart_v4
{
class Game
{
private readonly List<Player> nameList = new List<Player>();
public void AddPlayer(string name)
{
Player players = new Player(name);
nameList.Add(players);
}
public void PlayGame()
{
int[] darts = new int[3];
bool hasWinner = false;
int numberPlayers = 0;
int totalScore = 0;
int winningScore = 65;
Console.WriteLine("\nWelcome to Dart by Winlöf!");
Console.Write("-------------------------------------");
Console.Write("\nHow many players are you? : ");
try
{
numberPlayers = int.Parse(Console.ReadLine());
}
catch (Exception)
{
Console.WriteLine("Only numbers");
throw;
}
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)
{
for (int i = 0; i < darts.Length; i++)
{
int dart = 0;
Console.WriteLine("\nIt is {0}'s turn. Type the score for dart number {1}, score between 0-20: ", player, i+1);
try
{
dart = int.Parse(Console.ReadLine());
if (player.checkDart(dart))
{
darts[i] = dart;
}
else
{
i--;
Console.WriteLine("Only numbers between 0-20");
}
}
catch (Exception)
{
i--;
Console.WriteLine("Only numbers between 0-20");
}
}
player.Add_turn(darts[0], darts[1], darts[2]);
totalScore = player.CalculatePoints();
if (totalScore >= winningScore)
{
hasWinner = true;
break;
}
player.PrintTurns();
}
}
while (!hasWinner);
Console.Write("\nWe have a winner!\n\n\n");
foreach (var player in nameList)
{
player.PrintTurns();
}
}
}
}
{
class Player
{
private string name { get; set; }
private List<Turns> dartList = new List<Turns>();
public Player(string _name)
{
name = _name;
}
public void Add_turn(int _dartOne, int _dartTwo, int _dartThree)
{
dartList.Add(new Turns(_dartOne, _dartTwo, _dartThree));
}
public bool checkDart(int dart)
{
return dart <= 20 && dart >= 0;
}
public int CalculatePoints()
{
int score = 0;
foreach (var turns in dartList)
{
score += turns.GetScore();
}
return score;
}
public void PrintTurns()
{
Console.WriteLine("Stats for player: {0}", name);
Console.WriteLine("----------------------------------------------");
foreach (var turns in dartList)
{
Console.WriteLine(turns);
}
Console.WriteLine("----------------------------------------------");
Console.WriteLine("Total score for player: {1} {0}\n", CalculatePoints(), name);
}
public override string ToString()
{
return name;
}
}
}
{
class Program
{
static void Main(string[] args)
{
var MyGame = new Game();
try
{
MyGame.PlayGame();
}
catch (Exception)
{
Main(args);
}
Console.WriteLine("Press any key continue..");
Console.ReadKey();
}
}
}
{
class Turns
{
private int dartOne;
private int dartTwo;
private int dartThree;
public Turns(int _dartOne, int _dartTwo, int _dartThree)
{
dartOne = _dartOne;
dartTwo = _dartTwo;
dartThree = _dartThree;
}
public int GetScore()
{
return dartOne + dartTwo + dartThree;
}
public override string ToString()
{
return string.Format("Dart one: {0}, Dart two: {1}, Dart three: {2} ", dartOne, dartTwo, dartThree);
}
}
}