This commit is contained in:
Claudio Maggioni 2017-05-26 15:36:30 +02:00
commit f80e61f1e2
3 changed files with 68 additions and 3 deletions

47
Interfaccia.html Normal file
View File

@ -0,0 +1,47 @@
<html>
<head>
<title>GoBug</title>
<meta charset="UTF-8">
<style type="text/css">
h1 {
color: white;
text-align: center;
font-size:2.4em;
}
body{
background: #009999;
}
table{
border: 1px solid white;
empty-cells: show;
background: white;
padding: 0px;
width:100%;
height: 89%;
}
td,tr{
background: white;
padding: 0px
}
</style>
</head>
<body>
<h1> Go bug</h1>
<table>
<tr>
<th></th>
<th></th>
<th></th>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</body>
</html>

View File

@ -10,6 +10,7 @@ type Element struct { //struttura che contiene sia cibo sia amebe
Evoluzione int //se evolve in positivo avrà un bonus in attacco che viene sommato a Health Evoluzione int //se evolve in positivo avrà un bonus in attacco che viene sommato a Health
CostoMov int //quanta energia spende per muoversi CostoMov int //quanta energia spende per muoversi
CostoSex int //quanto spende per riprodursi CostoSex int //quanto spende per riprodursi
Premura int //quanto distacco di energia è necessario per compiere la riproduzione allo scopo di evitare di rimanere a secco
} }
func (e Element) String() string { func (e Element) String() string {

21
main.go
View File

@ -79,9 +79,9 @@ func muovi(h int, w int) { //FUNZIONE MUOVI: aggiorna la posizione di tutti gli
if elemento == nil || elemento.IsFood { //controllo se 'elemento' è cibo o un altro essere if elemento == nil || elemento.IsFood { //controllo se 'elemento' è cibo o un altro essere
return return
} }
direzCasOriz := rand.Intn(2) direzCasOriz := rand.Intn(3) //numero da 0 a 2
direzCasOriz-- direzCasOriz--
direzCasVert := rand.Intn(2) direzCasVert := rand.Intn(3)
direzCasVert-- direzCasVert--
nuovaPosizioneH := h + direzCasVert //aggiornamento posiozione verticale nuovaPosizioneH := h + direzCasVert //aggiornamento posiozione verticale
nuovaPosizioneW := w + direzCasOriz //aggiornamento posizione orizzontale nuovaPosizioneW := w + direzCasOriz //aggiornamento posizione orizzontale
@ -108,8 +108,21 @@ func muovi(h int, w int) { //FUNZIONE MUOVI: aggiorna la posizione di tutti gli
} else { //si muove sulla nuova casella } else { //si muove sulla nuova casella
Matrix[nuovaPosizioneH][nuovaPosizioneW] = elemento Matrix[nuovaPosizioneH][nuovaPosizioneW] = elemento
Matrix[h][w] = nil Matrix[h][w] = nil
elemento.Health -= elemento.CostoMov
if rand.Intn(10) == 0 { //se ha fortuna (o sfortuna) si evolve
if rand.Intn(3) == 0 {
elemento.Evoluzione--
} else {
elemento.Evoluzione++
}
} }
if (elemento.Health - elemento.Premura) > elemento.CostoSex { //se ha energia a sufficienza per riprodursi
riproduci(h, w)
}
}
} }
func stampaMatrice() { func stampaMatrice() {
@ -127,3 +140,7 @@ func stampaMatrice() {
} }
} }
} }
func riproduci(h int, w int) {
}