Dart-spelet
Hejsan. Jag är nästan klar med min uppgift, vi ska göra en dart-simulator.
Det jag sitter fast med är att jag vill att programmet slutar när någon uppnår en viss poäng, i detta fall 301 eller mer.
Såhär ser min kod ut. (Jag skulle uppskatta tips på hur jag ska tänka)
1. Man börjar med att lägga till alla spelare som ska vara med genom att ange deras namn.
2. Spelarna kastar i tur och ordning. När det är en spelares tur att kasta står hans namn på
skärmen.
3. Spelaren kastar 3 pilar som kan ge 0-20 poäng per pil. (max 60p per runda) Varje kast läggs
manuellt in i datorn förutom om Dator spelar.
4. Därefter är det nästa spelares tur.
5. Den spelare vars totala summa på alla kast är över 301 poäng först vinner. (Vi bryr oss inte
om att man måste gå jämt ut – se dock nedan för svårare version.)
6. När en spelare har vunnit ska hans namn visas på skärmen varefter alla hans pil-kast skrivs ut
för hur han kastade. Varje serie av 3 pil-kast ska visas så att man förstår hur varje omgång har
kastats.
7. Ni kan själva välja om rundan spelas klart när någon uppnått maxpoängen
class Program
{
static void Main(string[] args)
{
Spel mitt_spel = new Spel();
mitt_spel.Run_Spel();
}
}
class Spel
{
private List<Spelare> Spelare_list = new List<Spelare>();
public void AddSpelare(string namn)
{
Spelare person = new Spelare(namn);
Spelare_list.Add(person);
}
public void Run_Spel()
{
int runda = 0;
int antal_kast = 6;
Random slumptal = new Random();
int pil1;
int pil2;
int pil3;
//här körs porgramet
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("Välkommen till spelet");
Console.ResetColor();
{
Console.Write("\nAnge hur många sprlare");
int spelareAmount = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < spelareAmount; i++)
{
Console.Write("ange namn på spelaren: ");
string SpelarenName = Console.ReadLine();
AddSpelare(SpelarenName);
}
Console.WriteLine("\nBörja kasta!");
foreach (Spelare namn in Spelare_list)
do
{
runda++;
foreach (var spelare in Spelare_list)
{
pil1 = slumptal.Next(1, 301);
pil2 = slumptal.Next(1, 301);
pil3 = slumptal.Next(1, 301);
spelare.Add_turn(pil1, pil2, pil3);
}
} while (runda <= antal_kast);
foreach (var spelare in Spelare_list)
{
spelare.print_Score();
}
}
}
class Spelare
{
private string namn { get; set; }
private List<Turns> Turn_list = new List<Turns>();
public Spelare(string _namn)
{
namn = _namn;
}
public override string ToString()
{
return namn;
}
public void Add_turn(int tal1, int tal2, int tal3)
{
Turn_list.Add(new Turns(tal1, tal2, tal3));
}
public int Calculate_Total()
{
int total = 0;
foreach (var Turns in Turn_list)
{
total = total + Turns.Get_Score();
}
return total;
}
public void print_Score()
{
Console.WriteLine("\nStatistik av pilkastning för {0} :", namn);
Console.WriteLine(".................................");
foreach (var Turns in Turn_list)
{
Console.WriteLine(Turns);
}
Console.WriteLine("....................................");
Console.WriteLine("Totala pöängen frö spelarenär {0} pöäng", Calculate_Total());
}
class Turns
{
private int turnOne;
private int turnTwo;
private int turnThree;
public Turns(int _turnOne, int _turnTwo, int _turnThree)
{
turnOne = _turnOne;
turnTwo = _turnTwo;
turnThree = _turnThree;
}
public int Get_Score()
{
int total;
total = turnOne + turnThree + turnThree;
return total;
}
public override string ToString()
{
return string.Format("pilkast ett : {0}, pilkast två : {1}; pilkast tre : {2}", turnOne, turnThree, turnThree);
}
}
}
}
}