Originariamente inviato da cigiri18
un possibile controllo in diagonale(controlla, per ogni casella, se ha fatto punto in diagonale
per l'altra diagonale, basta riadattare le somme.codice:for (int x=0; x<tabella.getWidth(); x++) for (int y=0; y<tabella.getHeight(); y++){ boolean ok=true; boolean giallo = tabella.get(x,y).isGiallo(); for (int count = 0; count<4; count++){ if (tabella.get(x+count, y+count).isGiallo()!=giallo) ok=false; if (ok) System.out.println('qualcuno ha vinto'); }
questa cosa non funziona, devi sistemare i controlli in modo che non sfori sulle dimensioni della tabella(x+count<width, y+count<height)
Potresti commentarmi un po il codice?
Non ho capito alcune cose: l'utilizzo dei due boolean, il metodo tabella.get(x,y), e il metodo isGiallo();
Comunque fondamentalmente questo codice mi direbbe chi ha vinto e chi non ha vinto...
A me servirebbe trovare un modo per impedire che l'avversario vinca.. quindi trovare in diagonale tre pedine avversarie con una cella vuota fra loro e impedire che l'avversario vinca interponendo fra loro una mia pedina.
Questa cosa purtroppo non riesco a pensarla in termini di codice.. Già mi viene difficile scrivere codice per i controlli in diagonale senza uscire fuori dalle dimensioni dell'array..
Non so proprio come farlo..

Rispondi quotando