發信人: elsana.bbs@cis.nctu.edu.tw (沙鷗) 日期: 25 Jan 2000 08:45:28 GMT 標題: Re: 如何用VB6寫井字遊戲的判斷式??? 信群: tw.bbs.comp.language 看板: programming 來源: <3YZ98f$wng@bbs.cis.nctu.edu.tw>:24656, h36.s247.ts30.hinet.net 組織: 交大資科_BBS ==> 在 DISKK.bbs@bbs.ntu.edu.tw (沉睡中...) 的文章中提到: > ==> gaaay (%Gay2Gay%) 提到: > > 請問各位大德... > > 如何用vb寫出井字遊戲的輸贏判斷程式 > > 用label的控制項r及副程式 > > 再造之恩銘感五內 > 跟你說一下.. > 我是用二進位判斷的..有些VB網頁是用IF一個個判斷..但太冗長 > 總共有9個區塊 > XXX > XXX > XXX > 假如其中有下子的話 > 就變成(比喻一下) > 100 > 001 > 110 > 其中~圈和叉的儲存位置是分開的 > 例如上面的位址是圈的話..就存成 O="100001110" 要存成字串 > 叉也存一個變數裡..例如 X="011110001"(假設) > 把字串轉成十進位值..自己寫函數..一個FOR一個IF一個MID就可以了 > 然後再把勝利的排列組合存入變數..跟圈叉做比對 > 111 > 000 > 000 這就是其一的勝利條件..把"111000000"轉成10進位值..自己去寫函數 > 把兩個十進位值用AND做比對..就可以知道是否贏啦! > (寫的很差..我不知道要怎麼說明..如果找到程式碼在PO上來好了.. > 但很像被我丟了!)(還有..不要想丟作業上叫人幫你寫..是不可能的) 這個方法不錯....比我剛學VB時用的方法好多了.... 我是用陣列儲存兩個玩家的資料 123 456 789 然後再一個一個比較.... If x(0) + x(1) + x(2) = 3 Or x(3) + x(4) + x(5) = 3 Or x(6) + x(7) + x(8) = 3 Or x(0) + x(3) + x(6) = 3 Or x(1) + x(4) + x(7) = 3 Or x(2) + x(5) + x(8) = 3 Or x(0) + x(4) + x(8) = 3 Or x(2) + x(4) + x(6) = 3 Then Print "○贏了" Else If y(0) + y(1) + y(2) = 3 Or y(3) + y(4) + y(5) = 3 Or y(6) + y(7) + y(8) = 3 Or y(0) + y(3) + y(6) = 3 Or y(1) + y(4) + y(7) = 3 Or y(2) + y(5) + y(8) = 3 Or y(0) + y(4) + y(8) = 3 Or y(2) + y(4) + y(6) = 3 Then Print "×贏了" Else If p(0) >= 1 And p(1) >= 1 And p(2) >= 1 And p(3) >= 1 And p(4) >= 1 And p(5) >= 1 And p(6) >= 1 And p(7) >= 1 And p(8) >= 1 Then Print "平手" End If End If End If 很陽春.... -- * Origin: ★ 交通大學資訊科學系 BBS ★ .