Alak è stato inventato dal matematico AK Dewdney e descritto nel suo libro Planiverse del 1984. Le regole di Alak sono semplici:
Alak è una partita a due giocatori giocata su una tavola unidimensionale con undici slot. Ogni slot può contenere al massimo un pezzo alla volta. Esistono due tipi di pezzi, "x" e "o". x appartiene a un giocatore, o all'altro. La configurazione iniziale della scheda è:
xxxx___oooo
I giocatori a turno si muovono. Ad ogni turno, ogni giocatore può muovere solo un pezzo, una volta. Un giocatore non può passare nel suo turno. Un giocatore può spostare uno qualsiasi dei suoi pezzi nello slot successivo non occupato a destra o a sinistra, il che può comportare il salto su slot occupati. Un giocatore non può spostare un pezzo dal lato del tabellone.
Se una mossa crea un modello in cui i pezzi dell'avversario sono circondati, su entrambi i lati, da due pezzi del colore del motore (senza spazio vuoto non occupato), allora quei pezzi circondati vengono rimossi dal tabellone.
L'obiettivo del gioco è rimuovere tutti i pezzi del tuo avversario, a quel punto il gioco termina. Anche la rimozione di tutti tranne uno termina il gioco, poiché l'avversario non può circondarti di un pezzo e quindi perderà comunque in poche mosse.
Ho trovato questo gioco online e mi chiedevo: si può giocare a golf?
Regole del golf
- Il tuo codice deve seguire tutte le regole del gioco, gestire le catture, muoversi correttamente, ecc. (L'unica eccezione è che non devi aggiungere un bot, ma devi avere entrambi i giocatori controllati in qualche modo e un giocatore deve essere umano).
- L'ingresso deve essere spostare il pezzo dalla tessera X alla tessera Y, oppure uscire. Ad esempio, puoi usare
1 4
per dire 'sposta questo pezzo dalla tessera 1 alla tessera 4'.quit
finirebbe il programma, sebbene l'utilizzo Control- Csarebbe accettabile. Devi anche verificare se una mossa non è valida (andando fuori dal tabellone o spostandoti in un punto in cui dovresti attraversare spazi non occupati per raggiungere o inviare un messaggio che non è una coppia di tessere oquit
). - Uscite per i giocatori vincenti e non validi devono essere
P1 WINS
,P2 WINS
eINVALID
, rispettivamente. (Tutti questi sono 7 caratteri.) - L'output deve mostrare la scheda. Questo è tutto ciò che è richiesto.
- Non importa se usi aiuti come tessere numerate o altri pezzi.
La sfida termina se:
- Una risposta ottiene 50 voti
- Una risposta rimane la più votata per 3 settimane e nessuna altra risposta è stata pubblicata in quel momento
e la sfida ha almeno 3 risposte (quindi c'è qualche vera competizione).
Le regole del gioco
- Il giocatore a sinistra deve iniziare per primo.
- Solo un pezzo occupa un quadrato alla volta. Sposta il pezzo a sinistra o a destra fino a quando non colpisce uno spazio non occupato. La scheda non si avvolge e non puoi muoverti tra le aree non occupate. Per esempio:
xoo__o
. Qui, lax
destra in movimento cambierebbe la scheda in_oox_o
.xxooo_
. Qui, la sinistra più lontanax
potrebbe spostarsi per cedere_xooox
, che cattura lao
s, lasciando_x___x
.x__oox
. Qui, leo
s non vengono catturate (c'è ancora un gap). L'acquisizione non è possibile perché non è possibile spostarsi attraverso spazi non occupati. Lax
a sinistra poteva spostare solo di uno spazio, perché non ci sono altri pezzi in mezzo (in partenza_x_oox
).
- Più pezzi adiacenti possono essere catturati contemporaneamente se il gruppo è circondato dai pezzi dell'avversario. Ad esempio, da
x_oox
a_xoox
acquisirà entrambio
i risultati_x__x
. - Se dopo una mossa, catturi prima i pezzi dell'avversario , prima di verificare se il tuo pezzo deve essere rimosso. Prendi due esempi:
o_oxx
aoxox_
. Innanzitutto, il secondoo
viene catturatoox_x_
, quindi il primox
rimane sul tabellone.o_oox
aoxoo_
. Questa volta, nessuna delleo
s viene catturata, quindix
viene catturata invece.- Se hai un solo pezzo, il gioco finisce, perché non puoi catturare con un solo pezzo.
Che i giochi inizino! Non vedo l'ora di vedere cosa ti viene in mente.