diff --git a/main.go b/main.go index a2d9315..58e700f 100644 --- a/main.go +++ b/main.go @@ -15,18 +15,19 @@ var Altezza int var Larghezza int var SaluteIniziale int = 50 var CostoMovIniziale int = 5 -var CostoSexIniziale int = 40 +var CostoSexIniziale int = 50 var EvoluzioneIniziale int = 0 var PremuraIniziale int = 10 var AgeMaxInizio int = 30 var Clock uint var NumClock uint -var LivelloSblocco int = 1 +var LivelloSblocco int = 2 var Possibilita int = 5 -var ValoreNutrizionale int =15 -var ValoreNutrizionaleCarcassa int =10 -var ZonaCiboX int -var ZonaCiboY int +var ValoreNutrizionale int =10 +var ValoreNutrizionaleCarcassa int =5 +var Supestiti bool=true +//var ZonaCiboX int +//var ZonaCiboY int func main() { //FUNZIONE MAIN Clock = 1 @@ -56,13 +57,13 @@ func main() { //FUNZIONE MAIN fmt.Scan(&SaluteIniziale) fmt.Println("Inserisci il costo di uno spostamento iniziale (riduce l'energia ad ogni movimento) [default = 5]: ") fmt.Scan(&CostoMovIniziale) - fmt.Println("Inserisci il costo di una riproduzione iniziale (riduce l'energia ad ogni riproduzione) [default = 40]: ") + fmt.Println("Inserisci il costo di una riproduzione iniziale (riduce l'energia ad ogni riproduzione) [default = 50]: ") fmt.Scan(&CostoSexIniziale) fmt.Println("Inserisci i secondi di vita massimi (limita la durata della vita) [default = 30]: ") fmt.Scan(&AgeMaxInizio) - fmt.Println("Inserisci il valore nutrizionale del cibo (di quanto aumenta l'energia di chi lo mangia) [default = 15]: ") + fmt.Println("Inserisci il valore nutrizionale del cibo (di quanto aumenta l'energia di chi lo mangia) [default = 10]: ") fmt.Scan(&ValoreNutrizionale) - fmt.Println("Inserisci il valore nutrizionale delle carcasse (di quanto aumenta l'energia di chi lo mangia) [default = 10]: ") + fmt.Println("Inserisci il valore nutrizionale delle carcasse (di quanto aumenta l'energia di chi lo mangia) [default = 5]: ") fmt.Scan(&ValoreNutrizionaleCarcassa) fmt.Println("Inserisci il grado di evoluzione iniziale (se maggiore di zero migliora le prestazioni vitali)[default = 0]: ") fmt.Scan(&EvoluzioneIniziale) @@ -106,14 +107,17 @@ func main() { //FUNZIONE MAIN go ServiHTML() // fai partire il server html fmt.Println("Situazione iniziale: ") + for Supestiti{ aggiorna() - + rimasti() + } +aggiorna() } func aggiorna() { //FUNZIONE AGGIORNA: chiama la funzione muovi - for { + time.Sleep(time.Second * time.Duration(Clock)) NumClock++ for i := 0; i < Altezza; i++ { @@ -124,9 +128,8 @@ func aggiorna() { //FUNZIONE AGGIORNA: chiama la funzione muovi fmt.Printf("\nSituazione dopo %d movimenti:\n", NumClock) stampaMatrice() - giraMatrice() + //giraMatrice() - } } func muovi(h int, w int) { //FUNZIONE MUOVI: aggiorna la posizione di tutti gli oggetti in tabella // h verticale, w orizzontale @@ -206,9 +209,9 @@ func muovi(h int, w int) { //FUNZIONE MUOVI: aggiorna la posizione di tutti gli } if !trovato { - direzCasVert = rand.Intn(3) + direzCasVert = rand.Intn(2) direzCasVert-- - direzCasOriz = rand.Intn(3) + direzCasOriz = rand.Intn(2) direzCasOriz-- } nuovaPosizioneH := h + direzCasVert //aggiornamento posizione verticale @@ -254,15 +257,28 @@ func muovi(h int, w int) { //FUNZIONE MUOVI: aggiorna la posizione di tutti gli } } - if (Matrix[nuovaPosizioneH][nuovaPosizioneW].Health-(Matrix[nuovaPosizioneH][nuovaPosizioneW].Premura)*5)>Matrix[nuovaPosizioneH][nuovaPosizioneW].CostoSex { //se ha energia a sufficienza per riprodursi + if (Matrix[nuovaPosizioneH][nuovaPosizioneW].Health-(Matrix[nuovaPosizioneH][nuovaPosizioneW].Premura)*10)>Matrix[nuovaPosizioneH][nuovaPosizioneW].CostoSex { //se ha energia a sufficienza per riprodursi Matrix[h][w] = Costruttore(Matrix[nuovaPosizioneH][nuovaPosizioneW].Razza, Matrix[nuovaPosizioneH][nuovaPosizioneW].Evoluzione, Matrix[nuovaPosizioneH][nuovaPosizioneW].CostoMov, Matrix[nuovaPosizioneH][nuovaPosizioneW].CostoSex, Matrix[nuovaPosizioneH][nuovaPosizioneW].Premura, SaluteIniziale, AgeMaxInizio) } } } - - +func rimasti(){ +var i int +var j int +Supestiti=false + for i=0;i