Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

Casistiche mossa non valida

1
1661725 (180 points)
1 3 7
in Homework 2 by (180 points)
closed by
Buongiorno.

Leggendo la consegna dell'homework 2 credevo di aver capito che una mossa fosse considerata non valida soltanto nel caso in cui non avesse alcuna pedina attorno, in tutte e 8 le caselle adiacenti.

Dal file di input del test di tutte mosse errate, in realtà però, noto che c'è una mossa, considerata come tutte le altre errata, che posiziona una pedina in `e3` - esattamente sopra una delle pedine posizionate ad inizio partita. Perché dovrebbe essere non valida?

È possibile avere una lista di tutti i casi in cui poter considerare una mossa non valida?
583 views
closed with the note: deadline expired

3 Answers

by (9.9k points)

In genere una mossa non è valida se:

  • La casella fornita in input è già occupata;
  • Non c'è nessuna mossa valida.

Ci possono essere otto mosse valide: due per ogni orientamento (orrizzontale sinistro e destro, verticale su e giu, prima diagonale sx e dx, seconda diagonale sx e dx). Se la casella fornita in input permette di effettuare ALMENO una mossa fra queste otto allora la mossa è valida, altrimenti non è valida.

Nell'esempio che hai citato la mossa e3 non è valida perchè è il turno del giocatore nero e se ci fai caso non può catturare alcuna pedina avversaria.

o
orlandoalessio1998 (7730 points)
7 24 36
by (7.7k points)
edited by
in questo momento non riesco a trovare la mossa in questione però, prendendo in considerazione la posizione e3, posso dirti che verrebbe considerata mossa errata nel momento in cui venisse posizionata una pedina nera; è vietata perchè da quella posizione non mangerebbe nessuna pedina avversaria.
ps:il test con le mosse non valide racchiude tutte le mosse non valide.
andrea.sterbini (207920 points)
750 1267 2373
by (208k points)

Una mossa deve catturare (e rovesciare) tutte le pedine catturabili nelle 8 direzioni che partono dalla casella giocata.
In ciascuna direzione si catturano delle pedine avversarie solo se sono in caselle consecutive e restano racchiuse tra la pedina giocata ed un'altra pedina dello stesso giocatore. (esempio         BNNNNBNB la prima pedina B cattura solo le 4 pedine N che si trovano tra essa e la seconda pedina B)
La mossa è valida se esiste almeno una pedina catturata.
 

1
1661725 (180 points)
1 3 7
by (180 points)
Prenda invece questo caso: |NNBNBN  |

Mettiamo che venga inserita una B, in fondo: |NNBNBNB |
Questa deve diventare |NNBNBBB | o  |NNBBBBB | ?
andrea.sterbini (207920 points)
750 1267 2373
by (208k points)
La prima che hai detto (ci si deve fermare alla PRIMA pedina del proprio colore che si incontra a partire da quella giocata)
Suggerimento: installatevi Othello sul telefono o leggete la pagina di Wikipedia