一个翻纸牌的游戏

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. namespace zhipai
  9. {
  10.     public partial class Form1 : Form
  11.     {
  12.         MyButton[,] mybtns = new MyButton[8, 8];
  13.         public Form1()
  14.         {
  15.             InitializeComponent();
  16.         }
  17.         private void Form1_Load(object sender, EventArgs e)
  18.         {
  19.             this.Controls.Add(panel1);
  20.         }
  21.         private void button1_Click(object sender, EventArgs e)
  22.         {
  23.                 for (int i = 0; i < 8; i++)
  24.                 {
  25.                     for (int j = 0; j < 8; j++)
  26.                     {
  27.                         MyButton btn = new MyButton();
  28.                         btn.BackColor = Color.Red;
  29.                         btn.Left = i * panel1.Width / 8;
  30.                         btn.Top = j * panel1.Height / 8;
  31.                         btn.Width = panel1.Width / 8;
  32.                         btn.Height = panel1.Height / 8;
  33.                         btn.x = i;
  34.                         btn.y = j;
  35.                         mybtns[i, j] = btn;
  36.                         mybtns[i,j].Click+=new EventHandler(changecolor1);
  37.                         this.panel1.Controls.Add(mybtns[i, j]);  //往容器里面添加按钮
  38.                     }
  39.                 }
  40.                 this.Refresh();
  41.         }
  42.         private void panel1_Paint(object sender, PaintEventArgs e)
  43.         {
  44.         }
  45.         private void  changecolor1(object sender, EventArgs e)
  46.         {
  47.             MyButton chbtn =(MyButton) sender;
  48.            chbtn.BackColor = Color.Yellow;
  49.            int a_i = chbtn.x;
  50.            int a_j = chbtn.y;
  51.            changecolor2(a_i-1,a_j);  //左边
  52.            changecolor2(a_i+1,a_j);  //右边
  53.            changecolor2(a_i,a_j-1);  //上面
  54.            changecolor2(a_i,a_j+1);  //下面
  55.          }
  56.         
  57.         private void changecolor2(int i,int j)
  58.         {
  59.             if (i>= 0 && i < 8 && j>= 0 && j < 8)
  60.             {
  61.                 if ((Color)mybtns[i, j].BackColor == Color.Yellow)
  62.                 {
  63.                     mybtns[i, j].BackColor = Color.Red;
  64.                 }
  65.                 else
  66.                 {
  67.                     mybtns[i, j].BackColor = Color.Yellow;
  68.                 }
  69.             }
  70.         }
  71.         class MyButton : Button
  72.         {
  73.             public int x;
  74.             public int y;
  75.         }
  76.     }
  77. }
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值