Я пытаюсь сделать игру в кости, но у меня проблемы с моими переменными в кости и отслеживание оценки для текущего раунда.Как заставить эту переменную работать на C#?
В принципе, есть четыре кости, а круглый счет - общее количество добавленных костей (у вас есть определенное количество ререйлов за раунд).
Но когда я пытаюсь использовать игру, круглый балл показывает только одно число умирающих, в зависимости от того, что последний раз был свернут (щелкнул).
Вот мой код:
namespace DiceGame
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
int die1;
int die2;
int die3;
int die4;
int rollsRemaining = 6;
int scoreRound;
int scoreTotal;
int numberRound;
Random random;
Random rnd = new Random();
public MainWindow()
{
InitializeComponent();
Random random = new Random();
int die1 = random.Next(1, 7);
int die2 = random.Next(1, 7);
int die3 = random.Next(1, 7);
int die4 = random.Next(1, 7);
dieOne.Content = die1;
dieTwo.Content = die2;
dieThree.Content = die3;
dieFour.Content = die4;
int scoreRound = die1 + die2 + die3 + die4;
roundScore.Text = "Round Score: " + scoreRound;
}
private void dieOne_Click(object sender, RoutedEventArgs e)
{
Random random = new Random();
if (rollsRemaining != 0)
{
int die1 = random.Next(1, 7);
dieOne.Content = die1;
rollsRemaining = rollsRemaining - 1;
string string1 = rollsRemaining.ToString();
rollsLeft.Text = "Rolls Left: " + string1;
roundScore.Text = "Round Score: " + (die1 + die2 + die3 +die4);
}
else
{ }
}
private void dieTwo_Click(object sender, RoutedEventArgs e)
{
Random random = new Random();
if (rollsRemaining != 0)
{
int die2 = random.Next(1, 7);
dieTwo.Content = die2;
rollsRemaining = rollsRemaining - 1;
string string1 = rollsRemaining.ToString();
rollsLeft.Text = "Rolls Left: " + string1;
roundScore.Text = "Round Score: " + (die1 + die2 + die3 + die4);
}
else
{ }
}
private void dieThree_Click(object sender, RoutedEventArgs e)
{
Random random = new Random();
if (rollsRemaining != 0)
{
int die3 = random.Next(1, 7);
dieThree.Content = die3;
rollsRemaining = rollsRemaining - 1;
string string1 = rollsRemaining.ToString();
rollsLeft.Text = "Rolls Left: " + string1;
roundScore.Text = "Round Score: " + (die1 + die2 + die3 + die4);
}
else
{ }
}
private void dieFour_Click(object sender, RoutedEventArgs e)
{
Random random = new Random();
if (rollsRemaining != 0)
{
int die4 = random.Next(1, 7);
dieFour.Content = die4;
rollsRemaining = rollsRemaining - 1;
string string1 = rollsRemaining.ToString();
rollsLeft.Text = "Rolls Left: " + string1;
roundScore.Text = "Round Score: " + (die1 + die2 + die3 + die4);
}
else
{ }
}
private void newRound_Click(object sender, RoutedEventArgs e)
{
scoreTotal = scoreTotal + scoreRound;
totalScore.Text = "Total Score: " + scoreTotal;
rollsRemaining = 6;
rollsLeft.Text = "Rolls Left: " + rollsRemaining;
scoreRound = 0;
roundScore.Text = "Round Score: " + scoreRound;
Random random = new Random();
int die1 = random.Next(1, 7);
int die2 = random.Next(1, 7);
int die3 = random.Next(1, 7);
int die4 = random.Next(1, 7);
dieOne.Content = die1;
dieTwo.Content = die2;
dieThree.Content = die3;
dieFour.Content = die4;
}
}
}
Благодарим Вас за предоставление кода; но это слишком много. Вам нужно использовать отладчик, чтобы сузить свой вопрос, чтобы он более конкретный, чем «что не так с этим кодом?» – BradleyDotNET
Просто небольшое предложение - вы должны сделать только один экземпляр «Случайный». – Enigmativity