using System;
using System.Drawing;
using System.Windows.Forms;
public class MyForm : Form
{
Bitmap score, gu, chyoki, pa;
Button button0, button1, button2;
TextBox textBox1;
Random rand;
int you, my; //あなたと私の手
int y_c, m_c; //あなたと私の得点
public MyForm()
{
InitializeComponent();
rand = new Random(); //時間に応じて決まるシード値で初期化
Paint += new PaintEventHandler(MyHandler);
try
{
score = new Bitmap("C:\\DATA\\Test\\score.gif");
gu = new Bitmap("C:\\DATA\\Test\\jyanken0.gif");
chyoki= new Bitmap("C:\\DATA\\Test\\jyanken1.gif");
pa = new Bitmap("C:\\DATA\\Test\\jyanken2.gif");
}
catch
{
MessageBox.Show("画像ファイルが読めません!", "C:\\DATA\\Test\\");
return ;
}
y_c= 0;
m_c= 0;
}
private void InitializeComponent()
{
// button0
button0 = new Button();
button0.Parent = this;
button0.Location = new System.Drawing.Point(20, 240);
button0.Text = "グー";
button0.Click += new System.EventHandler(this.button0_Click);
// button1
button1 = new Button();
button1.Location = new System.Drawing.Point(20, 280);
button1.Text = "チョキ";
button1.Click += new System.EventHandler(this.button1_Click);
// button2
button2 = new Button();
button2.Location = new System.Drawing.Point(20, 320);
button2.Text = "パー";
button2.Click += new System.EventHandler(this.button2_Click);
// textBox1
textBox1 = new System.Windows.Forms.TextBox();
textBox1.Location = new System.Drawing.Point(20, 380);
textBox1.Size = new System.Drawing.Size(300, 40);
this.ClientSize = new System.Drawing.Size(400, 420);
this.Controls.Add(this.button0);
this.Controls.Add(this.button1);
this.Controls.Add(this.button2);
this.Controls.Add(this.textBox1);
this.Name = "MyForm";
this.ResumeLayout(false);
this.PerformLayout();
}
private void MyHandler(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
g.DrawImage(score, 20, 20);
switch(you)
{ case 0: g.DrawImage(gu, 110, 240);
break;
case 1: g.DrawImage(chyoki, 110, 240);
break;
case 2: g.DrawImage(pa, 110, 240);
break;
}
switch(my)
{ case 0: g.DrawImage(gu, 240, 240);
break;
case 1: g.DrawImage(chyoki, 240, 240);
break;
case 2: g.DrawImage(pa, 240, 240);
break;
}
}
private void button0_Click(object sender, EventArgs e)
{
you = 0;
my = Think();
Judge(you, my);
Invalidate();
}
private void button1_Click(object sender, EventArgs e)
{
you = 1;
my = Think();
Judge(you, my);
Invalidate();
}
private void button2_Click(object sender, EventArgs e)
{
you = 2;
my = Think();
Judge(you, my);
Invalidate();
}
private int Think()
{ return rand.Next(3);
}
// 勝敗の判定と得点の計算
private void Judge(int you, int my)
{ string str= "";
int w;
w = ((you+3)-my)%3;
switch(w)
{ case 1:
str= "私の勝ちです ";
switch(my)
{ case 0: //グーで勝ち
m_c += 5;
break;
case 1: //チョキで勝ち
m_c += 2;
break;
case 2: //パーで勝ち
m_c += 15;
y_c -= 5;
break;
}
break;
case 2:
str= "あなたの勝ちです ";
switch(you)
{ case 0: //グーで勝ち
y_c += 5;
break;
case 1: //チョキで勝ち
y_c += 2;
break;
case 2: //パーで勝ち
y_c += 15;
m_c -= 5;
break;
}
break;
default:
str= "あいこです ";
switch(my)
{ case 0: //グー
y_c += 3;
m_c += 3;
break;
case 1: //チョキ
y_c += 1;
m_c += 1;
break;
}
break;
}
str= str + "あなたの得点:" + y_c.ToString() + " わたしの得点:" + m_c.ToString();
textBox1.Text = str;
}
}
class form03
{
public static void Main()
{
MyForm mf = new MyForm();
Application.Run(mf);
}
}
|