[AVVISO] Homework 5 con simulatori dei due giochi [AGGIORNATO v5] -> domenica 7

andrea.sterbini (172780 points)
514 935 1789
asked Dec 19, 2017 in Avvisi by andrea.sterbini (172,780 points)
edited Jan 6, 2018 by andrea.sterbini

Homework 5 - scadenza DOMENICA 7/1/18 ore 23.59

Scaricate il file homework05-5.zip [AGGIORNATO v5]

  • Unzippate il file in una directory, ottenendo la sottodirectory homework05 con le relative sottodirectories per ciascun esercizio
  • Nelle sottodirectory trovate (for x in [1,2]):
    • Il file program0x.py che contiene la descrizione del programma da realizzare, in cui dovete completare il programma e che dovrete restituire con la pagina di consegna
    • il file simulatore.py che vi permette di testare la vostra implementazione. Per eseguire i test:
      • aprite un Anaconda Prompt
      • posizionatevi NELLA directory dell'esercizio homework05/esX
    • Per il gioco Mastermind (es1) usate il comando
      • python simulatore.py

    • Per il simulatore di F1 sono presenti 3 sottocomandi, che si usano ad esempio:

      Per sapere meglio i parametri aggiungete l'opzione --help ai 3 comandi qui sotto

python simulatore.py simulate --pista monza --players program02 che lancia la finestra grafica del simulatore
python simulatore.py nogui  --pista monza --players program02 --logfile file.log che esegue una simulazione senza grafica ma creando un file di log
python simulatore.py replay --logfile file.log che riesegue un file di log visualizzando la grafica
  • Otterrete una simulazione dei due giochi
  • DOVETE SOTTOMETTERE SOLO I FILE program0x.py (per sottomettere dovete essere iscritti a questo sito)

ATTENZIONE: NON LASCIATE RICHIESTE DI INPUT O TEST DI NESSUN TIPO NEL PROGRAMMA, ALTRIMENTI VA IN TIMEOUT.
(o, se proprio volete, mettetele in un test           if __name__ == '__main__':           come detto a lezione)

REGOLE:

  • E' permesso usare variabili globali, ma tenete conto che il tempo per lo import di program0X.py e l'elaborazione delle chiamate a funzioni che creano strutture globali viene contato nel timeout. Al massimo vi posso dare 10s in più (totale 40 secondi di timeout per mastermind).
  • Non è permesso usare file.

  • La memoria usata non potrà essere più grande di 10 Gbyte.

  • Non è permesso precalcolare parti delle soluzioni e tabellarle nel codice (p.es. la traiettoria più veloce di F1) (mentre è permesso calcolarle a runtime nella simulazione o durante l'import del vostro program0X.py)
  • E' permesso copiare la funzione risposta dal simulatore mastermind o importarla (ma prima devo mettere la chiamata alla simulazione dopo un if __name__ == '__main__')

AGGIORNAMENTI:

  • corretto bug sulla terminazione del giro
  • migliorato test di attraversamento del traguardo
  • aggiunte opzioni --speed e --tile
  • controllo che le macchine non si fermino per più di 5 step
  • primo abbozzo di graders per caricare i risultati nella classifica
  • aggiunto if __name__ ... in modo da poter importare la funzione risposta del simulatore1 (mastermind)
  • aggiunto un assert per controllare che il tentativo generato abbia n cifre
  • corretto bug nel simulatore di F1 che non vedeva attraversamenti di traguardo in direzione y negativa
  • aggiunto l'argomento car.laps alla funzione ai (F1), ovvero il numero di attraversamenti del traguardo (negativo se contromano) (vedi http://q2a.di.uniroma1.it/4363)
  • ...

Please log in or register to answer this question.