CCC 27 – pag. 86 – Attacco Aereo

Loading

Commodore Computer Club – pag. 86 – Attacco Aereo

Apparso da pagina 141 fino a pagina 149 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 ******************************** 20 rem c=64 milano club 30 rem milano via sorrento 24 40 rem telefono 02-4566163 50 rem ******************************** 60 rem filetto italiano (tris) 70 goto 520 80 rem giocatore croce 90 poke m,a:poke m+4,a:poke m+41,a 100 poke m+43,a:poke m+82,a:poke m+121,a 110 poke m+123,a:poke m+160,a:poke m+164,a 120 return 130 rem giocatore cerchio 140 poke m,233:poke m+4,223:poke m+160,95:poke m+164,105 150 for i=1 to 3 160 poke m+1,a:poke m+1+160,a 170 poke m+40*i,a:poke m+40*i+4,a 180 next i 190 poke m+82,32 200 return 210 for i=m+c to m+c+160 step 40 220 poke i,cc(n):poke i+1,cc(n):poke i+2,cc(n):poke i+3,cc(n):poke i+4,cc(n) 230 next i 240 return 250 rem sid 260 pokef1,42:poke f2,62 270 poke w,17 280 for d=1to60:next d:poke w,0 290 return 300 x=n:p(e)=x:m=s(e):on x gosub 90,90,140 310 gosub 210 320 for i=1to7 step 3 330 if p(i)<>p (i+1) then 360 340 if p(i)<>p (i+2) then 360 350 on p(i)+1 goto 360,1560,1560,1560 360 next i 370 for i=1 to 3 380 if p(i)<>p (i+3) then 410 390 if p(i)<>p (i+6) then 410 400 on p(i)+1 goto 410,1560,1560,1560 410 next i 420 if p(5)<>x then 450 430 if (p(1)=x) and (p(9)=x) then 1560 440 if (p(3)=x) and (p(7)=x) then 1560 450 for i=1 to 9 460 if p(i)=0 then 500 470 next i 480 print "gara pari!" 490 goto 1600 500 n=abs(n-4) 510 return 520 print "{home}{blue}" :poke 53281,1:poke 53280,0 530 w=54276:poke w,0 540 print tab(13) "{clear}{red} filetto {reverse on}{blue}" 550 for i=1to9:read s(i):next i 560 data 1114,1122,1130,1434,1442 570 data 1450,1754,1762,1770 580 print "{down}{down} dovete posizionare il vostro simbolo" 590 print " sulla griglia (tramite i numeri) in" 600 print " modo da ottenere un tris di simboli" 610 print " sulla stessa linea, orizzontale, ver-" 620 print " ticale od obliqua." 630 poke 54296,15:f1=54273:f2=54272:c=f2 640 poke w+1,128:poke w+2,16 650 a=160:cc(1)=6:cc(3)=10 660 print "{down} ricordatevi che giocate contro il " 670 print " computer, ed effettuerete una mossa" 680 print " per uno." 690 print "{down} x{blue} muove per primo." 700 y=3:z=1:ch=2 710 print "{down*2} premete {reverse on}{dark gray}f1{reverse on} {blue}per usare {reverse on}x{blue}" 720 print tab(10)"{reverse on}{dark gray}f3 {reverse on}{blue}per usare {reverse on}o{blue}" 730 get e$:if e$<>"{f1}" and e$<> "{f3}" then 730 740 if e$="{f1}" then y=1:z=3 750 poke198,0 760 print "{down*2} livello di gioco: {reverse on}{dark gray}f1 {reverse on}{blue} principiante" 770 print tab(18)" {reverse on}{dark gray}f3 {reverse on}{blue} quasi bravo" 780 get e$:if e$<>"{f1}" and e$<>"{f3}" then 780 790 if e$="{white}" then ch=1 800 print "{clear}{home}" :ct=int(14*rnd(0))+2 810 for i=1 to9:p(i)=0:next i 820 for i=1080 to 1960 step 40 830 poke i,a:poke i+c,ct 840 poke i+8,a:poke i+8+c,ct 850 next i 860 for i=1353 to 1375 870 pokei,a:poke i+c,ct:poke i+320,a:poke i+320+c,ct 880 next i 890 fori=1to9:poke s(i)+82,i+48 900 pokes(i)+82+c,0:nexti 910 n=1 920 if ch=2 then1050 930 if y=1 then 980 940 rem mossa del computer 950 e=int(9*rnd(0)+1):if p(e)<>0 then 950 960 gosub 300 970 rem mossa del giocatore 980 gosub 260 990 get e$:if e$=""then 990 1000 if e$<"1" or e$>"9" then 990 1010 e=val(e$): if p(e)<>0 then 980 1020 gosub 300 1030 on ch goto 950,1070 1040 rem mossa del computer 1050 if y=1 then 980 1060 rem 1070 if p(5)=0 then e=5:goto 1530 1080 if p(5)=x then 1150 1090 rem diagonals 1100 if p(1)=0 and p(9)=z then e=1:goto 1530 1110 if p(1)=z and p(9)=0 then e=9:goto 1530 1120 if p(3)=0 and p(7)=z then e=3:goto 1530 1130 if p(3)=z and p(7)=0 then e=7:goto 1530 1140 rem disegno delle colonne 1150 for k=1to3 1160 if p(k)=x or p(k+3)=x or p(k+6)=x then 1210 1170 if p(k)+p(k+3)+p(k+6)<>2*z then 1210 1180 if p(k)=0 then e=k:goto1530 1190 if p(k+3)=0 then e=k+3:goto 1530 1200 e=k+6:goto 1530 1210 next k 1220 rem linee 1230 for k=1to7 step 3 1240 if p(k)=x or p(k+1)=x or p(k+2)=x then 1290 1250 if p(k)+p(k+1)+p(k+2)<>2*z then 1290 1260 if p(l)=0 then e=k:goto 1530 1270 if p(k+1)=0 then e=k+1:goto 1530 1280 e=k+2:goto1530 1290 next k 1300 rem 1310 fork=1to3 1320 if p(k)=z or p(k+3)=z or p(k+6)=z then 1370 1330 if p(k)+p(k+3)+p(k+6)<>2*x then 1370 1340 if p(k)=0 then e=k:goto 1530 1350 if p(k+3)=0 then e=k+3: goto 1530 1360 e=k+6:goto 1530 1370 next k 1380 rem 1390 for k=1to7 step 3 1400 if p(k)=z or p(k+1)=z or p(k+2)=z then 1450 1410 if p(k)+p(k+1)+p(k+2)<>2*x then 1450 1420 if p(k)=0 then e=k:goto 1530 1430 if p(k+1)=0 then e=k+1:goto 1530 1440 e=k+2:goto 1530 1450 next k 1460 if p(5)=z then 1510 1470 if p(1)=0 and p(9)=x then e=1:goto 1530 1480 if p(1)=x and p(9)=0 then e=9:goto 1530 1490 if p(3)=0 and p(7)=x then e=3:goto 1530 1500 if p(3)=x and p(7)=0 then e=7:goto 1530 1510 goto 950 1520 rem 1530 gosub 300 1540 goto 980 1550 rem fine del gioco 1560 if x<>y then 1590 1570 print "hai vinto!!!" 1580 goto 1600 1590 print "ho vinto io!!!" 1600 for i=1to20 1610 poke f1,int(60*rnd(0)+30) 1620 poke f2,int(200*rnd(0)+10) 1630 gosub 270 1640 next i 1650 print"{down*22}giochi ancora?(s/n)"; 1660 get e$:if e$="n" then 1700 1670 if e$<>"s" then 1660 1680 clr 1690 goto 520 1700 print "{home}" 1710 end

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