分享
 
 
 

Bill Gates写的程序(1981)

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

' =======================================

' Bill Gates写的QBasic程序(1981-1982)

' (老古董了。没准它的年纪不比你小! :)

' 文件名: DONKEYQB.BAS

' 运行: QBasic /RUN DonkeyQB.BAS

'=======================================

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

DEFINT A-Y

SCREEN 1, 0: COLOR 8, 1

DIM Q%(500)

DIM D1%(150), D2%(150), C1%(200), C2%(200)

DIM DNK%(300)

GOSUB 1940

GOSUB 1780

CLS

DIM B%(300)

FOR I = 2 TO 300: B%(I) = -16384 + 192: NEXT

B%(0) = 2: B%(1) = 193

1540 REM

CX = 110: CLS

LINE (0, 0)-(305, 199), , B

LINE (6, 6)-(97, 195), 1, BF

LINE (183, 6)-(305, 195), 1, BF

LOCATE 3, 5: PRINT "Donkey"

LOCATE 3, 29: PRINT "Driver"

LOCATE 19, 25: PRINT "Press Space ";

LOCATE 20, 25: PRINT "Bar to switch";

LOCATE 21, 25: PRINT "lanes ";

LOCATE 23, 25: PRINT "Press ESC ";

LOCATE 24, 25: PRINT "to exit ";

FOR Y = 4 TO 199 STEP 20: LINE (140, Y)-(140, Y + 10): NEXT

CY = 105: CX = 105

LINE (100, 0)-(100, 199): LINE (180, 0)-(180, 199)

1670 LOCATE 5, 6: PRINT SD: LOCATE 5, 31: PRINT SM

CY = CY - 4: IF CY < 60 THEN 2230

PUT (CX, CY), CAR%, PRESET

DX = 105 + 42 * INT(RND * 2)

FOR Y = (RND * -4) * 8 TO 124 STEP 6

SOUND 20000, 1

A$ = INKEY$: IF A$ = CHR$(27) THEN 1298 ELSE POKE 106, 0: IF LEN(A$) > 0 THEN LINE (CX, CY)-(CX + 28, CY + 44), 0, BF: CX = 252 - CX: PUT (CX, CY), CAR%, PRESET: SOUND 200, 1

IF Y >= 3 THEN PUT (DX, Y), DNK%, PSET

IF CX = DX AND Y + 25 >= CY THEN 2060

IF Y AND 3 THEN PUT (140, 6), B%

NEXT: LINE (DX, 124)-(DX + 32, 149), 0, BF: GOTO 1670

1780 CLS

DRAW "S8C3"

DRAW "BM12,1r3m+1,3d2R1ND2u1r2d4l2u1l1"

DRAW "d7R1nd2u2r3d6l3u2l1d3m-1,1l3"

DRAW "m-1,-1u3l1d2l3u6r3d2nd2r1u7l1d1l2"

DRAW "u4r2d1nd2R1U2"

DRAW "M+1,-3"

DRAW "BD10D2R3U2M-1,-1L1M-1,1"

DRAW "BD3D1R1U1L1BR2R1D1L1U1"

DRAW "BD2BL2D1R1U1L1BR2R1D1L1U1"

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有