私はチュートリアルの質問で多くの問題を抱えていますが、私はC#の初心者であるので少しのガイダンスを得ることを望んでいましたが、それほど良くはありません。C#サイコロゲーム(Windowsアプリケーションフォーム)複数の問題
シナリオは次のとおりです。 2回のサイコロの回転を1000回シミュレートするプログラムを作成します。プログラムは、ダブル6の数をカウントし、1000のダイスロールの平均スコアを出力する必要があります。 1000ロールごとの結果を表示する必要はなく、100ロールごとに「シミュレーション実行」ボタンを1回押すだけで済みます。ボタンと出力には適切なラベルを付ける必要があります。
このシナリオでは1000回回転すると言われていますが、現時点では2回回転していますが、現在は10回回転しています。ここで私はこれまでに書いたコードです:シナリオで
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Dice_Roll_2___Advanced
{
public partial class Form1 : Form
{
int roll;
int countDouble;
int countRoll;
int count;
int count2;
int average;
int doubleSix;
public Form1()
{
InitializeComponent();
}
private void Dice_Roll_Click(object sender, EventArgs e)
{
Random rnd = new Random();
for(count = 0; count <1; count++)
{
for(count2 = 0; count2 < 10; count2++)
{
roll = rnd.Next (6) + 1;
MessageBox.Show(roll.ToString());
if(roll < 6)
{
countRoll++;
}
else if(roll == 6)
{
countDouble++;
}
}
}
}
private void Average_Click(object sender, EventArgs e)
{
average = (countRoll/10);
Average.Text = average.ToString();
}
private void Doubles_Click(object sender, EventArgs e)
{
doubleSix = countDouble;
Doubles.Text = doubleSix.ToString();
}
発行No.1の
、それは私が一度に出力するように100の番号を持っていると言います。現時点では10人しかいないので、10人をまとめて出力したいと考えています。現在、それは起こっていません。それは私に1つの番号を与え、私は次にOkをクリックし、それは私に次の番号を与えます。コード内のこの行は問題だとは思いますが、それを修正する方法は不明です。
MessageBox.Show(roll.ToString());
号2号
は平均がまったく動作しない、それは私に毎回0の値を与えます。書いた場合は私のコードでは、表示されます。
if(roll < 6)
{
countRoll++;
}
else if(roll == 6)
{
countDouble++;
}
は、ラベルに私が情報を送りたい: 平均=(/ 10 countRoll)。 Average.Text = average.ToString();
私はそれが多くの情報を知っていますが、どんな助けも大歓迎です。
平均=合計/カウント。あなたはロールの合計をカウントしていませんが、ランの数を10でダイビングします。ランの数は決して10を越えないので(0から9です)、9/10 = 0で終わります(なぜそれについて考えますか?あなたがすべきことは、Sum = Sum + Rollです。 avg = sum/10 –
ですから、sum = sum + rollと入力しました。平均=合計/ 10 Average.Text = average.ToString();プログラムを実行すると、それでも私に値0が与えられます。なぜどんなアイデア? –
私は今、平均を表示して問題を並べ替えることができました。 –