Hller p med en uppgift dr jag ska skapa ett dartspel. Instruktionerna r ganska simpla:
Anvndarna fyller i antalet anvndare och namn >
3 kast per spelare varav 20 p som max per kast >
Frst till 301 p vinner.
Problemet jag har r att totalen som rknas ut i min while loop verkar vara baserat p samtliga kast frn alla spelare, jag vill att while loopen ska avbrytas nr en av dessa spelare fr 301 p. Vad r det som r fel i min kod?
Frvrigt s r jag lngt frn frdig med uppgiften utan det r hr jag fastnat just nu.
Jag r infrstdd med att jag inte kan f hjlp med en frdig kod och det vill jag heller inte ha, utan bara vgledning i var felet ligger s kanske jag kan klura ut det sjlv. Shr ser min kod ut:
Anvndarna fyller i antalet anvndare och namn >
3 kast per spelare varav 20 p som max per kast >
Frst till 301 p vinner.
Problemet jag har r att totalen som rknas ut i min while loop verkar vara baserat p samtliga kast frn alla spelare, jag vill att while loopen ska avbrytas nr en av dessa spelare fr 301 p. Vad r det som r fel i min kod?
Frvrigt s r jag lngt frn frdig med uppgiften utan det r hr jag fastnat just nu.
Jag r infrstdd med att jag inte kan f hjlp med en frdig kod och det vill jag heller inte ha, utan bara vgledning i var felet ligger s kanske jag kan klura ut det sjlv. Shr ser min kod ut:
Kod:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Dart { class Program { static void Main(string[] args) { Game My_Game = new Game(); My_Game.Playgame(); Console.Write("Press any key to continue . . ."); Console.ReadKey(true); } } } { class Game { private List<Player> playerlist = new List<Player>(); private List<int> total_Score = new List<int>(); public void Playgame() { int turn1; int turn2; int turn3; Console.WriteLine("Welcome to the awesome Dart game !"); Console.WriteLine("\nThe rules for this game are simple. Each player gets 3 darts to throw per round. \nFor every dart thrown you can get 0-20 points. First one to 301 points wins ! "); Console.WriteLine("\nPress Enter key to begin . . .\n"); Console.ReadKey(); Console.WriteLine("How many players are you ?"); int numberofPlayers = Convert.ToInt32(Console.ReadLine()); for (int i = 0; i < numberofPlayers; i++) { Console.WriteLine("Enter player name : "); playerlist.Add(new Player(Console.ReadLine())); } int totalScore = 0; while (totalScore <= 301) { foreach (var player in playerlist) { Console.WriteLine("Enter player score for {0} on turn one : ", player); turn1 = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Enter player score for {0} on turn two : ", player); turn2 = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Enter player score for {0} on turn three : ", player); turn3 = Convert.ToInt32(Console.ReadLine()); player.addTurn(turn1, turn2, turn3); totalScore = turn1 + turn2 + turn3; total_Score.Add(totalScore); totalScore = total_Score.Sum(score => Convert.ToInt32(score)); Console.WriteLine("----------------------------------------"); } } foreach (var player in playerlist) { player.Print_Turns(); } } } } { class Player { private string PlayerName; private List<Turns> playerturns = new List<Turns>(); public Player(string _playername) { PlayerName = _playername; } public void addTurn(int firstTurn, int secondTurn, int thirdTurn) { playerturns.Add(new Turns(firstTurn, secondTurn, thirdTurn)); } public int total_points() { int total = 0; foreach (var points in playerturns) { total = total + points.Get_Score(); } return total; } public void Print_Turns() { Console.WriteLine("\nPlayerstatistics for {0} : ", PlayerName); Console.WriteLine("----------------------------------------"); foreach (var turn in playerturns) { Console.WriteLine(turn); } Console.WriteLine("The total is : {0}", total_points()); } public override string ToString() { return string.Format(PlayerName); } } } { 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 + turnTwo + turnThree; return total; } public override string ToString() { return string.Format("First throw was : {0} points, Second throw was : {1} points , Third throw was : {2} points .", turnOne, turnTwo, turnThree); } } }