BUGS 15-05-2000

--------- puramente implementativi ----------
* finire implementazione fisica di ropeland in move() per i danni
* far diventare ISDELAY una variabile in ropegui.c e mettere un
parametro -slow/-fast tra quelli ricevuti
-slow ISDELAY == 1
      DELAY == 100
-fast ISDELAY == 0
* salvataggio stato del sistema
* vietare il comando dup in modalita' -match
* lex considera token qualsiasi cosa tra due (tab,space,return), troppo generico
  dovrebbe ad esempio riconoscere "pippo;pluto" come i tre token "pippo" , ";" , "pluto"
* scelta della scheda grafica e della grandezza dello schermo corretta in initgui
* per facilitare la creazione di una gui migliore togliere tutti i printf e dirottare
  i messaggi da qualche altra parte (stderr? un file?)
* creare vari livelli di debug
  -esce in caso di errore FATAL dell VM (debug della VM)
  -uccide l'oggetto in caso di errore ERROR della VM
  -stampa messaggi di errore
  -mette i printf in un file
  -esce solo in caso di INTERNAL error (da creare cioe' l'errore della VM in se')
* generalizzare e far diventare flessibile la funzione error() (farne piu' di una 
  ad esempio)
* creare bat che crei la distribuzione (ropelandXXXb.zip e ropelandXXXs.zip)
* aggiungere touch come comando, tocca gli oggetti con cui e' a contato 
  e ne stabilisce l'id lo stato vivo morto il tipo (o un impastamento tra i tre magari)
* creare la struttura heaven simile a ropes ma che raccoglie i migliori
  (da stabilire in che senso) ropes, aggiungendo all'oggetto dei dati
  statistici (quante volte si e' duplicato, l'eta' al momento della
  morte, per quante caselle ha viaggiato...)
* evitare che si possano caricare due elemnti nella stessa posizione
  nei file .inc (come succede in default.inc adesso


--------- generici --------------------------
* aumentare il ricoscimento dei sintax error in loadinc e loadsource
* creare l'opzione -darwin
* statistiche per il calcolo della fitness (quanti figli ha fatto i.e quante volte si e'
  duplicato con successo, quanto e' vecchio, che energia ha)
* trovare un formato piu' comodo dei .inc che tenga conto dell'esigenza
  di salvare lo stato del sistema (magari con l'inline dei .asm)

-------- analisi del problema
* in caso di errore (del programma rl non di ropeland) l'oggetto muore? in questo 
  momento si esce dal programma ropeland
* diminuire energia spesa per speak?
* move anche per frenare oltre che per accellerare, ovvero regola
  del parallelogrammo per move...


-------- futuri ------------------------------
* pensare ad un altro linguaggio ad alto livello tipo prolog o strutturato da compilare
  nel linguaggio assembler rl
* prevedere delle migrazioni se il numero di oggetti e' troppo basso
* potrebbe leggere i file macroassembler (con label e variabili) direttamente