Aggiornamento 25 Novembre 2022 ore 15
Iera sera abbiamo aggiornato lo zip di HW6-req in quanto pensiamo che cosi sia piu chiaro anche se rimangono delle differenze con il gioco originale.
In generale, quello che dovete seguire sono le istruzioni, i chiarimenti e i risultati sui casi di test. Nei test segreti non saranno intenzionalmente inserite casistiche che non sono coperte da quanto scritto nella traccia o qui nei chiarimenti. Lo scopo dei test segreti non e' quello di ingannarvi ma semplicemente di cambiare input/ouput sempre in base alle stesse regole.
- Potete assumere che la posizione iniziale del serpente sia sempre scrivibile.
- Si assume che ci sia sempre almeno un comando fornito come input
- Il serpente puo' andare in diagonale ovviamene ma non puo' "incrociarsi" in diagonale. Si veda esempio nel testo ma ci sono altri casi anche. Si veda sotto per la definizione di "incrociarsi".
- Per gli incroci in diagonale, anche se vi sono diversi casi piu o meno complicati, HW copre il caso piu semplice in cui il serpente muore se quando si muove in diagonale gli altri pixel "adiacenti" in diagonale sono gia' occupati dal serpente. Nella traccia dell'HW e' descritto un solo caso ma ce ne sono altri da tenere conto a seconda di come si muove il serpentello, sempre e solo controllando se i pixel "adiacenti" in diagonale sono gia' occupati dal rettile.
- Quando si inizia il serpente e' ovviamente lungo un pixel (altrimenti vi avremmo passato una lunghezza iniziale)
- Abbiamo cambiato il comportamente del serpente in caso di morte e gestiamo un solo caso.
- Se si urta un ostacolo, il serpente ovviamente non copre l'ostacolo e la testa rimane nella casella precedente
- al contrario del gioco classico dello snake, in cui il serpente puo' "inseguirsi" ritraendo la coda e allo stesso tempo scrivendo la testa nella coda che si e' liberata, questa casistica NON e' coperta e adesso il serpente muore nel caso in cui si "acchippa" la coda. Avremmo dovuto differenziare i casi per renderlo piu simile al gioco dello snake ma cosi lo rendiamo piu semplice ed evitiamo di fare confusione e di penalizzare chi gia' lo ha risolto.
- Si possono ovviamente usare le classi per chi le sa gia' usare (le vedremo nelle prossime lezioni)
- Si possono utilizzare attributi statici delle classi (li vedremo nelle prossime lezioni)
Spero chiarisca e vi aiuti.
Iera sera abbiamo aggiornato lo zip di HW6-req in quanto pensiamo che cosi sia piu chiaro anche se rimangono delle differenze con il gioco originale.
In generale, quello che dovete seguire sono le istruzioni, i chiarimenti e i risultati sui casi di test. Nei test segreti non saranno intenzionalmente inserite casistiche che non sono coperte da quanto scritto nella traccia o qui nei chiarimenti. Lo scopo dei test segreti non e' quello di ingannarvi ma semplicemente di cambiare input/ouput sempre in base alle stesse regole.
- Potete assumere che la posizione iniziale del serpente sia sempre scrivibile.
- Si assume che ci sia sempre almeno un comando fornito come input
- Il serpente puo' andare in diagonale ovviamene ma non puo' "incrociarsi" in diagonale. Si veda esempio nel testo ma ci sono altri casi anche. Si veda sotto per la definizione di "incrociarsi".
- Per gli incroci in diagonale, anche se vi sono diversi casi piu o meno complicati, HW copre il caso piu semplice in cui il serpente muore se quando si muove in diagonale gli altri pixel "adiacenti" in diagonale sono gia' occupati dal serpente. Nella traccia dell'HW e' descritto un solo caso ma ce ne sono altri da tenere conto a seconda di come si muove il serpentello, sempre e solo controllando se i pixel "adiacenti" in diagonale sono gia' occupati dal rettile.
- Quando si inizia il serpente e' ovviamente lungo un pixel (altrimenti vi avremmo passato una lunghezza iniziale)
- Abbiamo cambiato il comportamente del serpente in caso di morte e gestiamo un solo caso.
- Se si urta un ostacolo, il serpente ovviamente non copre l'ostacolo e la testa rimane nella casella precedente
- al contrario del gioco classico dello snake, in cui il serpente puo' "inseguirsi" ritraendo la coda e allo stesso tempo scrivendo la testa nella coda che si e' liberata, questa casistica NON e' coperta e adesso il serpente muore nel caso in cui si "acchippa" la coda. Avremmo dovuto differenziare i casi per renderlo piu simile al gioco dello snake ma cosi lo rendiamo piu semplice ed evitiamo di fare confusione e di penalizzare chi gia' lo ha risolto.
- Si possono ovviamente usare le classi per chi le sa gia' usare (le vedremo nelle prossime lezioni)
- Si possono utilizzare attributi statici delle classi (li vedremo nelle prossime lezioni)
Spero chiarisca e vi aiuti.