易码技术论坛

 找回密码
 加入易码
搜索
查看: 630|回复: 2

[问题]五子棋判断胜负的算法

[复制链接]
发表于 2008-8-25 07:39:05 | 显示全部楼层 |阅读模式
想编一个能判胜负的五子棋游戏,可是判胜负的部分总是写不好,代码很繁琐,还总是有BUG:Q :Q
昨天看到o_o写的很简单的五子棋,判胜负的语句很简单,可我改成用数组时却不行!!
          ↑↑↑
          源码:
10 GRAPH:CLS:FOR X= 4 TO 148 STEP 8: FOR Y=4 TO 68 STEP 8: BOX X,Y,X+8,Y+8: NEXT:NEXT
20 A=1:X=76:Y=44 :B=0
30 X=X+160*(X<4)-160*(X>156):Y=Y+80*( Y<4 )-80*(Y>76)
40 BOX X-4,Y-4,X+4,Y+4,1,2:M=ASC(INKEY$):BOX X-4,Y-4,X+4,Y+4,1,2
50 Y=Y-8*(M=20)+8*(M=21):X=X+8*(M=22)-8*(M=23) :IF M=29 GOTO 10
60 IF M=13 AND PEEK(20*Y+(X-4)/8+2436)<>62 GOTO 100
70 IF M=31 AND B=1 THEN CIRCLE W,V,3,1,0 : LINE W-4,V,W+4,V : LINE W,V-4,W,V+4:A=(A=0) :B=0
80 IF M=27 THEN CLS:LOCATE 3,9:PRINT"退出":END
90 GOTO 30
100 CIRCLE X,Y,3,A,1:CIRCLE X,Y,2,1,A:W=X:V=Y:B=1
110 Z=65+62*A:K$(1)="白棋":K$(2)="黑棋":P=0:Q=0:R=0:S=0:FOR L=-32 TO 32 STEP +8
120 E=(PEEK(20*(Y+L)+(X+L-4)/8+2536)=Z):F=(PEEK(20*(Y-L)+(X+L-4)/8+2536)=Z)
130 G=(PEEK(20*Y+(X+L-4)/8+2536)=Z):H=(PEEK(20*(Y+L)+(X-4)/8+2536)=Z)
140 P=E*(P+E):Q=F*(Q+F):R=G*(R+G):S=H*(S+H)
150 IF P=5 OR Q=5 OR R=5 OR S=5 THEN CLS:LOCATE 3,6: PRINT K$(A+1);"胜啦!":END
160 NEXT:A=(A=0):GOTO 30

这是为什么啊!!!:Q
还有谁能写一段判断胜负的语句,语句不要太多啊,帮帮我啊

[[i] 本帖最后由 Amlo 于 2008-8-25 14:32 编辑 [/i]]
发表于 2008-8-25 09:31:52 | 显示全部楼层
LZ你禁用表情再发帖。。。
 楼主| 发表于 2008-8-27 07:27:50 | 显示全部楼层
此问题已解决..
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-20 21:59 , Processed in 0.009345 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表