Autore Topic: Esapedone  (Letto 1354 volte)

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Esapedone
« il: 03 Giugno 2010, 15:53:30 »
Questo è il progetto fin dove sono arrivato io.
Il problema è la conversione del listato BASIC (che trovate nella cartella del progetto con il nome hexapawn.bas) dalle righe 210-890.

Vi illustro un attimo sulle variabili del vecchio sorgente:
- B(x,y): contiene la disposizione dei pedoni sulla scacchiera da analizzare per trovare le mosse
- M(x,y): contiene le mosse del computer
- S(x): contiene la disposizione dei pedoni durante la partita

Quelle da me usate sono ampiamente documentate.
Il gioco si basa sul punta-e-clicca. L'umano è SEMPRE il pedone bianco e parte per primo, il computer risponde a seguire col pedone nero.
Le mosse sono al massimo 3, dopo di che o il nero o il bianco vincono. Per vincere bisogna o mangiare tutte le pedine dell'avversario oppure arrivare dall'altra parte della scacchiera. Le mosse "legali" sono quelle classiche del pedone degli scacchi e valgono sia per il nero che per il bianco: un pedone si sposta solo di 1 casella per volta e solo in avanti, potendo però occupare solo caselle libere; un pedone può mangiare solo in diagonale e compiendo un passo. Quindi in un'ipotetica scacchiera 3x3 con la numerazione delle celle che inizia in alto a SX e termina in basso a DX, il pedone dalla casella 5 può muoversi solo nella 2 se questa è libera, può muoversi nella 1 o nella 3 solo se è occupata da un pedone avversario, che viene mangiato.

Visita il mio sito personale: http://www.leonardomiliani.com

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Esapedone
« Risposta #1 il: 03 Giugno 2010, 15:57:02 »
Dimenticavo. Ogni volta che il computer perde, gli viene tolta per punizione l'ultima mossa (riga 830), in modo tale che autoapprenda dai suoi sbagli e diventi, pian pianino "invincibile".

Una cosa carina da fare, una volta che l'algoritmo di gioco funzionerà, è quello di salvare lo stato corrente delle mosse del computer in modo che, se il giocatore umano vuole, può provare a sfidare un computer "allenato" e imbattibile.

Intanto cerchiamo di far funzionare la versione "normale" ;)
Visita il mio sito personale: http://www.leonardomiliani.com

Offline ealmuno

  • Maestro Gambero
  • ****
  • Post: 388
    • Mostra profilo
    • http://www.ealmuno.com
Re: Esapedone
« Risposta #2 il: 03 Giugno 2010, 17:52:58 »
scaricato, dovrò vedermelo per bene, mi sembra abbastanza complicato
il mio nuovo sito : ealmuno.com

Offline ealmuno

  • Maestro Gambero
  • ****
  • Post: 388
    • Mostra profilo
    • http://www.ealmuno.com
Re: Esapedone
« Risposta #3 il: 26 Giugno 2010, 18:00:00 »
a che punto sei, sei andato avanti?
il mio nuovo sito : ealmuno.com

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Esapedone
« Risposta #4 il: 27 Giugno 2010, 11:40:09 »
Ti rispondo per quel che mi riguarda.
Io personalmente son fermo perché in questi giorni ho avuto non pochi problemi (piede rotto  :'().
Vedrò nella prossima settimana di rivedere la logica di gestione delle mosse.

Intanto vi anticipo che ho trovato altre cose carine, magari a fine estate presento un programma con diversi giochini "direttamente dal passato", tipo la battaglia navale, il mastermind, la briscola ecc... Avrei anche uno Star Trek a metà... insomma di cose da fare ne avrei tante, avessi la voglia ed il tempo di terminarle  :P
Visita il mio sito personale: http://www.leonardomiliani.com

Offline ealmuno

  • Maestro Gambero
  • ****
  • Post: 388
    • Mostra profilo
    • http://www.ealmuno.com
Re: Esapedone
« Risposta #5 il: 27 Giugno 2010, 20:30:42 »
attenderò trepidante  :o
Guarisci presto con il piede  :D
Purtroppo pure per me questo non è periodo, forse a settembre vedrò.
il mio nuovo sito : ealmuno.com