Il libro dei giochi del Commodore 64 – 18 – Campo minato

Loading

18 – Campo minato

Apparso da pagina 119 fino a pagina 125 de “Il libro dei giochi del Commodore 64”

Il listato pubblicato

Il programma

Il nostro listato digitato

Qui di seguito trovate il codice da copiare sul programma CBM prg Studio Il codice originale é stato modificato affinchè possa essere letto da CBM prg Studio. I caratteri speciali PETSCII (Screen Codes) presenti nel listato originale, sono stati singolarmente sostituiti da quelli standard utilizzati da CBM prg Studio. Attenzione – Grazie alla segnalazione di più utenti, i caratteri “<” e “>” potrebbero venir sostituiti dai rispettivi encoding html “&lt;” e “&gt;” . Qualora li trovaste, sostituite manualmente questi valori direttamente su CBM prg Studio, altrimenti il programma non funzionerà. Scusate per l’inconveniente tecnico. 10 rem **campo minato** 20 g=1024:h=55296:dimm%(60),s%(20) 30 s=54272:cb=53280:cs=53281:gosub3000 40 pokes+14,8:pokes+18,32:pokes+3,2:pokes+24,143:pokes+6,242:pokes+4,65 50 pokecb,5:pokecs,15:poke649,1 60 pokes+7,100:pokes+8,1:pokes+13,240 70 pokes+11,129:pokes+24,1 80 print"{clear}":input"livello di gioco (1-10)";l$ 90 l=val(l$):ifl<1orl>10then80 100 print"{clear}" 110 forj=1to30+3*l:m%(j)=rnd(1)*920+40:pokeh+m%(j),15:pokeg+m%(j),42:next 120 forj=1to20:s%(j)=rnd(1)*920+40 130 fs=0:fork=1to30+3*l 140 ifs%(j)=m%(k)thenfs=1 150 next 160 iffs=1then120 170 pokes%(j)+h,5:pokes%(j)+g,160 180 next 190 f=0:p=0:pn=0:pd=1:fs=1:pokeg,209:pokeh,2:ti$="000000" 200 forj=1to5 210 c%(j)=7*j:cn%(j)=c%(j):cd%(j)=2:pokeg+c%(j),35:pokeh+c%(j),0 220 next 230 geta$ 240 ifa$="u"thenpn=p-40 250 ifa$="j"thenpn=p+1 260 ifa$="h"thenpn=p-1 270 ifa$="n"thenpn=p+40 280 ifpn<0orpn>999thenpn=p 290 ifa$="h"andint(p/40)=p/40ora$="j"andint((p+1)/40)=(p+1)/40thenpn=p 300 ifpn=999then700 310 pg=peek(g+pn) 320 ifpg=42then800 330 ifpg=35thenpn=p 340 ifpn=pthen400 350 pokeg+p,32+fs*128 360 iffs=1thenpokeh+p,5:fs=0 370 ss=peek(h+pn)and7 380 ifss=5thenfs=1 390 p=pn:pokeg+p,209:pokeh+p,2+fs*3 400 j=1 410 ifcd%(j)=0thencn%(j)=c%(j)-40 420 ifcd%(j)=1thencn%(j)=c%(j)+1 430 ifcd%(j)=2thencn%(j)=c%(j)+40 440 ifcd%(j)=3thencn%(j)=c%(j)-1 450 ifcn%(j)<0orcn%(j)>999thencn%(j)=cn%(j)-1000*sgn(cn%(j)) 460 pg=peek(g+cn%(j)) 470 ifpg=42orpg=35orpg=209thencd%(j)=cd%(j)+1:cn%(j)=c%(j) 480 ifcd%(j)=4thencd%(j)=0 490 iffs=1then530 500 d=abs(p-cn%(j)):ifd=1ord=40thenfg=1 510 ifl>5andd=2orl>5andd=80thenfg=1 520 iffg=1then900 530 ifpg=209then1000 540 ifcn%(j)=c%(j)then600 550 ifl>8thencc%(j)=0 560 pokeg+c%(j),32+128*cc%(j) 570 ifcc%(j)=1thenpokeh+c%(j),5:cc%(j)=0 580 ps=peek(h+cn%(j))and7:ifps=5thencc%(j)=1 590 c%(j)=cn%(j):pokeg+c%(j),35:pokeh+c%(j),0:pokes+24,1 600 j=j+1:ifj<6then410 610 ifrnd(1)<.8then230 620 fr=30000+int(rnd(1)*25000) 630 pokes+4,65:pokes+11,128 640 pokes+24,143:forj=1to25 650 fq=fr-peek(s+27)*80:hf=int(fq/256):lf=fq-hf*256 660 pokes,lf:pokes+1,hf 670 next 680 pokes+4,64:pokes+12,2:pokes+13,252:pokes+7,20:pokes+8,2:pokes+11,129 690 goto230 700 print"{clear}{white}":pokecb,6:pokecs,2:gosub3000 710 printtab(10)"{down*3}sei scappato !!!":printtab(11)"{down*2}in";int(ti/60);"secondi" 720 pokes+24,15:pokes+5,100:pokes+6,80 730 fl=75:fh=34:d=4:gosub2000:gosub2000 740 fl=94:fh=32:d=2:gosub2000 750 fl=75:fh=34:gosub2000 760 fl=126:fh=38:gosub2000 770 fl=214:fh=28:d=8:gosub2000 780 fl=177:fh=25:gosub2000 790 pokes+24,0:goto1500 800 print"{clear}":gosub3000 810 pokes+24,15:pokes+12,8:pokes+13,250:pokes+7,20:pokes+8,2:pokes+11,129 820 pokecb,0:pokecs,0 830 fork=1to10:next 840 pokecs,1 850 fork=1to5:next 860 pokes+11,128:pokecs,0 870 printtab(12)"{down*3}sei saltato in aria":printtab(11)"{down*2}dopo";int(ti/60);"secondi" 880 goto1500 900 print"{clear}":pokecb,2:pokecs,2:gosub3000 910 pokes+24,15:pokes+6,240:pokes,56:pokes+1,27 920 forj=1to15 930 pokes+4,129 940 fork=1to5:next 950 pokes+4,128 960 fork=1to20:next 970 next:pokes+24,0 980 printtab(13)"{down*3}sei stato ucciso":printtab(11)"{down*2}dopo";int(ti/60);"secondi" 990 goto1500 1000 print"{clear}":pokecb,2:pokecs,2 1010 gosub3000 1020 pokes+24,15:pokes,144:pokes+1,23 1030 forj=1to1500:next 1040 pokes+4,32:pokes+11,128 1050 pokes+24,0 1060 printtab(10)"{down*3}sei stato investito":printtab(10)"{down*3}dopo";int(ti/60);"secondi" 1500 geta$:ifa$<>" "then1500 1510 print"{blue}":fg=0:goto30 2000 pokes,fl:pokes+1,fh:pokes+4,33 2010 fork=1to120*d:next 2020 pokes+4,32 2030 return 3000 forj=0to24:pokes+j,0:next 3010 return

Il file .PRG del listato

Clicca qui per scaricarlo

Provalo direttamente sull’emulatore! Clicca sul pulsante per avviare!

Downloading…

L’emulatore C64 online è ad utilizzo libero solo per usi non-commerciali. Leggere le license agreement per ulteriori dettagli.

Ringraziamo l’autore per averlo creato e messo a disposizione!

Copyright © 2021 Thomas Hochgoetz. Tutti i diritti riservati.

https://c64emulator.111mb.de/

 

Ritorna alla pagina precedente