From db028ef08bb59c8ecfe4adf5dc42b014b4f0bf26 Mon Sep 17 00:00:00 2001 From: Giorgio Croci Date: Fri, 26 May 2017 14:45:02 +0200 Subject: [PATCH] aggiunta paramentri e vario --- element.go | 10 +++++++--- main.go | 20 ++++++++++++++------ 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/element.go b/element.go index cceb27a..d7192e2 100644 --- a/element.go +++ b/element.go @@ -3,9 +3,13 @@ package main import "fmt" type Element struct { //struttura che contiene sia cibo sia amebe - IsFood bool - Health int - Age int + IsFood bool //se il contenuto della cella è cibo + Health int //la sua vita + Age int //la sua età + Razza string //per distiguere amici da nemici + Evoluzione int //se evolve in positivo avrà un bonus in attacco che viene sommato a Health + CostoMov int //quanta energia spende per muoversi + CostoSex int //quanto spende per riprodursi } func (e Element) String() string { diff --git a/main.go b/main.go index 9f1b9d4..cd50af0 100644 --- a/main.go +++ b/main.go @@ -84,15 +84,23 @@ func muovi(h int, w int) { //FUNZIONE MUOVI: aggiorna la posizione di tutti gli } if tmpNewElem := Matrix[nuovaPosizioneH][nuovaPosizioneW]; tmpNewElem != nil { - if tmpNewElem.IsFood || tmpNewElem.Health < elemento.Health { // se e' cibo o un insetto piu debole - elemento.Health += tmpNewElem.Health //prelevamento energia essere fagocitato - Matrix[nuovaPosizioneH][nuovaPosizioneW] = elemento //inglobamento essere perito - } else { - Matrix[h][w] = nil //perdita nel combattimento per la sopravvivenza - tmpNewElem.Health += elemento.Health //il nemico prende l'energia + if tmpNewElem.Razza!=elemento.Razza { //se non è dalla stessa razza + if tmpNewElem.IsFood || (tmpNewElem.Health+tmpNewElem.Evoluzione) < (elemento.Health+elemento.Evoluzione) { // se e' cibo o un insetto piu debole + elemento.Health += tmpNewElem.Health //prelevamento energia essere fagocitato + Matrix[nuovaPosizioneH][nuovaPosizioneW] = elemento //inglobamento essere peritos + } else { + Matrix[h][w] = nil //perdita nel combattimento per la sopravvivenza + tmpNewElem.Health += elemento.Health //il nemico prende l'energia + } + } else { //se sono amici + if nuovaPosizioneH==h && nuovaPosizioneW==w { //se cerca di mangiare il suo amico + muovi(h, w) + } } } else { //si muove sulla nuova casella Matrix[nuovaPosizioneH][nuovaPosizioneW] = elemento Matrix[h][w] = nil } + + }