summaryrefslogtreecommitdiff
path: root/ws2015/eip/blaetter/07/de/lmu/tcs/Spieler.java
diff options
context:
space:
mode:
Diffstat (limited to 'ws2015/eip/blaetter/07/de/lmu/tcs/Spieler.java')
-rw-r--r--ws2015/eip/blaetter/07/de/lmu/tcs/Spieler.java79
1 files changed, 0 insertions, 79 deletions
diff --git a/ws2015/eip/blaetter/07/de/lmu/tcs/Spieler.java b/ws2015/eip/blaetter/07/de/lmu/tcs/Spieler.java
deleted file mode 100644
index 98bca6e..0000000
--- a/ws2015/eip/blaetter/07/de/lmu/tcs/Spieler.java
+++ /dev/null
@@ -1,79 +0,0 @@
1package de.lmu.tcs;
2
3import java.util.ArrayList;
4
5/**
6 * Controller
7 *
8 * Created by jost on 24.11.15.
9 */
10public class Spieler {
11
12 private final Spielfeld spiel;
13 private final Ansicht ansicht;
14
15 public Spieler() {
16 this.spiel = new Spielfeld(Param.SPIEL_BREITE,Param.SPIEL_HÖHE);
17 this.ansicht = new Ansicht( Param.SPIEL_BREITE,Param.SPIEL_HÖHE,Param.SKALIERUNG);
18 ansicht.zeichneSpielfeld(spiel.getFeld());
19 ansicht.setText("Außerhalb Spielfeld klicken zum Beenden");
20
21 // Benutzer setzt Anfangspostionen
22 boolean nichtzuende = true;
23 do {
24 Position p = ansicht.getClick();
25 Zelle zelle = new Zelle(p, Zelle.LEBENDIG);
26 nichtzuende = spiel.setZelle(zelle);
27 if (nichtzuende) {
28 ansicht.zeichenZelle(zelle);
29 }
30 } while (nichtzuende);
31 }
32
33 public void spielDurchführen() {
34 for (int runde=0; runde < Param.RUNDENZAHL; runde++){
35 this.rundeDurchführen();
36 ansicht.setText("Runde "+runde);
37 ansicht.sleep(Param.RUNDENZEIT);
38 }
39 }
40
41
42 public void rundeDurchführen() {
43 ArrayList<Zelle> änderungen = new ArrayList<Zelle>();
44 // Änderungen anhand altem Zustand feststellen
45 for (Zelle zelle : spiel.getZellen()) {
46// ArrayList<Zelle> nachbarn = spiel.getNachbarn(zelle);
47 Zelle[] nachbarn = spiel.getNachbarnAryWrapped(zelle);
48 int lebendigeNachbarn = 0;
49 for (Zelle nachbar : nachbarn) {
50 if (nachbar.istLebendig()) lebendigeNachbarn++;
51 }
52 // if (zelle.istLebendig()) {
53 // if (lebendigeNachbarn <= 1 || lebendigeNachbarn >=4) {
54 // Zelle neu = new Zelle(zelle.getPosition(),Zelle.TOT);
55 // änderungen.add(neu);
56 // }
57 // } else { // eventuell zu einem if umbauen, welches Zustand ins Gegenteil verkehrt
58 // if (lebendigeNachbarn == 3) {
59 // Zelle neu = new Zelle(zelle.getPosition(),Zelle.LEBENDIG);
60 // änderungen.add(neu);
61 // }
62 // }
63 Zelle neu;
64 if (zelle.istLebendig() && lebendigeNachbarn % 2 == 0)
65 neu = new Zelle(zelle.getPosition(),Zelle.TOT);
66 else if (! zelle.istLebendig() && lebendigeNachbarn % 2 == 1)
67 neu = new Zelle(zelle.getPosition(),Zelle.LEBENDIG);
68 else
69 neu = zelle.nachkommen();
70 änderungen.add(neu);
71 }
72 // Erkannte Änderungen nun einpflegen
73 for (Zelle zelle : änderungen) {
74 spiel.setZelle(zelle);
75 ansicht.zeichenZelle(zelle);
76 }
77 }
78
79}