Strumenti Utente

Strumenti Sito


it:ugbasic:user:example:contrib_donkey
Traduzioni di questa pagina:


ugBASIC Manuale Utente

SCOPO

SORGENTE

 975 DEF SEG: POKE 106,0
 980 SAMPLES$="NO"
 990 GOTO 1010
 1000 SAMPLES$="YES"
 1010 KEY OFF:SCREEN 0,1:COLOR 15,0,0:WIDTH 40:CLS:LOCATE 5,19:PRINT "IBM"
 1020 LOCATE 7,12,0:PRINT "Personal Computer"
 1030 COLOR 10,0:LOCATE 10,9,0:PRINT CHR$(213)+STRING$(21,205)+CHR$(184)
 1040 LOCATE 11,9,0:PRINT CHR$(179)+"       DONKEY        "+CHR$(179)
 1050 LOCATE 12,9,0:PRINT CHR$(179)+STRING$(21,32)+CHR$(179)
 1060 LOCATE 13,9,0:PRINT CHR$(179)+"    Version 1.10     "+CHR$(179)
 1070 LOCATE 14,9,0:PRINT CHR$(212)+STRING$(21,205)+CHR$(190)
 1080 COLOR 15,0:LOCATE 17,4,0:PRINT "(C) Copyright IBM Corp 1981, 1982"
 1090 COLOR 14,0:LOCATE 23,7,0:PRINT "Press space bar to continue"
 1100 IF INKEY$<>"" THEN GOTO 1100
 1110 CMD$ = INKEY$
 1120 IF CMD$ = "" THEN GOTO 1110
 1130 IF CMD$ = CHR$(27) THEN GOTO 1298
 1140 IF CMD$ = " " THEN GOTO 1160
 1150 GOTO 1110
 1160 DEF SEG=0
 1170 IF (PEEK(&H410) AND &H30)<>&H30 THEN DEF SEG:GOTO 1291
 1180 WIDTH 80:CLS:LOCATE 3,1
 1190 PRINT "HOLD IT!"
 1200 PRINT "YOU'RE NOT USING THE COLOR/GRAPHICS MONITOR ADAPTER!"
 1210 PRINT "THIS PROGRAM USES GRAPHICS AND REQUIRES THAT ADAPTER."
 1220 PRINT "PRESS THE SPACE BAR TO CONTINUE."
 1230 DEF SEG
 1240 IF INKEY$<>"" THEN GOTO 1240
 1250 CMD$ = INKEY$
 1260 IF CMD$ = "" THEN GOTO 1250
 1270 IF CMD$ = CHR$(27) THEN GOTO 1298
 1280 IF CMD$ = " " THEN GOTO 1298
 1290 GOTO 1250
 1291 KEY OFF
 1292 ON ERROR GOTO 1295
 1293 PLAY "p16"
 1294 GOTO 1300
 1295 COLOR 31,0,0
 1296 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
 1299 SCREEN 0,1:IF SAMPLES$="YES" THEN CHAIN"samples",1000 ELSE COLOR 7,0,0:CLS:END
 1300 REM
 1410 COLOR 0
 1420 DEFINT A-Y
 1440 SCREEN 1,0:COLOR 8,1
 1450 DIM Q%(500)
 1460 DIM D1%(150),D2%(150),C1%(200),C2%(200)
 1470 DIM DNK%(300)
 1480 GOSUB 1940
 1490 GOSUB 1780
 1500 CLS
 1510 DIM B%(300)
 1520 FOR I=2 TO 300:B%(I)=-16384+192:NEXT
 1530 B%(0)=2:B%(1)=193
 1540 REM
 1550 CX=110:CLS
 1590 LINE (0,0)-(305,199),,B
 1600 LINE (6,6)-(97,195),1,BF
 1610 LINE (183,6)-(305,195),1,BF
 1620 LOCATE 3,5:PRINT "Donkey"
 1630 LOCATE 3,29:PRINT "Driver"
 1631 LOCATE 19,25:PRINT"Press Space  ";
 1632 LOCATE 20,25:PRINT"Bar to switch";
 1633 LOCATE 21,25:PRINT"lanes        ";
 1635 LOCATE 23,25:PRINT"Press ESC    ";
 1636 LOCATE 24,25:PRINT"to exit      ";
 1640 FOR Y=4 TO 199 STEP 20:LINE(140,Y)-(140,Y+10):NEXT
 1650 CY=105:CX=105
 1660 LINE (100,0)-(100,199):LINE(180,0)-(180,199)
 1670 LOCATE 5,6:PRINT SD:LOCATE 5,31:PRINT SM
 1680 CY=CY-4:IF CY<60 THEN 2230
 1690 PUT (CX,CY),CAR%,PRESET
 1700 DX=105+42*INT(RND*2)
 1710 FOR Y=(RND*-4)*8 TO 124 STEP 6
 1720 SOUND 20000,1
 1730 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
 1740 IF Y=>3 THEN PUT (DX,Y),DNK%,PSET
 1750 IF CX=DX AND Y+25>=CY THEN 2060
 1760 IF Y AND 3 THEN PUT (140,6),B%
 1770 NEXT:LINE (DX,124)-(DX+32,149),0,BF:GOTO 1670
 1780 CLS
 1790 DRAW "S8C3"
 1800 DRAW"BM12,1r3m+1,3d2R1ND2u1r2d4l2u1l1"
 1810 DRAW"d7R1nd2u2r3d6l3u2l1d3m-1,1l3"
 1820 DRAW"m-1,-1u3l1d2l3u6r3d2nd2r1u7l1d1l2"
 1830 DRAW"u4r2d1nd2R1U2"
 1840 DRAW"M+1,-3"
 1850 DRAW"BD10D2R3U2M-1,-1L1M-1,1"
 1860 DRAW"BD3D1R1U1L1BR2R1D1L1U1
 1870 DRAW"BD2BL2D1R1U1L1BR2R1D1L1U1
 1880 DRAW"BD2BL2D1R1U1L1BR2R1D1L1U1
 1890 LINE(0,0)-(40,60),,B
 1900 PAINT (1,1)
 1910 DIM CAR%(900)
 1920 GET(1,1)-(29,45),CAR%
 1930 RETURN
 1940 CLS
 1950 DRAW"S08"
 1960 DRAW "BM14,18"
 1970 DRAW"M+2,-4R8M+1,-1U1M+1,+1M+2,-1
 1980 DRAW"M-1,1M+1,3M-1,1M-1,-2M-1,2"
 1990 DRAW"D3L1U3M-1,1D2L1U2L3D2L1U2M-1,-1"
 2000 DRAW"D3L1U5M-2,3U1"
 2010 PAINT (21,14),3
 2020 PRESET (37,10):PRESET (40,10)
 2030 PRESET (37,11):PRESET (40,11)
 2040 GET (13,0)-(45,25),DNK%
 2050 RETURN
 2060 SD=SD+1:LOCATE 14,6:PRINT "BOOM!"
 2070 GET (DX,Y)-(DX+16,Y+25),D1%
 2080 D1X=DX:D1Y=Y:D2X=DX+17
 2090 GET (DX+17,Y)-(DX+31,Y+25),D2%
 2100 GET (CX,CY)-(CX+14,CY+44),C1%
 2110 GET (CX+15,CY)-(CX+28,CY+44),C2%
 2120 C1X=CX:C1Y=CY:C2X=CX+15
 2130 FOR P=6 TO 0 STEP -1:Z=1/(2^P):Z1=1-Z
 2140 PUT (C1X,C1Y),C1%:PUT(C2X,C1Y),C2%
 2150 PUT (D1X,D1Y),D1%:PUT(D2X,D1Y),D2%
 2160 C1X=CX*Z1:D1Y=Y*Z1:C2X=C2X+(291-C2X)*Z
 2170 D1X=DX*Z1:C1Y=C1Y+(155-C1Y)*Z:D2X=D2X+(294-D2X)*Z
 2180 PUT (C1X,C1Y),C1%:PUT(C2X,C1Y),C2%
 2190 PUT (D1X,D1Y),D1%:PUT(D2X,D1Y),D2%
 2200 SOUND 37+RND*200,4:NEXT
 2210 FOR Y=1 TO 2000:NEXT
 2220 CLS:GOTO 1540
 2230 SM=SM+1:LOCATE 7,25:PRINT "Donkey loses!"
 2240 FOR Y=1 TO 1000:NEXT
 2250 CLS:GOTO 1540
 

FILE

COME ESEGUIRLO

Atari 400/800

Per poter eseguire l'esempio, è necessario disporre dell'emulatore Altirra, e in particolare che l'eseguibile x64sc sia accessibile.

Digitare quindi il seguente comando:

 # Linux 
 ugbc.atari contrib_donkey.bas -o example.xex
 altirra example.xex
 
 # Windows 
 ugbc.atari.exe contrib_donkey.bas -o example.xex
 altirra example.xex

Atari 600XL/800XL/1200XL/XG(SE)

Per poter eseguire l'esempio, è necessario disporre dell'emulatore Altirra, e in particolare che l'eseguibile x64sc sia accessibile.

Digitare quindi il seguente comando:

 # Linux 
 ugbc.atarixl contrib_donkey.bas -o example.xex
 altirra example.xex
 
 # Windows 
 ugbc.atarixl.exe contrib_donkey.bas -o example.xex
 altirra example.xex

Commodore 64

Per poter eseguire l'esempio, è necessario disporre dell'emulatore VICE, e in particolare che l'eseguibile x64sc sia accessibile.

Digitare quindi il seguente comando:

 # Linux 
 ugbc.c64 contrib_donkey.bas -o example.prg
 x64sc example.prg
 
 # Windows 
 ugbc.c64.exe contrib_donkey.bas -o example.prg
 x64sc example.prg

Commodore PLUS/4

Usando YAPE

Per poter eseguire l'esempio, è necessario disporre dell'emulatore YAPE, e in particolare che l'eseguibile yape sia accessibile.

Digitare quindi il seguente comando:

 # Linux 
 ugbc.plus4 contrib_donkey.bas -o example.prg
 yape example.prg
 
 # Windows 
 ugbc.plus4.exe contrib_donkey.bas -o example.prg
 yape example.prg
Usando VICE

Per poter eseguire l'esempio, è necessario disporre dell'emulatore VICE, e in particolare che l'eseguibile xplus4 sia accessibile.

Digitare quindi il seguente comando:

 # Linux 
 ugbc.plus4 contrib_donkey.bas -o example.prg
 xplus4 example.prg
 
 # Windows 
 ugbc.plus4.exe contrib_donkey.bas -o example.prg
 xplus4 example.prg

Dragon 32

Per poter eseguire l'esempio, è necessario disporre dell'emulatore XROAR, e in particolare che l'eseguibile x64sc sia accessibile.

Digitare quindi il seguente comando:

 # Linux 
 ugbc.d32 contrib_donkey.bas -o example.bin
 xroar -rompath (percorso ROM) example.bin
 
 # Windows 
 ugbc.d32.exe contrib_donkey.bas -o example.bin
 xroar.exe -rompath (percorso ROM) example.bin

Dragon 64

Per poter eseguire l'esempio, è necessario disporre dell'emulatore XROAR, e in particolare che l'eseguibile x64sc sia accessibile.

Digitare quindi il seguente comando:

 # Linux 
 ugbc.d64 contrib_donkey.bas -o example.bin
 xroar -rompath (percorso ROM) example.bin
 
 # Windows 
 ugbc.d64.exe contrib_donkey.bas -o example.bin
 xroar.exe -rompath (percorso ROM) example.bin

PC128 Olivetti Prodest

Per poter eseguire l'esempio, è necessario disporre dell'emulatore DCMOTO, e in particolare che l'eseguibile x64sc sia accessibile.

Digitare quindi i seguenti comandi:

 # Linux 
 ugbc.pc128op contrib_donkey.bas -o example.bin
 dcmoto example.bin
 (scegliere example.bin)
 (scegliere BASIC 128)
 CLEAR,&H2FFF: LOADM"CASS:",R: EXEC
 
 # Windows 
 ugbc.pc128op.exe contrib_donkey.bas -o example.bin
 dcmoto example.bin
 (scegliere BASIC 128)
 CLEAR,&H2FFF: LOADM"CASS:",R: EXEC

Thomson MO5

Per poter eseguire l'esempio, è necessario disporre dell'emulatore DCMOTO, e in particolare che l'eseguibile x64sc sia accessibile.

Digitare quindi i seguenti comandi:

 # Linux 
 ugbc.mo5 contrib_donkey.bas -o example.bin
 dcmoto example.bin
 (scegliere example.bin)
 (scegliere BASIC 128)
 CLEAR,&H2FFF: LOADM"CASS:",R: EXEC
 
 # Windows 
 ugbc.mo5.exe contrib_donkey.bas -o example.bin
 dcmoto example.bin
 (scegliere BASIC 128)
 CLEAR,&H2FFF: LOADM"CASS:",R: EXEC

Commodore VIC-20

Per poter eseguire l'esempio, è necessario disporre dell'emulatore XEMU, e in particolare che l'eseguibile xmega65 sia accessibile.

Digitare quindi il seguente comando:

 # Linux 
 ugbc.vic20 contrib_donkey.bas -o example.prg
 xvic --memory 24k example.prg
 
 # Windows 
 ugbc.vic20.exe contrib_donkey.bas -o example.prg
 xvic --memory 24k example.prg

ZX Spectrum

Per poter eseguire l'esempio, è necessario disporre dell'emulatore Speccy, e in particolare che l'eseguibile speccy sia accessibile.

Digitare quindi il seguente comando:

 # Linux 
 ugbc.zx contrib_donkey.bas -o example.tap
 Speccy example.tap
 
 # Windows 
 ugbc.zx.exe contrib_donkey.bas -o example.tap
 Speccy example.tap

ColecoVision

Per compilare e mandare in esecuzione l'esempio, hai bisogno di avere l'emulatore openMsx oppure il BlueMSX, e in particolare che il suo eseguibile sia accessibile.

Dopo di che, digita questo comando sulla linea di comando:

openMSX
 # Linux 
 ugbc.coleco contrib_donkey.bas -o example.rom
 openmsx -machine \"COL - ColecoVision\" -cart example.rom
 
 # Windows 
 ugbc.coleco.exe contrib_donkey.bas -o example.rom
 bluemsx -machine \"COL - ColecoVision\" example.rom
blueMSX
 # Linux 
 ugbc.coleco contrib_donkey.bas -o example.rom
 bluemsx /machine \"COL - ColecoVision\" /rom1 example.rom
 
 # Windows 
 ugbc.coleco.exe contrib_donkey.bas -o example.rom
 bluemsx  /machine \"COL - ColecoVision\" /rom1 example.rom

SEGA SC-3000

Per compilare e mandare in esecuzione l'esempio, hai bisogno di avere l'emulatore BlueMSX, e in particolare che il suo eseguibile sia accessibile.

Dopo di che, digita questo comando sulla linea di comando:

 # Linux 
 ugbc.sc3000 contrib_donkey.bas -o example.rom
 bluemsx /machine \"SEGA - SC-3000\" /rom1 example.rom
 
 # Windows 
 ugbc.sc3000.exe contrib_donkey.bas -o example.rom
 bluemsx  /machine \"SEGA - SC-3000\" /rom1 example.rom

SEGA SG-1000

Per compilare e mandare in esecuzione l'esempio, hai bisogno di avere l'emulatore BlueMSX, e in particolare che il suo eseguibile sia accessibile.

Dopo di che, digita questo comando sulla linea di comando:

 # Linux 
 ugbc.sg1000 contrib_donkey.bas -o example.rom
 bluemsx /machine \"SEGA - SG-1000\" /rom1 example.rom
 
 # Windows 
 ugbc.sg1000.exe contrib_donkey.bas -o example.rom
 bluemsx  /machine \"SEGA - SG-1000\" /rom1 example.rom

PROBLEMI?

Se hai trovato un problema nel cercare di eseguire questo esempio, se pensi che ci sia un bug o, più semplicemente, vorresti che fosse migliorato, apri una segnalazione su GitHub per questo specifico esempio. Grazie!

POWERED BY