回 帖 发 新 帖 刷新版面

主题:[原创]双人藏猫猫游戏

DECLARE SUB ditu (t%, t1%, w%, w1%)
DECLARE SUB ankey (q1, q2, key$)
DECLARE SUB ankey1 (v1, v2, key1$)
SCREEN 12
DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
DATA 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
DATA 1,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1
DATA 1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1
DATA 1,0,1,0,1,1,1,1,1,1,1,1,1,0,0,1,0,1,0,1
DATA 1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1
DATA 1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1
DATA 1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1
DATA 1,0,1,0,1,0,0,1,1,1,1,1,1,1,1,1,0,1,0,1
DATA 1,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1
DATA 1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,0,1,0,1
DATA 1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,1
DATA 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
OPTION BASE 1
DIM SHARED shu%(20, 14), p1(110), p2(110)
LINE (0, 0)-(27, 27), 0, BF
CIRCLE (14, 14), 13, 14
PAINT (14, 14), 14
CIRCLE (8, 9), 4, 0, 0, 3.14
CIRCLE (19, 9), 4, 0, 0, 3.14
CIRCLE (14, 21), 3, 0, 3.14, 0
GET (0, 0)-(26, 26), p1
LINE (0, 0)-(27, 27), 0, BF
CIRCLE (14, 14), 13, 4
PAINT (14, 14), 4
CIRCLE (8, 9), 4, 0, 0, 3.14
CIRCLE (19, 9), 4, 0, 0, 3.14
CIRCLE (14, 21), 3, 0, 3.14, 0
GET (0, 0)-(26, 26), p2
LINE (0, 0)-(27, 27), 0, BF
'+++++++++++++++++++++++++++++++++++++++++++++++
FOR i = 1 TO 14
FOR j = 1 TO 20
  READ ditus
  shu%(j, i) = ditus
NEXT j, i
'''''''''''''''''''''''''gao
COLOR 14
LOCATE 8, 10
PRINT "Zhe li wo yao gan xie wo de lao shi Zhou Qing"
PRINT TAB(10); "Zhe shi yi ge shuang ren you xi."
PRINT TAB(10); "Qu zhao ta. "
PRINT TAB(10); "Ru guo ni ren wei ta zai na qing an jian"
PRINT TAB(10); "SPACE or ENTER."
PRINT TAB(10); "Ni zhao dui fang you 4 ci ji hui."
PRINT TAB(10); "Ni ke yi bu yong he dui fang huan an jian."
PRINT TAB(10); "Jiu ke yi shi xian ni zhao ta huo ta zhao ni."
PRINT TAB(10); "Zai huo GOOD huo si qu 4 ci ji hui cheng xu"
PRINT TAB(10); "Hui zi dong huan jian."
PRINT TAB(10); "use,w,a,s,d,up,down,left,right,enter,space,esc"
PRINT TAB(10); "Zai GOOD huo lost 4 ci huo bian hong lian"
PRINT TAB(10); "Di yi ci an de shi kai shi jian!!"
PRINT TAB(60); "IGDX V2.0"
PRINT TAB(60); "8/25/2005"
DO: LOOP UNTIL INKEY$ <> ""
CLS
'-----------------------------
FOR i = 1 TO 14
FOR j = 1 TO 20
  IF shu%(j, i) = 1 THEN
    CALL ditu(j * 28, i * 28, j * 28 + 28, i * 28 + 28)
  END IF
NEXT j, i
'+++++++++++++++++++++++++++++++++++++++++
DIM SHARED m1, m2
'pp1+++++++++++
q1 = 9: q2 = 7
m1 = q1: m2 = q2
'pp2+++++++++++++++++++++++++++++++++++++
DIM SHARED v1, v2
v1 = 9: v2 = 7
DIM SHARED p, n 'anjian zhuan huan
p = 1
'=============================================
PUT (v1 * 28, v2 * 28), p2
DO: LOOP UNTIL INKEY$ <> ""
LINE (v1 * 28, v2 * 28)-(v1 * 28 + 28, v2 * 28 + 28), 0, BF
'best main-------------------------
DO
PUT (m1 * 28, m2 * 28), p1
'-----------------------------------------
IF n = 4 THEN
PUT (m1 * 28, m2 * 28), p1
q1 = 9: q2 = 7: m1 = q1: m2 = q2: v1 = 9: v2 = 7
PUT (v1 * 28, v2 * 28), p2
DO: LOOP UNTIL INKEY$ <> ""
LINE (v1 * 28, v2 * 28)-(v1 * 28 + 28, v2 * 28 + 28), 0, BF
PUT (m1 * 28, m2 * 28), p1
n = 0
p = -p
END IF
'-----------------------------------------
DO: k$ = INKEY$: LOOP UNTIL k$ <> ""
CALL ankey1(v1, v2, k$)
CALL ankey(q1, q2, k$)
PUT (q1 * 28, q2 * 28), p1
LOOP

回复列表 (共8个回复)

沙发

SUB ankey (q1, q2, key$)
IF p = 1 THEN
SELECT CASE key$
  CASE CHR$(0) + CHR$(75)
  IF shu%(q1 - 1, q2) <> 1 THEN m1 = q1: q1 = q1 - 1: m2 = q2 ELSE m1 = q1: m2 = q2
  CASE CHR$(0) + CHR$(77)
  IF shu%(q1 + 1, q2) <> 1 THEN m1 = q1: q1 = q1 + 1: m2 = q2 ELSE m1 = q1: m2 = q2
  CASE CHR$(0) + CHR$(72)
  IF shu%(q1, q2 - 1) <> 1 THEN m2 = q2: q2 = q2 - 1: m1 = q1 ELSE m2 = q2: m1 = q1
  CASE CHR$(0) + CHR$(80)
  IF shu%(q1, q2 + 1) <> 1 THEN m2 = q2: q2 = q2 + 1: m1 = q1 ELSE m2 = q2: m1 = q1
  CASE CHR$(13)
  IF q1 = v1 AND q2 = v2 THEN
     m1 = q1: m2 = q2: LOCATE 20, 10: PRINT "GOOD": n = 4
  ELSE
     m1 = q1: m2 = q2: LOCATE 20, 10: PRINT "LOST": n = n + 1
  END IF
  CASE CHR$(27)
  END
  CASE ELSE
  m1 = q1: m2 = q2
END SELECT
END IF
IF p = -1 THEN
SELECT CASE key$
  CASE "a"
    IF shu%(q1 - 1, q2) <> 1 THEN m1 = q1: q1 = q1 - 1: m2 = q2 ELSE m1 = q1: m2 = q2
  CASE "d"
    IF shu%(q1 + 1, q2) <> 1 THEN m1 = q1: q1 = q1 + 1: m2 = q2 ELSE m1 = q1: m2 = q2
  CASE "w"
    IF shu%(q1, q2 - 1) <> 1 THEN m2 = q2: q2 = q2 - 1: m1 = q1 ELSE m2 = q2: m1 = q1
  CASE "s"
    IF shu%(q1, q2 + 1) <> 1 THEN m2 = q2: q2 = q2 + 1: m1 = q1 ELSE m2 = q2: m1 = q1
  CASE " "
    IF q1 = v1 AND q2 = v2 THEN
     m1 = q1: m2 = q2: LOCATE 20, 10: PRINT "GOOD": n = 4
   ELSE
     m1 = q1: m2 = q2: LOCATE 20, 10: PRINT "LOST": n = n + 1
   END IF
  CASE CHR$(27)
    END
  CASE ELSE
    m1 = q1: m2 = q2
END SELECT
END IF
END SUB

SUB ankey1 (v1, v2, key$)
IF p = 1 THEN
SELECT CASE key$
  CASE "a"
  IF shu%(v1 - 1, v2) <> 1 THEN v1 = v1 - 1
  CASE "d"
  IF shu%(v1 + 1, v2) <> 1 THEN v1 = v1 + 1
  CASE "w"
  IF shu%(v1, v2 - 1) <> 1 THEN v2 = v2 - 1
  CASE "s"
  IF shu%(v1, v2 + 1) <> 1 THEN v2 = v2 + 1
  CASE CHR$(27)
  END
END SELECT
END IF
IF p = -1 THEN
SELECT CASE key$
  CASE CHR$(0) + CHR$(75)
  IF shu%(v1 - 1, v2) <> 1 THEN v1 = v1 - 1
  CASE CHR$(0) + CHR$(77)
  IF shu%(v1 + 1, v2) <> 1 THEN v1 = v1 + 1
  CASE CHR$(0) + CHR$(72)
  IF shu%(v1, v2 - 1) <> 1 THEN v2 = v2 - 1
  CASE CHR$(0) + CHR$(80)
  IF shu%(v1, v2 + 1) <> 1 THEN v2 = v2 + 1
  CASE CHR$(27)
  END
END SELECT
END IF
END SUB

SUB ditu (t%, t1%, w%, w1%)
LINE (t%, t1%)-(w%, w1%), 1, BF
LINE (t% + 1, t1% + 1)-(w% - 1, w1% - 1), 7
END SUB

板凳

不错,我拼音很差,没看懂怎么玩,

但对图形操作做得不错,值得学习.

3 楼

还望多多指点小弟

4 楼

我也很菜的

5 楼

qb论坛让我收益颇多

6 楼

其中一个人是隐身的
你看不到它
它也看不到自已
它是凭参照物动的
在红脸时按的是开始键
有4次找的机会
如果找到下来它找你显示GOOD
如果4次没找到也一样显示LOST
程序会自动更换谁找谁藏
如果你认为它在那按SPACE 或 ENTER

7 楼

真的很好玩

8 楼

[em11]

我来回复

您尚未登录,请登录后再回复。点此登录或注册