Visual_Basic 板


LINE

※ 引述《xtimer ()》之铭言: : Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click : x = x + 1 : Button1.Enabled = False : If x Mod 2 = 1 Then : Button1.Text = "O" : Else : Button1.Text = "X" : End If : End Sub : 分别为Button1~9 : 可是要怎麽判别 : 147 258 369 123 456 789 159 357的text相同 因为已经有Button1~Button9,我想可以宣告阵列 Dim a(8) as Button a(0) = Button1 a(1) = Button2 ... a(8) = Button9 每个ButtonX的Click动作,设定 o x 之後要做同样的判断动作, 要写个函式让9个ButtonX_Click都呼叫它,其中是 针对阵列 a 处理三纵行,三横列,与交叉线 For i = 0 to 8 If a(i) \ 3 = 0 Then '第一列 ... ElseIf a(i) Mod 3 = 0 Then '第一行 ... ElseIf ... End If Next 不过这样写也蛮多的. 後来,觉得也许可以改成这样,直接宣告八个阵列纪录八条判断线 Dim a(2) as Button '第一列 a(0) = Button1 a(1) = Button2 a(3) = Button3 Dim b(2) as Button '第二列 b(0) = Button4 b(1) = Button5 b(3) = Button6 ... Dim h(2) as Button '右上-左下斜线 h(0) = Button3 h(1) = Button5 h(2) = Button7 然後用一个函式,要接受以上八个阵列其中一种,能够判断答案 Function judge(ByVal a()) As Boolean Dim result As Boolean refult = (a(0).Text = a(1).Text And a(1).Text = a(2).Text) Return result End Function 在Button{1..9}_Click设定 ox 之後要写 If judge(a) = True Then Console.WriteLine("获胜方: " & a(0).Text) 'judge(a)判断有没有赢,a(0)就会纪录其符号 '这部份看你要怎麽显示答案,自己修改为自己的情况 ElseIf judge(b) = True Then ... End If 这八个判断嫌太长,也可以将阵列 a 到 h 收在一个阵列中,就可以用回圈处理. Dim t(7) As Button() t(0) = a t(1) = b ... t(7) = h For i = 0 To 7 If judge(t(i)) = True Then Label10.Text = "获胜方" & t(i)(0).Text & ",游戏结束" End If Next 判断与结束游戏部份,是九个按钮共用的动作,可以抽出来写成一个函式. 想睡时,没办法直接想出最有效率的程式或程式写法,真抱歉. --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.160.211.45 ※ 编辑: yauhh 来自: 218.160.211.45 (05/17 02:26)
1F:推 xtimer:阿哩...看了两个小时....还是看不懂= = 05/17 06:43
2F:→ xtimer:好复杂~@@ 05/17 06:43
3F:→ yauhh:哦? 我以为把一个按钮物件指定给按钮变数的思路很简单... 05/17 11:06
4F:→ yauhh:或许我该再检讨一下解说方式 05/17 11:07







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP