Leapfrog – Oric Basic

Melbourne House – METEORIC Programming – Anno 1983 – Trascrizione: Francesco Fiorentini

Tempo fa ho acquistato il libro METEORIC Programming – For the ORIC-1 pubblicato in originale da Melbourne House nel 1983
La copia in mio possesso si tratta di una ristampa pubblicata nel 2022 da parte di Acorn Books.

Il libro contiene un gran numero di listati per il computer ORIC-1 ed ho deciso di digitarne qualcuno per arricchire la nostra libreria di RetroLiPS.
Questo listato intitolato Leapfrog, breve, ma dall’accativante impatto grafico, da un’idea delle potenzialita’ del BASIC dell’ORIC.

Se volete saperne di piu’ riguardo all’ORIC, una macchina poco conosciuta in Italia, vi consiglio di leggervi gli articoli “Un fantasmagORICo home computer” parte 1 e 2, apparsi sui numeri 10 ed 11 della nostra rivista a firma di David La Monaca.

Titolo: Leapfrog
Piattaforma: ORIC
Linguaggio: Basic
Versione originale: John Vander Reyden
Pubblicazione: METEORIC Programming
Anno: 1983
Trascrizione: Francesco Fiorentini
Anno: 2021
Note: Emulatore suggerito: Oricutron.
Selezionate ORIC-1 come Hardware

Scopo del gioco
Dovete invertire completamente la posizione delle rane nel minor numero di mosse possibili. Le rane gialle devono andare al posto di quelle verdi e viceversa, lasciando la casella 5 vuota (come si vede dalle immagini). Io ci sono riuscito in 39 mosse, ma sono sicuro che si puo’ fare di meglio.
Buon divertimento!

Qui di seguito trovate il codice da copiare sul vostro computer Oric.
Il codice é pronto per essere copiato su un emulatore, consigliamo Oricutron.
Una volta avviato l’emulatore cliccate il pulsante destro del mouse e scegliete l’opzione Hardware Options…, dopodiche’ selezionate Oric-1 come hardware (si vedano le immaginio sotto).

Per caricare il codice sull’emulatore, una volta copiato il codice sottostante nella clipboard, pulsante destro e quindi Paste from Clipboard.

Attenzione: l’emulatore Oricutron potrebbe dare problemi con il copia ed incolla, suggeriamo di copiare/incollare il listato in due/tre volte anziche’ in una singola operazione.

Attenzione – Ci siamo resi conto che nel listato i caratteri ‘>’ e ‘<‘ potrebbero venir sostituiti dai rispettivi encoding html ‘&gt’ e ‘&lt’. Nel caso, sostituite questi valori nel listato prima di copiarlo sull’emulatore.

Listato: Leapfrog – Oric – Basic


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
100 PAPER0 : INK2
110 GOSUB 430
120 A1$=CHR$(2)+"AB " : A1$=A1$+A1$+A1$+A1$+"    "
130 A1$=A1$+CHR$(3)+"AB "+CHR$(3)+"AB "+CHR$(3)+"AB "+CHR$(3)+"AB"
140 A2$=CHR$(2)+"CD " : A2$=A2$+A2$+A2$+A2$+"    "
150 A2$=A2$+CHR$(3)+"CD "+CHR$(3)+"CD "+CHR$(3)+"CD "+CHR$(3)+"CD"
160 B1$=A1$ : B2$=A2$
170 CN=0
180 CLS : PLOT3 , 23 , "1   2   3   4   5   6   7   8   9"
190 PLOT1 , 20 , B1$ : PLOT1 , 21 , B2$
200 IFLEFT$(B1$,15)=RIGHT$(A1$,15)ANDRIGHT$(B1$,15)=LEFT$(A1$,15)THENGOTO350
210 PLOT1 , 8 , "   You have had"+STR$(CN)+" moves"
220 PLOT1 , 10 , "Please enter your move      "
230 GOSUB 420
240 INPUT K$
250 IF LEN(K$)<>2THENGOTO210
260 FR=4*(ASC(LEFT$(K$ , 1))-49)+1
270 TR=4*(ASC(RIGHT$(K$ , 1))-49)+1
280 IF (MID$(B1$, TR,1)<>" " OR ABS(TR-FR)>8) THEN GOTO 210
290 CN=CN+1
300 B1$=LEFT$(B1$,TR-1)+MID$(B1$,FR,3)+MID$(B1$,TR+3)
310 B2$=LEFT$(B2$,TR-1)+MID$(B2$,FR,3)+MID$(B2$,TR+3)
320 B1$=LEFT$(B1$,FR-1)+"   "+MID$(B1$,FR+3)
330 B2$=LEFT$(B2$,FR-1)+"   "+MID$(B2$,FR+3)
340 GOTO 190
350 PLOT3 , 8 , "You did it in"+STR$(CN)+" MOVES"
360 PLOT1 , 10 , " do you want another go?       "
370 GOSUB420
380 GETK$
390 IF K$="Y"THEN GOTO 160
400 IF K$<>"N"THEN GOTO 360
410 CLS : END
420 POKE618,10 : POKE616,10 : PRINT : POKE617,26 : POKE618,3 : RETURN
430 FORI=46600 TO 46631
440 READX : POKEI , X
450 NEXTI
460 DATA1 , 19 , 53 , 39 , 63 , 63 , 23 , 3
470 DATA32 , 50 , 43 , 57 , 63 , 63 , 58 , 48
480 DATA3 , 3 , 39 , 55 , 20 , 8 , 0 , 0
490 DATA48, 48 , 57 , 59 , 10 , 4 , 0 , 0
500 PLOT1 , 20 , CHR$(9)
510 PLOT0 ,21 , CHR$(9)
520 RETURN

Share

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

This site uses Akismet to reduce spam. Learn how your comment data is processed.