Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Rilevare Scacco Matto

  1. #1
    Utente di HTML.it L'avatar di Grunt
    Registrato dal
    Dec 2001
    Messaggi
    246

    Rilevare Scacco Matto

    Sto realizzando un gioco per giocare a scacchi, si gioca tra 2 umani, quindi niente AI.
    Il progetto lo sto realizzando in C++ con classi e oggetti, mi sono trovato di fronte ad un problema:
    Come rilevare lo scacco matto?
    La gestione dei movimenti del Re ok! prima di muoversi bisogna verificare che non ci sia alcun pezzo in grado di mangiarlo. Ma se si muove un pezzo che lo copre?
    E in ultimo per dichiarare finita una partita, come faccio a vedere che in qualsiasi modo cerco di muovere il re è sempre in scacco (e quindi scacco matto?).
    Grazie a chiunque mi dia una dritta!!!!

  2. #2
    Utente di HTML.it L'avatar di Grunt
    Registrato dal
    Dec 2001
    Messaggi
    246
    Non c'è nessuno che può aiutarmi?

  3. #3
    Utente di HTML.it L'avatar di maxmo
    Registrato dal
    Nov 2001
    Messaggi
    52
    Io non posso risponderti perchè non sono in grado di aiutarti.
    sono alle prime armi con C.
    Una curiosità ma il programma che stai realizzando quanto è lungo in termine di ore di lavoro di compilazione?
    Dopo il C vorrei passare a C++ e sono curioso di capire l'effettiva utilità di un simile linguaggio di programmazione.
    Il giorno luminoso se n'è andato.
    La notte mi rende triste, triste.
    Ma le stelle sono tutte bianche .
    Mi sussurrano che il giorno tornerà.
    Oh stelle, piccoli pezzi del giorno!

  4. #4
    Ciao grunt, CVD era difficile essere aiutato in un covo di vbmen, cmq... come promesso ci ho pensato 1 pò e ti scrivo la mia idea.

    Allora...
    Ogni pezzo dopo la mossa verifica quali caselle tiene in scacco e comunica a queste lo stato di scacco. Quando poi si sposta, prima di effettuare lo spostamento, comunica a quelle caselle che non sono + in scacco.

    Per quanto riguarda il re, quando si deve spostare deve verificare che le caselle adiacenti non si trovano in scacco, se non ci sono caselle libere e se quella in cui si trova è stata messa in scacco nell'ultimo turno dell'avversario ci si trova in scacco matto.

    Per quanto riguarda l'implementazione basta un flag nella classe casella per lo stato (scacco, non scacco) e i metodi appropriati nelle classi dei singoli pezzi per le verifiche sopra descritte.
    Cmq i dettagli e le implementazione restano a te, mica ti posso togliere il divertimento

    A presto
    M3xican
    Rugbyman#15#

  5. #5

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.