数当てゲームを作成中です
数字当てゲームをvisual stuio, C#で作成しています。
UIをまず作成してユーザーがマウスのみで入力できるようにしたいと思っています。
4桁のランダム数とユーザー入力数を4桁で統一したいと思っていますが
現在ユーザーは4桁以上の入力ができてしまっています。
プログラミング初心者ですが
どなたかご教示お願いいたします。
現在は下記のコードとボタンクリック時のコードのみです。
該当のソースコード
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Text; using System.Linq; using System.Reflection.Emit; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace game { public partial class Form1 : Form { public Form1() { InitializeComponent(); } string InputNum = ""; private void Form1_Load(object sender, EventArgs e) { //users cant type any input (read only) textBox1.ReadOnly = true; //textBox1.MaxLength = 4; // int MaxLength = 4; // Create random numbers and show in label for testing var random = new Random(); var num = random.Next(1000, 10000); testRandom.Text = num.ToString(); //separate/take each random number as one (test) string str = num.ToString(); char n1 = str[0]; char n2 = str[1]; char n3 = str[2]; char n4 = str[3]; label2.Text = n4.ToString(); }
試したこと
- MaxLengthを使用したり、プロパティのMaxLengthの数値を変更してみましたが
特に何もできませんでした - for も試して見ましたが演算子はintとstringで適用できませんとエラーメッセージが出てしまいました
補足情報(FW/ツールのバージョンなど)
携帯で撮った画像で申し訳ありません。
こちらの画像は実際に作成したUIです。
右上の4桁の数字はランダムでちゃんと生成されているかの確認用で
下の小さいボックス内に3とありますがそれはランダムの桁を抜き出せるかのチェック用で作成しましたので
本当は表示しません。
入力値を4桁に制限する方法を教えていただきたいです
数字当てゲームをvisual stuio, C#で作成しています。
UIをまず作成してユーザーがマウスのみで入力できるようにしたいと思っています。
4桁のランダム数とユーザー入力数を4桁で統一したいと思っていますが
現在ユーザーは4桁以上の入力ができてしまっています。
プログラミング初心者ですが
どなたかご教示お願いいたします。
該当のソースコード
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Text; using System.Linq; using System.Reflection.Emit; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace game { public partial class Form1 : Form { public Form1() { InitializeComponent(); } string InputNum = ""; private void Form1_Load(object sender, EventArgs e) { //users cant type any input (read only) textBox1.ReadOnly = true; //textBox1.Font = new Font(textBox1.Font.FontFamily, 25); //textBox1.TextAlign = ContentAlignment.MiddleCenter; //textBox1.MaxLength = 4; // int MaxLength = 4; // Create random numbers and show in label for testing var random = new Random(); var num = random.Next(1000, 10000); testRandom.Text = num.ToString(); //separate/take each random number as one string str = num.ToString(); char n1 = str[0]; char n2 = str[1]; char n3 = str[2]; char n4 = str[3]; label2.Text = n4.ToString(); } private void btn1_Click(object sender, EventArgs e) { this.textBox1.AutoSize = true; this.textBox1.Text = "1"; this.textBox1.Font = new System.Drawing.Font("Arial", 25, FontStyle.Regular); InputNum += textBox1.Text; textBox1.Text = InputNum; } private void btn2_Click(object sender, EventArgs e) { this.textBox1.AutoSize = true; this.textBox1.Text = "2"; this.textBox1.Font = new System.Drawing.Font("Arial", 25, FontStyle.Regular); InputNum += textBox1.Text; textBox1.Text = InputNum; } private void btn3_Click(object sender, EventArgs e) { this.textBox1.AutoSize = true; this.textBox1.Text = "3"; this.textBox1.Font = new System.Drawing.Font("Arial", 25, FontStyle.Regular); InputNum += textBox1.Text; textBox1.Text = InputNum; } private void btn4_Click(object sender, EventArgs e) { this.textBox1.AutoSize = true; this.textBox1.Text = "4"; this.textBox1.Font = new System.Drawing.Font("Arial", 25, FontStyle.Regular); InputNum += textBox1.Text; textBox1.Text = InputNum; } private void btn5_Click(object sender, EventArgs e) { this.textBox1.AutoSize = true; this.textBox1.Text = "5"; this.textBox1.Font = new System.Drawing.Font("Arial", 25, FontStyle.Regular); InputNum += textBox1.Text; textBox1.Text = InputNum; } private void btn6_Click(object sender, EventArgs e) { this.textBox1.AutoSize = true; this.textBox1.Text = "6"; this.textBox1.Font = new System.Drawing.Font("Arial", 25, FontStyle.Regular); InputNum += textBox1.Text; textBox1.Text = InputNum; } private void btn7_Click(object sender, EventArgs e) { this.textBox1.AutoSize = true; this.textBox1.Text = "7"; this.textBox1.Font = new System.Drawing.Font("Arial", 25, FontStyle.Regular); InputNum += textBox1.Text; textBox1.Text = InputNum; } private void btn8_Click(object sender, EventArgs e) { this.textBox1.AutoSize = true; this.textBox1.Text = "8"; this.textBox1.Font = new System.Drawing.Font("Arial", 25, FontStyle.Regular); InputNum += textBox1.Text; textBox1.Text = InputNum; } private void btn9_Click(object sender, EventArgs e) { this.textBox1.AutoSize = true; this.textBox1.Text = "9"; this.textBox1.Font = new System.Drawing.Font("Arial", 25, FontStyle.Regular); InputNum += textBox1.Text; textBox1.Text = InputNum; } private void btn0_Click(object sender, EventArgs e) { this.textBox1.AutoSize = true; this.textBox1.Text = "0"; this.textBox1.Font = new System.Drawing.Font("Arial", 25, FontStyle.Regular); InputNum += textBox1.Text; textBox1.Text = InputNum; } private void btnClear_Click(object sender, EventArgs e) { InputNum = ""; textBox1.ResetText(); } private void btnEnter_Click(object sender, EventArgs e) { } } }
試したこと
- MaxLengthを使用したり、プロパティのMaxLengthの数値を変更してみましたが
特に何もできませんでした - for も試して見ましたが演算子はintとstringで適用できませんとエラーメッセージが出てしまいました
補足情報(FW/ツールのバージョンなど)
携帯で撮った画像で申し訳ありません。
こちらの画像は実際に作成したUIです。
右上の4桁の数字はランダムでちゃんと生成されているかの確認用で
下の小さいボックス内に3とありますがそれはランダムの桁を抜き出せるかのチェック用で作成しましたので
本当は表示しません。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。