回 帖 发 新 帖 刷新版面

主题:[讨论]QB问题

谁告诉我些游戏???????????????????

回复列表 (共11个回复)

沙发

CLS
RANDOMIZE TIMER
w = 20: h = 20
DIM a(w + 1, h + 1)
CLS : SCREEN 0, 1:  WIDTH 40, 25
LOCATE 5, 13: PRINT "Welcome to Maze"
DO: LOOP WHILE INKEY$ = ""
CLS
FOR y = 1 TO h
FOR x = 1 TO w
a(x, y) = SGN(INT(RND * 6) - 5) + 1
IF a(x, y) = 1 THEN PRINT "0"; :  ELSE PRINT " ";
NEXT x
PRINT
NEXT y
a(5, 10) = 2
a(15, 15) = 3
a(12, 4) = -1
m = 5: n = 10
o = 15: p = 15
DO
CLS
IF k$ = CHR$(0) + "K" AND a(m - 1, n) <= 0 AND m > 1 THEN a(m - 1, n) = 2: a(m, n) = 0: m = m - 1
IF k$ = CHR$(0) + "M" AND a(m + 1, n) <= 0 AND m < w THEN a(m + 1, n) = 2: a(m, n) = 0: m = m + 1
IF k$ = CHR$(0) + "H" AND a(m, n - 1) <= 0 AND n > 1 THEN a(m, n - 1) = 2: a(m, n) = 0: n = n - 1
IF k$ = CHR$(0) + "P" AND a(m, n + 1) <= 0 AND n < h THEN a(m, n + 1) = 2: a(m, n) = 0: n = n + 1
IF m = 12 AND n = 4 THEN END
u = INT(RND * 4)
IF u = 0 AND a(o - 1, p) = 0 AND o > 1 THEN a(o - 1, p) = 3: a(o, p) = 0: o = o - 1
IF u = 1 AND a(o + 1, p) = 0 AND o < w THEN a(o + 1, p) = 3: a(o, p) = 0: o = o + 1
IF u = 2 AND a(o, p - 1) = 0 AND p > 1 THEN a(o, p - 1) = 3: a(o, p) = 0: p = p - 1
IF u = 3 AND a(o, p + 1) = 0 AND p < h THEN a(o, p + 1) = 3: a(o, p) = 0: p = p + 1
FOR y = 1 TO h
FOR x = 1 TO w
IF a(x, y) = 1 THEN COLOR 2: PRINT CHR$(5);
IF a(x, y) = 0 THEN PRINT " ";
IF a(x, y) = 2 THEN COLOR 7: PRINT CHR$(1);
IF a(x, y) = 3 THEN COLOR 5: PRINT CHR$(2);
IF a(x, y) = -1 THEN COLOR INT(RND * 15) + 16: PRINT CHR$(127);
NEXT x
PRINT
NEXT y
FOR dly = 1 TO 1000: NEXT dly
DO
k$ = INKEY$
LOOP UNTIL k$ <> ""
LOOP UNTIL k$ = CHR$(27)

板凳

DECLARE SUB changecolor (c!, t!)
DECLARE SUB win ()
DECLARE SUB lose ()
DIM SHARED circlecolor0, squarecolor0
CLS
SCREEN 12
bomb = 20
LOCATE 13, 30: PRINT "Loading..."
FOR i = 1 TO 1000000: NEXT i: CLS
squarecolor = 1: circlecolor = 1
LOCATE 1, 1: PRINT "bomb:"; bomb
LINE (270, 20)-(320, 70), squarecolor, BF
CIRCLE (300, 400), 30, circlecolor
PAINT (300, 400), circlecolor
DO
  FOR i = 1 TO 300000: NEXT i
  CALL changecolor(1, INT(RND * 15) + 1)
  d$ = INKEY$: d$ = UCASE$(d$)
  IF d$ >= "1" AND d$ <= "9" OR d$ >= "A" AND d$ <= "F" THEN
     f = INSTR("123456789ABCDEF", d$)
     CALL changecolor(2, f)
     LINE (270, 20)-(320, 70), squarecolor0, BF
     squarecolor = squarecolor0
  ELSEIF d$ = "K" THEN
     LOCATE 13, 10: PRINT "Square"; squarecolor; "VS circle"; circlecolor;
     IF squarecolor = circlecolor THEN
        PRINT "--> Success!"
        bomb = bomb + 3
        IF bomb >= 40 THEN CALL win
     ELSE
        PRINT "--> Fail!"
        bomb = bomb - 1
        IF bomb = 0 THEN CALL lose
     END IF
     k$ = INPUT$(1)
     LOCATE 13, 10: PRINT "                                                       "
     LOCATE 1, 1: PRINT "bomb:"; bomb
  END IF
  CIRCLE (300, 400), 30, circlecolor0
  PAINT (300, 400), circlecolor0
  circlecolor = circlecolor0
LOOP
END

SUB changecolor (c, t)
IF c = 1 THEN
   CIRCLE (300, 400), 30, 0
   PAINT (300, 400), 0
   circlecolor0 = t
ELSE
   LINE (270, 20)-(320, 70), 0, BF
   squarecolor0 = t
END IF
END SUB

SUB lose
    CLS
    LOCATE 5, 5: PRINT "You lose!"
    END
END SUB

SUB win
    CLS
    LOCATE 5, 5: PRINT "You win!"
    END
END SUB

3 楼

CLS
RANDOMIZE TIMER
SCREEN 12
1 INPUT "Input level:"; level
IF level < 1 OR level > 5 OR level <> INT(level) THEN LOCATE 1, 1: GOTO 1
CLS
COLOR 4: LOCATE 4, 35: PRINT "level"; level
SLEEP 5
CLS
LINE (100, 100)-(200, 250), 14, BF
LINE (275, 100)-(375, 250), 14, BF
LINE (450, 100)-(550, 250), 14, BF
s1 = INT(RND * 9) + 2: s2 = INT(RND * 3) + 1
COLOR 7: DIM s(3)
FOR i = 1 TO 3
    LOCATE 8, 13 + (i - 1) * 22
    IF i = s2 THEN PRINT " A ": s(i) = 1 ELSE PRINT s1: s(i) = s1
NEXT i
SLEEP 3
m = 0
CLS
DO
  LINE (100, 100)-(200, 250), 14, BF
  LINE (275, 100)-(375, 250), 14, BF
  LINE (450, 100)-(550, 250), 14, BF
  k1 = INT(RND * 3) + 1
2 k2 = INT(RND * 3) + 1
  IF k2 = k1 THEN 2
  FOR i = 1 TO 3
      IF i = k1 OR i = k2 THEN
         LINE (100 + (i - 1) * 175, 100)-(200 + (i - 1) * 175, 250), 4, BF
      END IF
  NEXT i
  SLEEP 1
  CLS
  LINE (100, 100)-(200, 250), 14, BF
  LINE (275, 100)-(375, 250), 14, BF
  LINE (450, 100)-(550, 250), 14, BF
  FOR i = 1 TO (6 - level) * 75000: NEXT i
  SWAP s(k1), s(k2)
  m = m + 1
LOOP UNTIL m = 5 + level * 2
CLS
INPUT "Input 'A' situation:"; s
f = 1
FOR i = 1 TO 3
    IF s(i) = 1 AND i = s THEN PRINT "Right!": f = 0: EXIT FOR
NEXT i
IF f THEN
   PRINT "Wrong!Right is";
   FOR i = 1 TO 3
       IF s(i) = 1 THEN PRINT i
   NEXT i
END IF
END

4 楼

2楼、3楼抄我的。

其实2、3楼的游戏都是我写的。

地址:
[url]http://www.programfan.com/club/post-244125.html[/url]
[url]http://www.programfan.com/club/post-232327.html[/url]

5 楼

抄袭成风,唉.

6 楼


http://www.programfan.com/club/post-244125.html
http://www.programfan.com/club/post-232327.html

7 楼

CLS
RANDOMIZE TIMER
w = 20: h = 20
DIM a(w + 1, h + 1)
CLS : SCREEN 0, 1:  WIDTH 40, 25
LOCATE 5, 13: PRINT "Welcome to Maze"
DO: LOOP WHILE INKEY$ = ""
CLS
FOR y = 1 TO h
FOR x = 1 TO w
a(x, y) = SGN(INT(RND * 6) - 5) + 1
IF a(x, y) = 1 THEN PRINT "0"; :  ELSE PRINT " ";
NEXT x
PRINT
NEXT y
a(5, 10) = 2
a(15, 15) = 3
a(12, 4) = -1
m = 5: n = 10
o = 15: p = 15
DO
CLS
IF k$ = CHR$(0) + "K" AND a(m - 1, n) <= 0 AND m > 1 THEN a(m - 1, n) = 2: a(m, n) = 0: m = m - 1
IF k$ = CHR$(0) + "M" AND a(m + 1, n) <= 0 AND m < w THEN a(m + 1, n) = 2: a(m, n) = 0: m = m + 1
IF k$ = CHR$(0) + "H" AND a(m, n - 1) <= 0 AND n > 1 THEN a(m, n - 1) = 2: a(m, n) = 0: n = n - 1
IF k$ = CHR$(0) + "P" AND a(m, n + 1) <= 0 AND n < h THEN a(m, n + 1) = 2: a(m, n) = 0: n = n + 1
IF m = 12 AND n = 4 THEN END
u = INT(RND * 4)
IF u = 0 AND a(o - 1, p) = 0 AND o > 1 THEN a(o - 1, p) = 3: a(o, p) = 0: o = o - 1
IF u = 1 AND a(o + 1, p) = 0 AND o < w THEN a(o + 1, p) = 3: a(o, p) = 0: o = o + 1
IF u = 2 AND a(o, p - 1) = 0 AND p > 1 THEN a(o, p - 1) = 3: a(o, p) = 0: p = p - 1
IF u = 3 AND a(o, p + 1) = 0 AND p < h THEN a(o, p + 1) = 3: a(o, p) = 0: p = p + 1
FOR y = 1 TO h
FOR x = 1 TO w
IF a(x, y) = 1 THEN COLOR 2: PRINT CHR$(5);
IF a(x, y) = 0 THEN PRINT " ";
IF a(x, y) = 2 THEN COLOR 7: PRINT CHR$(1);
IF a(x, y) = 3 THEN COLOR 5: PRINT CHR$(2);
IF a(x, y) = -1 THEN COLOR INT(RND * 15) + 16: PRINT CHR$(127);
NEXT x
PRINT
NEXT y
FOR dly = 1 TO 1000: NEXT dly
DO
k$ = INKEY$
LOOP UNTIL k$ <> ""
LOOP UNTIL k$ = CHR$(27)

8 楼

DECLARE SUB changecolor (c!, t!)
DECLARE SUB win ()
DECLARE SUB lose ()
DIM SHARED circlecolor0, squarecolor0
CLS
SCREEN 12
bomb = 20
LOCATE 13, 30: PRINT "Loading..."
FOR i = 1 TO 1000000: NEXT i: CLS
squarecolor = 1: circlecolor = 1
LOCATE 1, 1: PRINT "bomb:"; bomb
LINE (270, 20)-(320, 70), squarecolor, BF
CIRCLE (300, 400), 30, circlecolor
PAINT (300, 400), circlecolor
DO
  FOR i = 1 TO 300000: NEXT i
  CALL changecolor(1, INT(RND * 15) + 1)
  d$ = INKEY$: d$ = UCASE$(d$)
  IF d$ >= "1" AND d$ <= "9" OR d$ >= "A" AND d$ <= "F" THEN
     f = INSTR("123456789ABCDEF", d$)
     CALL changecolor(2, f)
     LINE (270, 20)-(320, 70), squarecolor0, BF
     squarecolor = squarecolor0
  ELSEIF d$ = "K" THEN
     LOCATE 13, 10: PRINT "Square"; squarecolor; "VS circle"; circlecolor;
     IF squarecolor = circlecolor THEN
        PRINT "--> Success!"
        bomb = bomb + 3
        IF bomb >= 40 THEN CALL win
     ELSE
        PRINT "--> Fail!"
        bomb = bomb - 1
        IF bomb = 0 THEN CALL lose
     END IF
     k$ = INPUT$(1)
     LOCATE 13, 10: PRINT "                                                       "
     LOCATE 1, 1: PRINT "bomb:"; bomb
  END IF
  CIRCLE (300, 400), 30, circlecolor0
  PAINT (300, 400), circlecolor0
  circlecolor = circlecolor0
LOOP
END

SUB changecolor (c, t)
IF c = 1 THEN
   CIRCLE (300, 400), 30, 0
   PAINT (300, 400), 0
   circlecolor0 = t
ELSE
   LINE (270, 20)-(320, 70), 0, BF
   squarecolor0 = t
END IF
END SUB

SUB lose
    CLS
    LOCATE 5, 5: PRINT "You lose!"
    END
END SUB

SUB win
    CLS
    LOCATE 5, 5: PRINT "You win!"
    END
END SUB

9 楼

CLS
RANDOMIZE TIMER
SCREEN 12
1 INPUT "Input level:"; level
IF level < 1 OR level > 5 OR level <> INT(level) THEN LOCATE 1, 1: GOTO 1
CLS
COLOR 4: LOCATE 4, 35: PRINT "level"; level
SLEEP 5
CLS
LINE (100, 100)-(200, 250), 14, BF
LINE (275, 100)-(375, 250), 14, BF
LINE (450, 100)-(550, 250), 14, BF
s1 = INT(RND * 9) + 2: s2 = INT(RND * 3) + 1
COLOR 7: DIM s(3)
FOR i = 1 TO 3
    LOCATE 8, 13 + (i - 1) * 22
    IF i = s2 THEN PRINT " A ": s(i) = 1 ELSE PRINT s1: s(i) = s1
NEXT i
SLEEP 3
m = 0
CLS
DO
  LINE (100, 100)-(200, 250), 14, BF
  LINE (275, 100)-(375, 250), 14, BF
  LINE (450, 100)-(550, 250), 14, BF
  k1 = INT(RND * 3) + 1
2 k2 = INT(RND * 3) + 1
  IF k2 = k1 THEN 2
  FOR i = 1 TO 3
      IF i = k1 OR i = k2 THEN
         LINE (100 + (i - 1) * 175, 100)-(200 + (i - 1) * 175, 250), 4, BF
      END IF
  NEXT i
  SLEEP 1
  CLS
  LINE (100, 100)-(200, 250), 14, BF
  LINE (275, 100)-(375, 250), 14, BF
  LINE (450, 100)-(550, 250), 14, BF
  FOR i = 1 TO (6 - level) * 75000: NEXT i
  SWAP s(k1), s(k2)
  m = m + 1
LOOP UNTIL m = 5 + level * 2
CLS
INPUT "Input 'A' situation:"; s
f = 1
FOR i = 1 TO 3
    IF s(i) = 1 AND i = s THEN PRINT "Right!": f = 0: EXIT FOR
NEXT i
IF f THEN
   PRINT "Wrong!Right is";
   FOR i = 1 TO 3
       IF s(i) = 1 THEN PRINT i
   NEXT i
END IF
END

10 楼

http://www.programfan.com/club/post-213515.html
http://www.programfan.com/club/post-219227.html

我来回复

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