all repos — WarBot2020 @ 18ce8cf3a05f92a571e69680c7954c3ccc17c324

Bootleg version of "WorldWarBot 2020" done in Java and without a map.

Add files via upload
Bi-Rabittoh andronacomarco@gmail.com
Sat, 06 Apr 2019 02:45:50 +0200
commit

18ce8cf3a05f92a571e69680c7954c3ccc17c324

parent

d44397ea3ecd40bae92ad791bfe4e0ef85bfdffe

M siciliaguerrabot2020/Guerra/Comune.javasiciliaguerrabot2020/Guerra/Comune.java

@@ -15,12 +15,11 @@ */

public class Comune implements Comparable<Comune> { private boolean vivo; private String nome; - private Centroide pos; + private Posizione pos; private LinkedList<Territorio> territori; private final int pop; - private double winrate; - public Comune(String nome, int pop, Centroide pos) { + public Comune(String nome, int pop, Posizione pos) { this.nome = nome; this.pop = pop; this.pos = pos;

@@ -45,11 +44,10 @@ public int getPop() {

return pop; } - public Centroide getPos() { + public Posizione getPos() { return pos; } - public LinkedList<Territorio> getTerritori() { return territori; }

@@ -60,24 +58,13 @@ public String toString() {

return "Comune{" + "vivo=" + vivo + ", nome=" + nome + ", pop=" + pop + ", pos=" + pos + '}'; } - //FUNZIONI GEOMETRICHE - + //FUNZIONI BELLE public void aggiornaCentroide(){ - Territorio territorio; - Centroide temp = territori.get(0).getPos(); - for(int i = 0; i < territori.size(); i++){ - territorio = territori.get(i); - - } - - for (Territorio t : territori){ - temp = temp.puntoMedio(t.getPos()); + pos = pos.puntoMedio(t.getPos()); } - pos = temp; } - //FUNZIONI BELLE public boolean conquista(Territorio target){ boolean ris = false; target.getProprietario().territori.remove(target);
A siciliaguerrabot2020/Guerra/Posizione.java

@@ -0,0 +1,34 @@

+/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package siciliaguerrabot2020.Guerra; + +/** + * + * @author Bi-Rabittoh + */ +public class Posizione { + public double x; + public double y; + + public Posizione(double x, double y) { + this.x = x; + this.y = y; + } + + @Override + public String toString() { + return "Centroide{" + "x=" + x + ", y=" + y + '}'; + } + + //FORMULE GEOMETRICHE + public Posizione puntoMedio(Posizione target){ + return new Posizione((this.x + target.x) / 2, (this.y + target.y) / 2); + } + + public double distanza(Posizione target){ + return Math.sqrt(Math.pow(this.x - target.x, 2) + Math.pow(this.y - target.y, 2)); + } +}
A siciliaguerrabot2020/Guerra/StatComune.java

@@ -0,0 +1,37 @@

+/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package siciliaguerrabot2020.Guerra; + +/** + * + * @author Marco + */ +public class StatComune implements Comparable<StatComune> { + private final String nome; + private int n_vincite; + + public StatComune(String nome) { + this.nome = nome; + this.n_vincite = 0; + } + + public String getNome() { + return nome; + } + + public double getWinrate(int n_partite) { + return (100 * (double)n_vincite / (double)n_partite); + } + + public void winWar(){ + n_vincite++; + } + + @Override + public int compareTo(StatComune thi) { + return (thi.n_vincite - this.n_vincite); + } +}
M siciliaguerrabot2020/Guerra/Territorio.javasiciliaguerrabot2020/Guerra/Territorio.java

@@ -12,9 +12,9 @@ */

public class Territorio { private final String nome; private Comune proprietario; - private final Centroide pos; + private final Posizione pos; - public Territorio(String nome, Comune proprietario, Centroide pos) { + public Territorio(String nome, Comune proprietario, Posizione pos) { this.nome = nome; this.proprietario = proprietario; this.pos = pos;

@@ -28,7 +28,7 @@ public void setProprietario(Comune proprietario) {

this.proprietario = proprietario; } - public Centroide getPos() { + public Posizione getPos() { return pos; }