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

Do you need help?

Notice Board

Verso errato?

giorgio.belli (10140 points)
23 74 98
in Es2 by (10.1k points)
closed by
Buonasera, mentre provavo a fare qualche prova sul nuovo homework ho notato che l'intero rappresentante il verso in cui girare sulla pista è al contrario, è possibile?
Nel codice del simulatore (righe: 205-208) controlla se il traguardo è alla destra del giocatore ma imposta la direzione verso sinistra e viceversa.
Ho interpretato in maniera errata il significato del verso o è errato il codice?
Grazie anticipatamente per le risposte
792 views
closed with the note: va bene così ...

3 Answers

Best answer
andrea.sterbini (207920 points)
750 1267 2373
by (208k points)
selected by

Alla partenza ci si allontana dal traguardo, e lo si raggiunge dopo un giro.

Quindi se il carattere '|' è a destra della macchina si parte verso sinistra (x decrescenti, verso=-1), altrimenti si parte verso destra (x crescenti, verso = +1).

if mappa[y][x+1] == '|':
    car.verso = -1     # verso sinistra
else:
    car.verso = +1     # verso destra
andrea.sterbini (207920 points)
750 1267 2373
by (208k points)
Acc.... non ci ho pensato che normalmente si parte prima del traguardo, lo si attraversa una prima volta e alla seconda il giro è finito.
Vabbè, oramai lasciamo il codice così ...
giorgio.belli (10140 points)
23 74 98
by (10.1k points)
Esatto intendevo proprio quello normalmente si parte prima e non capivo perche le macchinine se lo lasciavano alle spalle. Comunque adesso è chiaro grazie delle spiegazioni (y)
split (8700 points)
21 59 79
by (8.7k points)
da come ho capito io il traguardo è "alle tue spalle", quindi se è a sinistra del giocatore, guardando dall'alto,questo parte andando verso destra, e vice versa
giorgio.belli (10140 points)
23 74 98
by (10.1k points)
esatto, come ho detto anche leggendo il codice del simulatore non capisco se sto sbagliando io o se sono invertiti i valori.
p
pietroliberati98 (950 points)
4 10 16
by (950 points)
Ma semplicemente il verso ti dice se la posizione x all'inizio aumenta o diminuisce. La pista e' una matrice e quindi la cella di posizione x+1 e' quella a destra, mentre quella di posizione x-1 e' quella a sinistra. Quindi se verso=1 ti devi spostare a destra, mentre se e' -1 a sinistra.

Spero di essermi spiegato bene.
andrea.sterbini (207920 points)
750 1267 2373
by (208k points)
Esatto, l'ho pensato così
1794095 (990 points)
5 13 22
by (990 points)
da li il bug che avevo spiegato prima in classe sul controllo dell'arrivo
giorgio.belli (10140 points)
23 74 98
by (10.1k points)
il fatto è che ad esempio sulla mappa anello le macchine si trovano a destra del traguardo, però come verso mi viene passato +1, non dovrei partire da dietro il traguardo anziché subito avanti?