basic游戏吧 关注:80贴子:644
  • 4回复贴,共1

一个赛车游戏源码,古老的东西

只看楼主收藏回复

     REM The IBM Personal Computer Donkey
     REM Version 1.10 (C)Copyright IBM Corp 1981, 1982
     REM Licensed Material - Program Property of IBM
     DEF SEG : POKE 106, 0
     SAMPLES$ = "NO"
     DIM CAR%(900)
     GOTO 1010
      SAMPLES$ = "YES"
1010 KEY OFF: SCREEN 0, 1: COLOR 15, 0, 0: WIDTH 40: CLS : LOCATE 5, 19: PRINT "IBM"
      LOCATE 7, 12, 0: PRINT "Personal Computer"
      COLOR 10, 0: LOCATE 10, 9, 0: PRINT CHR$(213) + STRING$(21, 205) + CHR$(184)
      LOCATE 11, 9, 0: PRINT CHR$(179) + "        DONKEY         " + CHR$(179)
      LOCATE 12, 9, 0: PRINT CHR$(179) + STRING$(21, 32) + CHR$(179)
      LOCATE 13, 9, 0: PRINT CHR$(179) + "     Version 1.10      " + CHR$(179)
      LOCATE 14, 9, 0: PRINT CHR$(212) + STRING$(21, 205) + CHR$(190)
      COLOR 15, 0: LOCATE 17, 4, 0: PRINT "(C) Copyright IBM Corp 1981, 1982"
      COLOR 14, 0: LOCATE 23, 7, 0: PRINT "Press space bar to continue"
1100 IF INKEY$ <> "" THEN GOTO 1100
1110 CMD$ = INKEY$
      IF CMD$ = "" THEN GOTO 1110
      IF CMD$ = CHR$(27) THEN GOTO 1298
      IF CMD$ = " " THEN GOTO 1160
      GOTO 1110
1160 DEF SEG = 0
      IF (PEEK(&H410) AND &H30) <> &H30 THEN DEF SEG : GOTO 1291
      WIDTH 80: CLS : LOCATE 3, 1
      PRINT "HOLD IT!"
      PRINT "YOU'RE NOT USING THE COLOR/GRAPHICS MONITOR ADAPTER!"
      PRINT "THIS PROGRAM USES GRAPHICS AND REQUIRES THAT ADAPTER."
      PRINT "PRESS THE SPACE BAR TO CONTINUE."
      DEF SEG
1240 IF INKEY$ <> "" THEN GOTO 1240
1250 CMD$ = INKEY$
      IF CMD$ = "" THEN GOTO 1250
      IF CMD$ = CHR$(27) THEN GOTO 1298
      IF CMD$ = " " THEN GOTO 1298
      GOTO 1250
1291 KEY OFF
      ON ERROR GOTO 1295
      PLAY "p16"
      GOTO 1300
1295 COLOR 31, 0, 0
      PRINT "THIS PROGRAM REQUIRES ADVANCED BASIC -- USE COMMAND 'BASICA'": COLOR 15, 0, 0: FOR I = 1 TO 9000: NEXT: RESUME 1298
1298 ON ERROR GOTO 0
      SCREEN 0, 1: COLOR 7, 0, 0: CLS : END
1300 REM
      COLOR 0



1楼2011-03-20 15:10回复
          DRAW "BD2BL2D1R1U1L1BR2R1D1L1U1"
          LINE (0, 0)-(40, 60), , B
          PAINT (1, 1)
          REM DIM CAR%(900)
          GET (1, 1)-(29, 45), CAR%
          RETURN
    1940 CLS
          DRAW "S08"
          DRAW "BM14,18"
          DRAW "M+2,-4R8M+1,-1U1M+1,+1M+2,-1"
          DRAW "M-1,1M+1,3M-1,1M-1,-2M-1,2"
          DRAW "D3L1U3M-1,1D2L1U2L3D2L1U2M-1,-1"
          DRAW "D3L1U5M-2,3U1"
          PAINT (21, 14), 3
          PRESET (37, 10): PRESET (40, 10)
          PRESET (37, 11): PRESET (40, 11)
          GET (13, 0)-(45, 25), DNK%
          RETURN
    2060 SD = SD + 1: LOCATE 14, 6: PRINT "BOOM!"
          GET (DX, Y)-(DX + 16, Y + 25), D1%
          D1X = DX: D1Y = Y: D2X = DX + 17
          GET (DX + 17, Y)-(DX + 31, Y + 25), D2%
          GET (CX, CY)-(CX + 14, CY + 44), C1%
          GET (CX + 15, CY)-(CX + 28, CY + 44), C2%
          C1X = CX: C1Y = CY: C2X = CX + 15
          FOR P = 6 TO 0 STEP -1: Z = 1 / (2 ^ P): Z1 = 1 - Z
          PUT (C1X, C1Y), C1%: PUT (C2X, C1Y), C2%
          PUT (D1X, D1Y), D1%: PUT (D2X, D1Y), D2%
          C1X = CX * Z1: D1Y = Y * Z1: C2X = C2X + (291 - C2X) * Z
          D1X = DX * Z1: C1Y = C1Y + (155 - C1Y) * Z: D2X = D2X + (294 - D2X) * Z
          PUT (C1X, C1Y), C1%: PUT (C2X, C1Y), C2%
          PUT (D1X, D1Y), D1%: PUT (D2X, D1Y), D2%
          SOUND 37 + RND * 200, 4: NEXT
          FOR Y = 1 TO 2000: NEXT
          CLS : GOTO 1540
    2230 SM = SM + 1: LOCATE 7, 25: PRINT "Donkey loses!"
          FOR Y = 1 TO 1000: NEXT
          CLS : GOTO 1540
    


    3楼2011-03-20 15:10
    回复
      1981年果然很古老啊~不过代码还不错


      IP属地:荷兰4楼2011-03-21 19:11
      回复
        好啊


        IP属地:上海来自手机贴吧5楼2012-05-30 05:02
        回复


          6楼2013-08-19 22:31
          回复