回 帖 发 新 帖 刷新版面

主题:求救:怎样做迷宫

求救:怎样做迷宫,用搜索再在12模式下line画出来?
高手帮帮啊!!!!!!!!!!
谢。。。。。

回复列表 (共21个回复)

11 楼

[quote]如此
REM L10_15
SCREEN 1
CLS
DATA 1,1,1,1,1,1,1,1,1
DATA 0,0,0,0,0,0,1,0,1       
DATA 1,1,0,1,0,1,1,0,1
DATA 1,0,0,1,0,0,0,0,1
DATA 1,1,0,1,0,0,1,0,1
DATA 1,0,0,0,0,1,1,1,1
DATA 1,0,1,1,0,0,0,0,1
DATA 1,0,0,1,1,1,1,0,1
DATA 1,0,0,0,0,0,1,0,0
DATA 1,1,1,1,1,1,1,1,1
x = 10: Y = 9
a$ = STRING$(3, 219)
b$ = STRING$(3, 176)
DIM S(100), x(100), Y(100), a(x, Y): xe = 9: ye = 9
FOR i = 1 TO x: FOR j = 1 TO Y
    READ a(i, j)
    IF a(i, j) = 1 THEN LOCATE i, j * 3: PRINT a$
NEXT j, i
FOR i = 1 TO 4: FOR j = 1 TO 2
READ v(i, j)
NEXT j, i: DATA 0,1,-1,0,0,-1,1,0
LOCATE 12: PRINT "Press any key to run": d$ = INPUT$(1)
x = 2: Y = 0: p = 0: x(p) = x: Y(p) = Y: i = 0
DO
    i = i + 1
    IF i <= 4 THEN
      x = x(p) + v(i, 1): Y = Y(p) + v(i, 2)
      IF a(x, Y) = 0 THEN
         p = p + 1: S(p) = i: x(p) = x: Y(p) = Y
         a(x, Y) = 2
         i = 0
         GOSUB 10
      END IF
    ELSE
       GOSUB 10
       IF p <> 2 THEN i = S(p)
        p = p - 1
   END IF
LOOP UNTIL p = 0 OR x = xe AND Y = ye
IF p = 0 THEN
  PRINT "NO"
ELSE
  LOCATE 14: PRINT "LX:RK"; "2,0"; "--->";
  FOR i = 1 TO p
     PRINT x(i); ","; Y(i); "--->";
  NEXT i: PRINT "CK"
END IF
END
10 LOCATE x(p), Y(p) * 3:
   FOR k = 1 TO 300000: NEXT k
   IF i <= 4 THEN PRINT USING "##"; p ELSE PRINT b$
   RETURN
      

[/quote]

12 楼

楼上引用了两遍了!

13 楼

zhehaoibujiandan   hhann


hsjjhhsjakjkki

kiksahuh   这

14 楼

[quote]zhehaoibujiandan   hhann


hsjjhhsjakjkki

kiksahuh   这[/quote]

15 楼

[quote][quote]如此
REM L10_15
SCREEN 1
CLS
DATA 1,1,1,1,1,1,1,1,1
DATA 0,0,0,0,0,0,1,0,1       
DATA 1,1,0,1,0,1,1,0,1
DATA 1,0,0,1,0,0,0,0,1
DATA 1,1,0,1,0,0,1,0,1
DATA 1,0,0,0,0,1,1,1,1
DATA 1,0,1,1,0,0,0,0,1
DATA 1,0,0,1,1,1,1,0,1
DATA 1,0,0,0,0,0,1,0,0
DATA 1,1,1,1,1,1,1,1,1
x = 10: Y = 9
a$ = STRING$(3, 219)
b$ = STRING$(3, 176)
DIM S(100), x(100), Y(100), a(x, Y): xe = 9: ye = 9
FOR i = 1 TO x: FOR j = 1 TO Y
    READ a(i, j)
    IF a(i, j) = 1 THEN LOCATE i, j * 3: PRINT a$
NEXT j, i
FOR i = 1 TO 4: FOR j = 1 TO 2
READ v(i, j)
NEXT j, i: DATA 0,1,-1,0,0,-1,1,0
LOCATE 12: PRINT "Press any key to run": d$ = INPUT$(1)
x = 2: Y = 0: p = 0: x(p) = x: Y(p) = Y: i = 0
DO
    i = i + 1
    IF i <= 4 THEN
      x = x(p) + v(i, 1): Y = Y(p) + v(i, 2)
      IF a(x, Y) = 0 THEN
         p = p + 1: S(p) = i: x(p) = x: Y(p) = Y
         a(x, Y) = 2
         i = 0
         GOSUB 10
      END IF
    ELSE
       GOSUB 10
       IF p <> 2 THEN i = S(p)
        p = p - 1
   END IF
LOOP UNTIL p = 0 OR x = xe AND Y = ye
IF p = 0 THEN
  PRINT "NO"
ELSE
  LOCATE 14: PRINT "LX:RK"; "2,0"; "--->";
  FOR i = 1 TO p
     PRINT x(i); ","; Y(i); "--->";
  NEXT i: PRINT "CK"
END IF
END
10 LOCATE x(p), Y(p) * 3:
   FOR k = 1 TO 300000: NEXT k
   IF i <= 4 THEN PRINT USING "##"; p ELSE PRINT b$
   RETURN
      

[/quote]
[/quote]

16 楼

疾疯者L
你别乱回答啊

17 楼

说得对

18 楼

无聊啊~

19 楼

呵呵!

20 楼

他们是不是无聊在那乱回答啊

我来回复

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