Articolo pubblicato sul n. 29 di
MCmicrocomputer
(Edizioni Technimedia Srl - Roma) nell'aprile 1984
Othello per VIC-20 e
C-64
di Andrea de Prisco
Di
Othello su computer, MC si è già occupata su numeri
precedenti. Sul n° 7 è apparso un
articolo che, oltre a
illustrare il gioco in sé, inteso a livello "umano",
trattava alcune strategie facilmente implementabili su
computer. Venivano discussi metodi di memorizzazione della
scacchiera e l'algoritmo di ricerca colpo, al fine di
invogliare il lettore a scrivere un programma, più che a
copiarlo dalle pagine della rivista. Alcuni risultati sono
giunti anche in redazione, e pubblicati nelle rubriche del
software. Altri lettori, pur scrivendoci per consigli e/o
suggerimenti, hanno ritenuto opportuno tenere per sé i loro
programmi in vista di qualche torneo per elaboratori.
Abbiamo avuto il piacere di trovarne uno perfino in Francia,
a Parigi, che con la sua HP-41 ha macinato chilometri e
chilometri di strada ferrata per mantenere alti i colori
dell'Italia al 5° Othello-Reversi Programs World
Championship tenutosi nei saloni del Sicob nel settembre
'83.
Anche a Roma, pochi giorni dopo, in occasione del Campionato
italiano di Othello (per... umani), si è tenuto un mini
torneo per elaboratori. Purtroppo MC l'ha saputo troppo
tardi per poter dare l'annuncio in tempo sulle pagine della
rivista. E probabile però che la manifestazione quest'anno
si ripeterà. Se possibile, sarà organizzato un torneo per
elaboratori con affluenza assai più intensa dell'anno
precedente.
Il programma presentato in queste pagine si è classifìcato
6° al torneo di Parigi e l° a quello di Roma, battendo
dulcis in fundo perfino il neo campione Italiano Ghirardato
(4° ai Mondiali) che, dopo aver sbagliato per una svista una
mossa, non ha più ripreso il controllo della partita.
O non ha più voluto riprenderlo il gioco.
Per chi non conosce l'Othello, e non ha sottomano il n. 7 di
MC, ripetiamo le regole assai semplici di questo gioco.
Si svolge, come gli scacchi e la dama, su di una scacchiera
8 x 8, generalmente di colore Verde. Le pedine sono 64,
tutte uguali con una faccia bianca e l'altra nera.
All'inizio si sistemano 4 pedine nel quadrato centrale, due
con la faccia bianca rivolta verso l'alto, due con la faccia
nera, come è visibile nella foto 2 che mostra la schermata
del VIC al1'atto del1a prima mossa.
Inizia sempre il nero a giocare. Il gioco consiste nel porre
alternativamente in campo pedine con la faccia del proprio
colore rivolta in alto, in modo da catturare pedine
avversarie. La cattura avviene quando si chiude, con la
pedina che si pone in campo e con almeno un'altra pedina del
proprio colore sulla scacchiera, una o più pedine
avversarie. In questo caso, tutte le pedine avversarie
chiuse dalla pedina appena posata e dalle altre pedine
proprie già presenti sulla scacchiera vengono capovolte, e
diventano del proprio colore.
La cattura può avvenire sia in orizzontale che in verticale
che in diagonale, così come in una qualsiasi combinazione
delle tre direzioni. La figura l mostra un colpo del bianco.
Come si può notare, ben 5 pedine avversarie sono capovolte
in seguito alla mossa (fig. 2).
Il gioco prosegue fino al riempimento di tutta la
scacchiera. Al termine, chi avrà più pedine del proprio
colore in campo sarà il vincitore.
Va fatto notare che non si può porre pedine in campo senza
catturare pedine avversarie, e la mossa è obbligatoria se è
possibile mangiare. Quando uno dei due concorrenti non può
porre una propria pedina in campo, passa la mano e continua
a giocare l'altro. Se prima del riempimento completo del
campo ambedue i giocatori non possono muovere, il gioco
termina in anticipo e ugualmente il vincitore sarà chi ha
più pedine del proprio colore.
Le "regole" dell'Othello sono tutte qui. Non resta che fare
alcune considerazioni di carattere "strategico". È vero: chi
alla fine ha più pedine del proprio colore in campo sarà il
vincitore. Ma è inutile affannarsi sin dalle prime mosse a
mangiare quante più pedine possibile.
Anzi dirò di più: generalmente chi all'inizio riempie la
scacchiera con proprie pedine è svantaggiato perché ad ogni
colpo può scegliere fra ben poche mosse concessegli
dall'avversario.
Molto più importante è conquistare posizioni strategicamente
favorevoli che possono anche portare alla vittoria certa.
Sto parlando degli angoli. Chi conquista un angolo, lo
conquista definitivamente. Nessuno può capovolgere una
pedina che ha conquistato un angolo. Tale posizione è detta,
per questo motivo, "stabile".
Sono stabili anche tutte le pedine proprie poste su un bordo
di cui già si possiede l'angolo, e non vi sono pericolosi
"buchi" dove l'avversario può incunearsi. In altre parole,
una volta conquistato l'angolo, si può procedere facilmente
alla conquista di intere file di pedine sul bordo che, se
appoggiate ad un angolo, sono stabili. Provare per credere.
Di contro le caselle adiacenti l'angolo, lungo i bordi o
lungo la diagonale, sono nettamente sfavorevoli.
È facile perdere un angolo dopo essersi posti in una di
queste caselle.
In definitiva, per vincere al 100% una partita di Othello è
"sufficiente":
1) cercare di conquistare gli angoli
2) non posizionarsi sulle caselle adiacenti l'angolo
3) non far conquistare angoli all'avversario
4) obbligare l'avversario a mettersi in caselle
"sfavorevoli".
Chi
riesce sempre in questo è vivamente pregato di presentarsi
ai prossimi Mondiali di Othello.
Vincono sempre i Giapponesi...
A proposito: una delle cose più semplici che spesso viene
detta a chi impara a giocare l'Othello per la prima volta è
che le posizioni di bordo sono abbastanza favorevoli,
essendo catturabili solo da altre pedine di bordo e ciò si
verifica non troppo di frequente.
È anche vero però che se si hanno 6 pedine del proprio
colore sul bordo e non si possiedono angoli sullo stesso, la
perdita di uno dei due angoli implica automaticamente la
perdita dell'altro insieme alle 6 pedine "conduttrici".
Quindi: bordi sì, ma con molta attenzione!!!
Il programma
Sin dalle primitive versioni (questo programma mi ha
impegnato più di un anno), l'obiettivo principale non era
quello di battere "umani", ma di battere altri computer.
Conoscevo infatti il tipo di gioco dei computer parigini:
affannosa ricerca alla conquista dei bordi, più che
un'attenta valutazione di cosa può succedere qualche mossa
più avanti. Gli articoli apparsi su riviste francesi
specializzate mostravano, appunto, questo genere di
strategia.
A Parigi, mi hanno dato del filo da torcere solo 2
concorrenti (un Sirius e un TRS-80 mod. 3) che avevano un
tipo di gioco ancor più lontano del mio da quello standard
degli altri 50 e più concorrenti. Ho visto fare davvero
delle mosse di altissimo livello, che solo tre o quattro
colpi più avanti hanno portato il loro frutto.
Il mio programma, più che cercare di conquistare bordi
(anzi, semmai li regala) cerca di lasciare l'avversario con
mosse sempre meno proficue, sino addirittura, come è
successo con un altro concorrente, a costringerlo a mettersi
sulla casella adiacente l'angolo, sulla diagonale, a meno di
metà partita.
E come si sa, perso un angolo cosi presto, la partita
nell'80% dei casi è persa. Di contro, se è il VIC a dover
cedere per forza un angolo (ciò si verifica "sempre" alle
ultime mosse del gioco) scatta il cosiddetto terzo livello
di gioco.
Se è possibile (e spesso lo è) cede quell'angolo che gli
permette di conquistarne subito un altro alla mossa
successiva. Rende la pariglia, come si suol dire.
Le prime sette-otto mosse del gioco, sono già memorizzate
all'interno del programma sotto forma di albero.
Costituiscono l'apertura, la fase iniziale del gioco.
In questa fase, come avviene anche per gli scacchi, le mosse
sono grosso modo sempre le stesse, e le scelte di variazione
non sono molte.
È conveniente memorizzare quelle relative alle prime mosse
per risparmiare un po' di tempo per i colpi finali, senza
dubbio i più significativi per la vittoria. Dando RUN al
programma, la prima richiesta è "CHI INIZIA?". Come si sa,
ad Othello è il nero a muovere per primo. Rispondendo IO o
TU, di fatto si seleziona il colore con cui dovrà giocare il
VIC. Digitando invece LOAD viene caricata da nastro una
partita precedentemente "SAVEata" e il gioco continua dove
era stato interrotto. Se alla domanda "CHI INIZIA " si
risponde TEST, si va in ambiente di input scacchiera.
È possibile inserire qualsiasi situazione di gioco per
continuare da quel punto l'incontro o controllare cosa il
computer risponderebbe con quella scacchiera davanti.
Vengono richieste le otto righe, di otto pedine l'una, della
scacchiera e si inputano inserendo fra gli apici un pallino
pieno per ogni pedina bianca (tasto S-Q), un pallino vuoto
per ogni pedina nera (Tasto S-W) e uno spazio per ogni
posizione di scacchiera vuota.
In ambiente di gioco vero e proprio, se alla domanda: "TU
GIOCHI IN" si risponde, al posto del colpo, SAVE,la
situazione di scacchiera è salvata su nastro. Se si risponde
EX, i ruoli dei due giocatori si scambiano. Chi prima
giocava col bianco gioca col nero e viceversa. Il programma
gira perfettamente sia sul VIC-20 sia sul Commodore 64.
L'unica modifica strettamente necessaria è un POKE 53281,5
per colorare di verde lo sfondo se si usa il 64. Anche se l'HELLO
iniziale e il commento di fine partita non saranno troppo in
linea con le 40 colonne, la scacchiera e tutto il resto è
mostrato correttamente. A tutti un "buona partita", e non
dimenticate che, per chi è interessato, è disponibile la
cassetta col programma già memorizzato. Risparmiare fatiche
inutili fa sempre bene. Arrivederci.
Impaginato
originale...
Articolo pubblicato
su
www.digiTANTO.it - per ulteriori informazioni
clicca qui
|