Skriva till filler hjälp
Hej,
Jag behöver hjälp med koden eftersom jag behöver skriva spel resultat till en fil.txt men jag vet inte hur jag kan göra det.
Jag är student och jag skrev hela kod men jag har problem med den skriva spel resultat till filen.
Snälla hjälpa
Min kod :
using System;
using System.Collections.Generic;
namespace dartspel
{
class Program
{
static void Main(string[] args)
{
var MyGame = new Game(); //program startar
MyGame.PlayGame();
Console.WriteLine("tryck på valfri tangent för att fortsätta");
Console.ReadKey();
}
}
class Game //Klassen game har en lista med player-objekt.
//Denna klass har också en metod för att lägga till nya spelare (AddPlayer) och har en sträng som in-parameter som sätter namnet på spelaren.
//Metoden PlayGame där programmet körs och där man välkomnas till programmet och börjar skriva in spelare.
{
private List<Player> nameList = new List<Player>();
public void AddPlayer(string name)
{
Player players = new Player(name);
nameList.Add(players);
}
public void PlayGame()
{
int arrow1;
int arrow2;
int arrow3;
int total = 0;
int winner = 301;
Random slumptal = new Random();
Console.WriteLine("Välkommen till dart 301");
Console.WriteLine("Ange hur många ni är som spelar:");
int numberPlayers = int.Parse(Console.ReadLine());
for (int i = 0; i < numberPlayers; i++)
{
Console.WriteLine("Ange namnen på spelarna");
string playerName = Console.ReadLine();
AddPlayer(playerName);
}
do
{
foreach (var player in nameList)
{
Console.WriteLine("Det är {0}'s tur. Skriv in tre kast mellan 1-20", player);
arrow1 = int.Parse(Console.ReadLine());
if (arrow1 > 20 || arrow1 < 0)
{
Console.WriteLine("Ange endast ett tal mellan 1-20!");
--arrow1;
}
arrow2 = int.Parse(Console.ReadLine());
if (arrow2 > 20 || arrow2 < 0)
{
Console.WriteLine("Ange endast ett tal mellan 1-20!");
--arrow2;
}
arrow3 = int.Parse(Console.ReadLine());
if (arrow3 > 20 || arrow3 < 0)
{
Console.WriteLine("Ange endast ett tal mellan 1-20!");
--arrow3;
}
player.AddThrows(arrow1, arrow2, arrow3);
total = player.CalculatePoints();
}
}
while (total <= winner);
if (total >= winner)
{
Console.WriteLine("Vi har en vinanre!!\n");
}
foreach (var player in nameList)
{
player.PrintTurns();
}
}
class Player //Klassen player har en variabel för namn och en lista för turns.
{
private string name { get; set; }
private List<Turns> throwList = new List<Turns>();
public Player(string _name)
{
name = _name;
}
public void AddThrows(int kast1, int kast2, int kast3)
{
throwList.Add(new Turns(kast1, kast2, kast3));
}
public int CalculatePoints() //Denna metod loopar genom hela listan för objekten turns i listan för att få fram den totalla summan poäng som en spelare hittills har fått.
{
int score = 0;
foreach (var turns in throwList)
{
score = score + turns.GetScore();
}
return score;
}
public void PrintTurns()
{
Console.WriteLine("Statistik för spelare {0}", name);
Console.WriteLine("----------------------------------------------");
foreach (var turns in throwList)
{
Console.WriteLine(turns);
}
Console.WriteLine("----------------------------------------------");
Console.WriteLine("Totalpoängen för {1} {0}\n", CalculatePoints(), name);
}
public override string ToString()
{
return name;
}
}
class Turns //Denna klass innehåller inkapslade (privata) variabler/fält och metoder kopplat till en pilomgång.
{
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() //Denna metod returnerar den sammanlagda poängen för det objektet(det vill säga en pilomgång).
{
int totalt = throwOne + throwTwo + throwThree;
return totalt;
}
public override string ToString()
{
return string.Format("Kasst ett: {0}, Kasst två: {1}, Kasst tre {2} ", throwOne, throwTwo, throwThree);
}
}
}
}