Behöver hjälp C#
Jag försöker tillämpa några nya kunskaper i C# men det går inte min väg när jag kompilerar källkoden.
Programmet gör följande:
Man skriver in ett tal som ska vara antalet sidor på en tärning som ska slås. När man skrivit in talet och trycker på enter så ska antalet sidor skickas till en statisk variabel i en annan klass som håller reda på antalet sidor. Sedan ska två metoder anropas som tilldelar två tärningsobjekt två olika värden (slumpmässigt valda) beroende på hur många sidor tärningarna har. Sen ska programmet via konsolen mata värdet på dom två slaget.
Men problemet är att jag alltid får resultatet att dom två tärningarna får samma värde. Någon snäll själ som kan hjälpa mig med detta?
Här är källkoden:
using System;
class tärningar
{
static public int tärning_sidor;
public int tärning1_värde;
public int tärning2_värde;
System.Random rnd1 = new System.Random();
System.Random rnd2 = new System.Random();
public void tärning1()
{
tärning1_värde = rnd1.Next(1, (tärning_sidor + 1));
}
public void tärning2()
{
tärning2_värde = rnd2.Next(1, (tärning_sidor + 1));
}
}
class slagApp
{
public static void Main()
{
tärningar slå_objekt1 = new tärningar();
tärningar slå_objekt2 = new tärningar();
string läs_av_indata;
int värde_indata;
bool onoff = true;
while (onoff == true)
{
Console.WriteLine("Skiv in antalet sidor för tärningarna eller 0 för att avsluta programmet");
Console.Write("Skriv här: ");
läs_av_indata = Console.ReadLine();
if (int.TryParse(läs_av_indata, out värde_indata))
{
switch (värde_indata)
{
case 0:
{
Console.WriteLine("Tack för att du andvänder mina grymma program, tack");
Console.Read();
onoff = false;
break;
}
case 1:
{
Console.WriteLine("En fråga...hur kan en tärning ha en sida och vad skulle då detta program vara bra till?");
Console.Read();
break;
}
default:
{
tärningar.tärning_sidor = värde_indata;
slå_objekt1.tärning1();
slå_objekt2.tärning2();
Console.WriteLine("tärning sidor: {0}", tärningar.tärning_sidor);
Console.WriteLine("Tärning 1 blev: {0}\nTärning 2 blev: {1}", slå_objekt1.tärning1_värde, slå_objekt2.tärning2_värde);
break;
}
}
}
else
{
Console.WriteLine("Du har inte angett ett nummer!!!");
continue;
}
}
}
}