Salve a tutti.
Sto frequentando il corso di ingegneria informatica all'università, quest'oggi il professore ci ha incaricati di sviluppare un programma in c++ che riproducesse il gioco dell'Othello.
Si tratta di un corso di programmazione orientata agli oggetti in c++, e ora come ora ci siamo fermati alle classi.

In particolare mi viene chiesto di creare una classe che sia in grado di:
Tracciare le mosse effettuate dai due giocatori.
Stampare a schermo la scacchiera.
Stabilire in quale stato di gioco ci si trova ( inizio, in corso, fine della partita ).
Stabilire di chi è il turno in qualunque momento della partita.

Fondamentalmente ho frequentato durante le scuole superiori un liceo scientifico, quindi non ho mai avuto a che fare con le classi nel c++, e le sto trovando un pò ostiche soprattutto perchè il mio prof in questione si è limitato a commentare le proprie slide, senza in sostanza spiegare certi meccanismi o modus operandi.

Non penso si tratti di una cosa complessa da realizzare trattandosi della II lezione del corso, ma mi sarebbe davvero di grande aiuto se qualcuno con esperienza mi desse delle dritte magari commentando i costrutti di una certa rilevanza.

Grazie mille.

PS: scrivo qui di seguito le regole del gioco per chi non le conoscesse.

Othello si gioca in due, su un'othelliera 8x8, verde, con 64 pedine bicolori. Un giocatore ha il Nero, l'avversario il Bianco. La disposizione iniziale delle pedine sulla scacchiera è come in Figura 1, inizia a giocare il Nero.

Posizione iniziale - Mossa al nero Al suo turno ogni giocatore poggia una pedina, con la faccia del proprio colore rivolta verso l'alto, su una casella ancora vuota (se uno dei due giocatori resta senza pedine, può usare quelle dell'avversario).
Una pedina imprigiona quelle avversarie in una o più direzioni (orizzontale, verticale e/o diagonale), rendendo le pedine imprigionate del proprio colore (ovvero capovolgendole).
Il giocatore, al suo turno, è obbligato a giocare appoggiando una pedina in maniera da imprigionare almeno un disco avversario; non può porre una pedina in una casella senza girare dischi avversari, né girare meno di quelle richieste, né rinunciare alla mossa.
Nel caso in cui non vi siano mosse legali, il giocatore passa, e tocca nuovamente all'avversario, fino all'esaurimento delle mosse per entrambe i giocatori (in genere ciò capita dopo aver riempito interamente di pedine la scacchiera).
Raramente può succedere che tutte le pedine diventino di un solo colore o che entrambi i giocatori non possano muovere anche se ci sono ancora caselle vuote, in tal caso la partita termina.