This commit is contained in:
Claudio Maggioni 2017-05-26 14:09:41 +02:00
parent ff31cf4230
commit d19bb2684b

46
main.go
View file

@ -10,7 +10,7 @@ import (
var Matrix [][]*Element var Matrix [][]*Element
var Altezza int var Altezza int
var Lunghezza int var Larghezza int
var SaluteIniziale int var SaluteIniziale int
var Clock uint var Clock uint
@ -24,8 +24,8 @@ func main() {
if err2 != nil { if err2 != nil {
panic("width not valid") panic("width not valid")
} }
Altezza = height Altezza = height
Lunghezza width Larghezza = width
Matrix = make([][]*Element, height) Matrix = make([][]*Element, height)
for i := range Matrix { // inizializzazione matrice for i := range Matrix { // inizializzazione matrice
Matrix[i] = make([]*Element, width) Matrix[i] = make([]*Element, width)
@ -68,26 +68,26 @@ func muovi(h int, w int) { // h verticale, w orizzontale
direzCasOriz-- direzCasOriz--
direzCasVert := rand.Intn(2) direzCasVert := rand.Intn(2)
direzCasVert-- direzCasVert--
nuovaPosizioneH = h + direzCasVert nuovaPosizioneH := h + direzCasVert
nuovaPosizioneW =w + direzCasOriz nuovaPosizioneW := w + direzCasOriz
if nuovaPosizioneH > Altezza || nuovaPosizioneH < 0 { if nuovaPosizioneH > Altezza || nuovaPosizioneH < 0 {
muovi(h, w) muovi(h, w)
} }
if nuovaPosizioneW > larghezza || nuovaPosizioneW < 0 { if nuovaPosizioneW > Larghezza || nuovaPosizioneW < 0 {
muovi(h, w) muovi(h, w)
} }
if tmpNewElem := Matrix[nuovaPosizioneH][nuovaPosizioneW]; tmpNewElem != nil { if tmpNewElem := Matrix[nuovaPosizioneH][nuovaPosizioneW]; tmpNewElem != nil {
if tmpNewElem.IsFood || tmpNewElem.Health < elemento.Health { // se e' cibo o un insetto piu debole if tmpNewElem.IsFood || tmpNewElem.Health < elemento.Health { // se e' cibo o un insetto piu debole
elemento.Health += tmpNewElem.Health elemento.Health += tmpNewElem.Health
Matrix[nuovaPosizioneH][nuovaPosizioneW] = elemento Matrix[nuovaPosizioneH][nuovaPosizioneW] = elemento
} else { } else {
Matrix[h][w] = nil Matrix[h][w] = nil
tmpNewElem.Health += elemento.Health tmpNewElem.Health += elemento.Health
} }
} else { } else {
Matrix[nuovaPosizioneH][nuovaPosizioneW] = elemento Matrix[nuovaPosizioneH][nuovaPosizioneW] = elemento
Matrix[h][w] = nil Matrix[h][w] = nil
} }
} }