2013-05-14 6 views
3

Je fais un jeu et j'ai besoin de changer le code ci-dessous afin d'ajouter 0.5 à la "playerScore ++" en cours d'exécution; et "computerScore ++;" respectivement, lorsque le résultat arrive à sortir dans un match nul. Donc, au lieu de rouler à nouveau, comme démontré ci-dessous, il va continuer à jouer. Je ne peux pas comprendre! Sera-ce simplement:Ajout de 0.5 au compteur en résultat d'un tirage?

playerScore += 0.5; 
computerScore += 0.5; 

Au lieu de la boîte de message apparaît?

J'espère que cela a du sens, désolé! Merci!

private void button5_Click_1(object sender, EventArgs e) 
     { 
      playerDice = new Dice(); 
      int playerDiceNo = playerDice.FaceOfDie; 
      MessageBox.Show("Your roll: " + playerDiceNo); 

      compDice = new Dice(); 
      int compDiceNo = compDice.FaceOfDie; 
      MessageBox.Show("Computers roll: " + compDiceNo); 
      if (compDiceNo == playerDiceNo) 
      { 
       MessageBox.Show("Draw - click Roll or Chance"); 
       button5.Enabled = true; 
       button1.Enabled = true; 
      } 

     } 
+0

Avez-vous essayé ce que vous proposez? –

+0

Vous n'avez pas montré la définition de 'playerScore'. Si elle est définie comme 'int', alors non, cela ne fonctionnera pas sans changer la définition. –

+0

Désolé, c'était public double playerScore = 0; public double computerScore = 0; – Bexolo

Répondre

2

Vous avez raison, la addition assignment operator (+=) vous donnera l'effet désiré. Essayez ceci:

if (compDiceNo == playerDiceNo) 
{ 
    computerScore += 0.5; 
    playerScore += 0.5; 
    button5.Enabled = true; 
    button1.Enabled = true; 
} 

Il est essentiellement un raccourci pour faire:

computerScore = computerScore + 0.5; 
playerScore = playerScore + 0.5; 
+0

Merci beaucoup, juste besoin de confirmation! – Bexolo

+0

@Bexolo Pas de problème, si c'était la bonne réponse s'il vous plaît cliquez sur la coche verte à côté d'elle. Bienvenue à SO! – mattytommo

Questions connexes