作者neo5277 (I am an agent of chaos)
看板C_Sharp
标题[问题] 关於button的使用
时间Tue Sep 30 17:24:33 2014
因为需要写一个井字游戏
物件UI都已经拉好了,老师也教了会重复X,O的方法。
UI
http://ppt.cc/857k
程式码如下
----------------------
namespace 井字
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
foreach (Control G in this.Controls)
{
G.BackColor = Color.BlueViolet;
G.ForeColor = Color.Cyan;
G.Click += G_Click;
}
}
bool flag = true;
void G_Click(object sender, EventArgs e)
{
if (flag == true)
{
((Button)sender).Text = "X";
}
else
{
((Button)sender).Text = "O";
}
flag = !flag;
}
private void button12_Click(object sender, EventArgs e)
{
this.Close();
}
private void button11_Click(object sender, EventArgs e)
{
// this.G_Click
}
}
}
------------------------
button 11 预计是放 重启游戏
我的问题在於
现在运用 foreach 把9个 button打包成一起
然後变成一个G_Click
bool的判断我还懂因为是针对整块下去写的
哪假设今天我要做到如下的要求的话
1格子不能重复点击
2判断输赢
3和局
4 X|O 为赢家
-------------------------------
请问我该怎麽把她一个个作判别呢?
我觉得我个观念还是有点不懂 有劳各位前辈M(_ _)M
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 125.227.255.79
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1412069076.A.257.html
※ 编辑: neo5277 (125.227.255.79), 09/30/2014 17:27:47
1F:推 stu87616: 自己另外纪录一个bool阵列 把哪几个按钮的状态存着 09/30 17:58
2F:→ stu87616: 按下时就去看那格的资料 然後做反应 09/30 17:59
指定不能用阵列~~所以这个办法可能不行~~~
※ 编辑: neo5277 (125.227.255.79), 09/30/2014 18:14:59
3F:→ sosokill: 1.enable/disable 或判断text是否为空 2.click的时候去 09/30 18:23
4F:→ sosokill: 判断是其他btn的状态(同1) 3.同2 or 纪录以点击次数 09/30 18:25
5F:→ sosokill: 4.同2的时候判断 09/30 18:25
6F:推 stu87616: 怎麽会不能用阵列? 还是你不知如何判断是按到哪个button 09/30 22:27
7F:→ stu87616: 两招简单的 一个是一开始就做一个9格button阵列 09/30 22:28
8F:→ stu87616: 把1~9button填进去 这样在G_Click就可以用==找是哪个 09/30 22:28
9F:→ stu87616: 或是在button上动手脚,例如用Tag来存这个button的编号 09/30 22:29
可以用但是老师条件是 不能用阵列 不然这个模式用阵列比较方便
※ 编辑: neo5277 (1.162.69.11), 09/30/2014 23:04:34
10F:→ sosokill: btn上不是有btnID 照顺序排好 取得btn ID就可以判断啦 10/01 09:57
11F:推 rocson: BUTTON ID 由左而右由上而下 设为: 10/01 16:11
12F:→ rocson: bn11 bn12 bn13 10/01 16:11
13F:→ rocson: bn21 bn22 bn23 10/01 16:11
14F:→ rocson: bn31 bn32 bn33 10/01 16:12
15F:→ rocson: 然後 去判断 11-22-33 31-22-13 11-12-13 -21-22-23 等 10/01 16:14
16F:→ rocson: 看 有哪个 的 按钮 FLAG 都是相同 的胜(最简单,最笨的方法 10/01 16:15
17F:→ pkmu8426: 禁阵列 那用一堆变数 或list记状态也一样可行XDDDDD 10/03 11:40