diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 0000000..91e1216
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,6 @@
+{
+ "recommendations": [
+ "vscjava.vscode-java-pack",
+ "SonarSource.sonarlint-vscode"
+ ]
+}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 8720bec..a07dbb5 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -2,5 +2,6 @@
"sonarlint.connectedMode.project": {
"connectionId": "bme-mit-iet-org",
"projectKey": "BME-MIT-IET_iet-hf-2024-nomad-szabotorok"
- }
+ },
+ "java.configuration.updateBuildConfiguration": "interactive"
}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 9cf99a8..1444842 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,13 +9,11 @@
1.0-SNAPSHOT
pipe_game
-
- http://www.example.com
UTF-8
- 1.7
- 1.7
+ 1.8
+ 1.8
bme-mit-iet-org
https://sonarcloud.io
diff --git a/src/main/java/hu/bme/mit/iet/pipe_game/Cistern.java b/src/main/java/hu/bme/mit/iet/pipe_game/Cistern.java
index e3fc573..0315f72 100644
--- a/src/main/java/hu/bme/mit/iet/pipe_game/Cistern.java
+++ b/src/main/java/hu/bme/mit/iet/pipe_game/Cistern.java
@@ -26,6 +26,7 @@ public class Cistern extends SystemPart {
private boolean hasPipe = false;
private int pCount = 0;
private int timeLeft = 2;
+ private Random rand = new Random();
/**
* Konstruktor, ami beállítja az id-t az osztály nevére és egy eltérő számra
@@ -39,13 +40,13 @@ public Cistern() {
* A csőnek mindkét szomszégjának magát állítja be,
* hogy ne legyen szabad és ne folyon ki belőle a víz
*/
- public void CreatePipe() {
+ public void createPipe() {
Pipe p = new Pipe();
- Control.AddPipe(p);
- p.AddNeighbour(this);
- p.AddNeighbour(this);
- AddNeighbour(p);
- AddNeighbour(p);
+ Control.addPipe(p);
+ p.addNeighbour(this);
+ p.addNeighbour(this);
+ addNeighbour(p);
+ addNeighbour(p);
pipe = p;
hasPipe = true;
pCount++;
@@ -54,9 +55,9 @@ public void CreatePipe() {
/**
* Létrehoz egy új pumpát és eltárolja azt a tagváltozójába
*/
- public void CreatePump() {
+ public void createPump() {
pump = new Pump();
- Control.AddPump(pump);
+ Control.addPump(pump);
}
/**
@@ -64,7 +65,7 @@ public void CreatePump() {
* @return visszadjuk a pumpát
*/
@Override
- public Pump CarryPump() {
+ public Pump carryPump() {
Pump p = pump;
pump = null;
@@ -78,12 +79,12 @@ public Pump CarryPump() {
* @return visszadja hogy mennyi vizet gyűjtött össze
*/
@Override
- public int PullWater() {
+ public int pullWater() {
int points = 0;
- for (SystemPart pipe: neighbours) {
- points += pipe.getWater();
- pipe.setWater(0);
+ for (SystemPart _pipe: neighbours) {
+ points += _pipe.getWater();
+ _pipe.setWater(0);
}
return points;
}
@@ -92,16 +93,15 @@ public int PullWater() {
* A control minden körben meghívja,
* ha letelik az idő akkor generál egy pumpát vagy csövet
*/
- public void Generate() {
- Random rand = new Random();
+ public void generate() {
int coin = rand.nextInt(2);
if (--timeLeft == 0) {
if (coin == 1 ) {
- CreatePump();
+ createPump();
}
else {
- CreatePipe();
+ createPipe();
}
timeLeft = 2;
}
diff --git a/src/main/java/hu/bme/mit/iet/pipe_game/CisternView.java b/src/main/java/hu/bme/mit/iet/pipe_game/CisternView.java
index 7c01171..2ac4ba1 100644
--- a/src/main/java/hu/bme/mit/iet/pipe_game/CisternView.java
+++ b/src/main/java/hu/bme/mit/iet/pipe_game/CisternView.java
@@ -31,7 +31,7 @@ public CisternView(View view, Cistern cistern) {
* frissíti a part JButtont a jelenlegi állapotoknak megfelelően
*/
@Override
- public void Update() {
+ public void update() {
button.setBounds(x,y,50,50);
button.setBackground(Color.RED);
@@ -42,7 +42,7 @@ public void Update() {
*/
view.getPanel().remove(button);
- while (players.size() > 0){
+ while (!players.isEmpty()){
view.getPanel().remove(players.get(0));
players.remove(0);
}
@@ -79,6 +79,7 @@ public void Update() {
* getter fügvény ID-re
* @return ID-t adja vissza
*/
+ @Override
public String getID(){
return cistern.getId();
}
diff --git a/src/main/java/hu/bme/mit/iet/pipe_game/Control.java b/src/main/java/hu/bme/mit/iet/pipe_game/Control.java
index 6b91848..75ec616 100644
--- a/src/main/java/hu/bme/mit/iet/pipe_game/Control.java
+++ b/src/main/java/hu/bme/mit/iet/pipe_game/Control.java
@@ -3,18 +3,22 @@
import java.util.*;
public class Control {
- private ArrayList mechanics = new ArrayList<>();
- private ArrayList saboteurs = new ArrayList<>();
+ private static ArrayList mechanics = new ArrayList<>();
+ private static ArrayList saboteurs = new ArrayList<>();
private static ArrayList pumps = new ArrayList<>();
- private ArrayList cisterns = new ArrayList<>();
- private ArrayList waterSources = new ArrayList<>();
+ private static ArrayList cisterns = new ArrayList<>();
+ private static ArrayList waterSources = new ArrayList<>();
private static ArrayList pipes = new ArrayList<>();
- private int rounds, maxRound;
- private static int saboteurPoints, mechanicPoints;
- private Player currentPlayer,lastPlayer;
- private boolean gameOver = false;
- private boolean randEnabled = true;
- private int pumpBreak = 2;
+ private static int rounds;
+ private static int maxRound;
+ private static int saboteurPoints;
+ private static int mechanicPoints;
+ private static Player currentPlayer;
+ private static Player lastPlayer;
+ private static boolean gameOver = false;
+ private static boolean randEnabled = true;
+ private static int pumpBreak = 2;
+ private static Random rnd = new Random();
/**
* A játék inicializálása:
@@ -25,7 +29,7 @@ public class Control {
* @param mechanicCounter hány szerelő játszik
* @param saboteurCounter hány szabotőr játszik
*/
- public void Init(int r, int mechanicCounter, int saboteurCounter) {
+ public static void init(int r, int mechanicCounter, int saboteurCounter) {
maxRound = r;
rounds = 1;
@@ -65,8 +69,8 @@ public void Init(int r, int mechanicCounter, int saboteurCounter) {
connect(pump2, pipe3);
connect(pump2, pipe5);
- pump1.AcceptNewFlow(pipe1,pipe4);
- pump2.AcceptNewFlow(pipe2,pipe5);
+ pump1.acceptNewFlow(pipe1,pipe4);
+ pump2.acceptNewFlow(pipe2,pipe5);
connect(c1, pipe4);
connect(c2, pipe5);
@@ -100,36 +104,40 @@ public void Init(int r, int mechanicCounter, int saboteurCounter) {
* Ilyenkor folyik a víz a csőrendszerben és frissülnek a csapatok pontszámai
* Csökkenti az efektek időtartalmát
*/
- public void RoundOver() {
- /** ciszternák
- */
- for (Cistern c:cisterns) {
- mechanicPoints += c.PullWater();
- c.Generate();
- }
- /** pumpák
- */
+
+ public static void handlePumps() {
for (Pump p:pumps) {
- saboteurPoints += p.PushWater();
+ saboteurPoints += p.pushWater();
}
for (Pump p:pumps) {
- p.PullWater();
+ p.pullWater();
// pump random eltörése
- Random rnd = new Random();
pumpBreak--;
if (randEnabled) {
if(rnd.nextInt(10) > 7)
- p.BreakPump();
+ p.breakPump();
}
else {
if (pumpBreak == 0)
- p.BreakPump();
+ p.breakPump();
}
}
+ }
+ public static void roundOver() {
+ /** ciszternák
+ */
+ for (Cistern c:cisterns) {
+ mechanicPoints += c.pullWater();
+ c.generate();
+ }
+ /** pumpák
+ */
+ handlePumps();
+
/** Vízforrás
*/
for (WaterSource ws:waterSources) {
- saboteurPoints += ws.PushWater();
+ saboteurPoints += ws.pushWater();
}
/** Csövek
*/
@@ -149,28 +157,53 @@ public void RoundOver() {
}
}
+ public void pumpChangeFlow(List command) {
+ if (command.size() < 3) {
+ return;
+ }
+ String[] s1 = command.get(1).split(" ");
+ int p1 = Integer.parseInt(s1[1]);
+ int p2 = Integer.parseInt(command.get(3));
+ if (0 > p1 || p1 >= pipes.size() || 0 > p2 || p2 >= pipes.size() ){
+ // Nem letezo elemek
+ return;
+ }
- /**
- * A játékos parancsait feldolgozó és megvalósító metódus
- * @param "currentPlayer" az éppen soron lévő játékos
- */
- public int PlayerAction(ArrayList command) {
+ Pipe pipe1 = pipes.get(p1);
+ Pipe pipe2 = pipes.get(p2);
+ boolean p1found = false;
+ boolean p2found = false;
+
+ for (int i = 0; i < currentPlayer.getPosition().getNeighbours().size();++i) {
+ String id = currentPlayer.getPosition().getNeighbours().get(i).getId();
+ if (!p1found && id.equals(pipe1.id))
+ p1found = true;
+ if (!p2found && id.equals(pipe2.id))
+ p2found = true;
+ if (p1found && p2found) {
+ currentPlayer.changePumpFlow(pipe1, pipe2);
+ break;
+ }
+ }
+ }
+
+ public int handlePlayerCommand(List command) {
int pumpLayed = -1;
switch (command.get(0)){
case "breakpipe":
- currentPlayer.BreakPipe();
+ currentPlayer.breakPipe();
break;
case "carrypipe":
- currentPlayer.CarryPipeEnd(pipes.get(Integer.parseInt(command.get(2))));
+ currentPlayer.carryPipeEnd(pipes.get(Integer.parseInt(command.get(2))));
break;
case "carrypump":
- currentPlayer.CarryPump();
+ currentPlayer.carryPump();
break;
case "laypipe":
- currentPlayer.LayPipe();
+ currentPlayer.layPipe();
break;
case "laypump":
- SystemPart pump = currentPlayer.LayPump();
+ SystemPart pump = currentPlayer.layPump();
if (pumps.contains(pump))
pumpLayed = pumps.indexOf(pump);
break;
@@ -185,45 +218,20 @@ public int PlayerAction(ArrayList command) {
if (moveTo == null) {//ha nem erheto el breakelunk
break;
}
- currentPlayer.Move(moveTo);//jatekos probal mozogni
+ currentPlayer.move(moveTo);//jatekos probal mozogni
break;
}
case "pumpchangeflow":
- if (command.size() < 3) {
- break;
- }
- String[] s1 = command.get(1).split(" ");
- int p1 = Integer.parseInt(s1[1]);
- int p2 = Integer.parseInt(command.get(3));
- if (0 > p1 || p1 >= pipes.size() || 0 > p2 || p2 >= pipes.size() ){
- // Nem letezo elemek
- break;
- }
-
- Pipe pipe1 = pipes.get(p1);
- Pipe pipe2 = pipes.get(p2);
- boolean p1found = false, p2found = false;
-
- for (int i = 0; i < currentPlayer.getPosition().getNeighbours().size();++i) {
- String id = currentPlayer.getPosition().getNeighbours().get(i).getId();
- if (!p1found && id.equals(pipe1.id))
- p1found = true;
- if (!p2found && id.equals(pipe2.id))
- p2found = true;
- if (p1found && p2found) {
- currentPlayer.ChangePumpFlow(pipe1, pipe2);
- break;
- }
- }
+ pumpChangeFlow(command);
break;
case "repair":
- currentPlayer.Repair();
+ currentPlayer.repair();
break;
case "makeslippery":
- currentPlayer.MakePipeSlippery();
+ currentPlayer.makePipeSlippery();
break;
case "makegluey":
- currentPlayer.GluePipe();
+ currentPlayer.gluePipe();
break;
case "pass":
// passed the turn
@@ -232,23 +240,32 @@ public int PlayerAction(ArrayList command) {
default:
break;
}
+ return pumpLayed;
+ }
+
+ /**
+ * A játékos parancsait feldolgozó és megvalósító metódus
+ * @param "currentPlayer" az éppen soron lévő játékos
+ */
+ public int playerAction(List command) {
+ int pumpLayed = handlePlayerCommand(command);
currentPlayer.decActionPoints();
boolean roundOver = false;
/** Ha nincs akciopontja a jelenlegi jatekosnak, iteralni kell egyet a jatekosok kozott
*/
if (currentPlayer.getActionPoints() <= 0) {
- roundOver = IterateCurrentPlayer();
+ roundOver = iterateCurrentPlayer();
currentPlayer.setActionPoints(3);
}
/** Ha kör vége van
*/
if (roundOver){
- RoundOver();
+ roundOver();
}
return pumpLayed;
}
- public void setMechanicPoints(int points) {
+ public static void setMechanicPoints(int points) {
mechanicPoints = points;
}
public int getMechanicPoints(){
@@ -261,42 +278,42 @@ public static int getSaboteurPoints() {
return saboteurPoints;
}
- public static void AddPump(Pump p) {
+ public static void addPump(Pump p) {
Control.pumps.add(p);
}
- public static void AddPipe(Pipe p) {
+ public static void addPipe(Pipe p) {
Control.pipes.add(p);
}
- private void connect(SystemPart s1, SystemPart s2) {
- s1.AddNeighbour(s2);
- s2.AddNeighbour(s1);
+ private static void connect(SystemPart s1, SystemPart s2) {
+ s1.addNeighbour(s2);
+ s2.addNeighbour(s1);
}
- public void setRand(boolean a) {
+ public static void setRand(boolean a) {
randEnabled = a;
}
- public ArrayList getMechanics(){
+ public List getMechanics(){
return mechanics;
}
- public ArrayList getSaboteurs(){
+ public List getSaboteurs(){
return saboteurs;
}
- public ArrayList getPipes(){
+ public List getPipes(){
return pipes;
}
- public ArrayList getPumps(){
+ public List getPumps(){
return pumps;
}
- public ArrayList getCisterns(){
+ public List getCisterns(){
return cisterns;
}
- public ArrayList getWaterSources(){
+ public List getWaterSources(){
return waterSources;
}
@@ -305,7 +322,7 @@ public ArrayList getWaterSources(){
* Iteralja a jatekosokat
* @return
*/
- public boolean IterateCurrentPlayer(){
+ public static boolean iterateCurrentPlayer(){
if(mechanics.contains(currentPlayer)) {
int mechIdx = mechanics.indexOf(currentPlayer);
if (mechIdx == (mechanics.size() - 1)) {
@@ -338,21 +355,22 @@ else if(saboteurs.contains(currentPlayer)) {
* @return String status
*/
public String getStatus() {
- String mehanicParts = "";
- for (Mechanic m: mechanics) {
- mehanicParts += m.getId() + " has: " + m.getPart() + "\n" ;
+ StringBuilder mechanicPartsBuilder = new StringBuilder();
+ for (Mechanic m : mechanics) {
+ mechanicPartsBuilder.append(m.getId())
+ .append(" has: ")
+ .append(m.getPart())
+ .append("\n");
}
- String status =
- "Round " + rounds + "/" + maxRound + "\n" +
+ String mechanicParts = mechanicPartsBuilder.toString();
+ return "Round " + rounds + "/" + maxRound + "\n" +
"Mechanic points: " + mechanicPoints + "\n" +
"Saboteur points: " + saboteurPoints + "\n" +
"\n" +
"Now playing: " + currentPlayer.id + "\n" +
"Actions left: " + currentPlayer.getActionPoints() + "\n" +
"\n" +
- mehanicParts ;
-
- return status;
+ mechanicParts ;
}
/**
@@ -369,7 +387,7 @@ public Player getLastPlayer() {
* Vege van-e a hateknak
* @return vege van-e a jateknak
*/
- public boolean GameOver() {
+ public boolean gameOver() {
return gameOver;
}
}
diff --git a/src/main/java/hu/bme/mit/iet/pipe_game/GUIControl.java b/src/main/java/hu/bme/mit/iet/pipe_game/GUIControl.java
index 8b6fff2..c1c98d7 100644
--- a/src/main/java/hu/bme/mit/iet/pipe_game/GUIControl.java
+++ b/src/main/java/hu/bme/mit/iet/pipe_game/GUIControl.java
@@ -2,25 +2,24 @@
import javax.swing.*;
import java.awt.*;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
-import java.awt.geom.Line2D;
-import java.beans.PropertyChangeListener;
-import java.nio.channels.Pipe;
import java.util.ArrayList;
+import java.util.List;
public class GUIControl extends JFrame{
- private Control gameControl;
+ private transient Control gameControl;
private View gameField;
- private int rounds, mechCount, sabCount;
+ private int rounds;
+ private int mechCount;
+ private int sabCount;
+ private String arial = "Arial";
/**
* a menu létrehozása exit és start gombokkal
* a gombok műkődésének beállítása
*/
- public void Run(){
- this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ public void run(){
+ this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
this.setSize(1000, 855);
this.setTitle("Sivatagi Vízhálózat");
this.setResizable(false);
@@ -31,16 +30,16 @@ public void Run(){
menu.setPreferredSize(new Dimension(500,500));
JButton start = new JButton("Játék indítása");
- start.setFont(new Font("Arial", Font.BOLD, 32));
+ start.setFont(new Font(arial, Font.BOLD, 32));
start.setBounds((1000-300)/2, 250, 300, 100);
JButton exit = new JButton("Kilépés");
exit.setBounds((1000-300)/2, 400, 300, 100);
- exit.setFont(new Font("Arial", Font.BOLD, 32));
+ exit.setFont(new Font(arial, Font.BOLD, 32));
JLabel title = new JLabel("Sivatagi Vízhálózat", SwingConstants.CENTER);
title.setBounds(0, 50, 1000, 150);
- title.setFont(new Font("Arial", Font.BOLD, 60));
+ title.setFont(new Font(arial, Font.BOLD, 60));
menu.add(title);
menu.add(start);
@@ -53,20 +52,8 @@ public void Run(){
* ActionListener-ek a gombokhoz
* kilepes es start
*/
- exit.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- dispatchEvent(new WindowEvent(GUIControl.this, WindowEvent.WINDOW_CLOSING));
- }
- });
-
- start.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- Settings(menu);
- }
- });
-
+ exit.addActionListener(e -> dispatchEvent(new WindowEvent(GUIControl.this, WindowEvent.WINDOW_CLOSING)));
+ start.addActionListener(e -> settings(menu));
}
/**
@@ -76,7 +63,7 @@ public void actionPerformed(ActionEvent e) {
* a start gomb megnyomására a kiválasztott beállítások beállítása
* @param oldMenu
*/
- public void Settings(JPanel oldMenu) {
+ public void settings(JPanel oldMenu) {
this.remove(oldMenu);
final JPanel menu = new JPanel();
@@ -85,11 +72,11 @@ public void Settings(JPanel oldMenu) {
JLabel title = new JLabel("Beállítások", SwingConstants.CENTER);
title.setBounds(0, 20, 1000, 150);
- title.setFont(new Font("Arial", Font.BOLD, 60));
+ title.setFont(new Font(arial, Font.BOLD, 60));
JLabel kor = new JLabel("Hány kör legyen?", SwingConstants.LEFT);
kor.setBounds(150, 200, 500, 100);
- kor.setFont(new Font("Arial", Font.BOLD, 30));
+ kor.setFont(new Font(arial, Font.BOLD, 30));
Integer[] szamok = new Integer[]{1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20};
final JComboBox roundNum = new JComboBox<>(szamok);
@@ -97,20 +84,20 @@ public void Settings(JPanel oldMenu) {
JLabel saboteur = new JLabel("Hány szabotőr legyen?", SwingConstants.LEFT);
saboteur.setBounds(150, 300, 500, 100);
- saboteur.setFont(new Font("Arial", Font.BOLD, 30));
+ saboteur.setFont(new Font(arial, Font.BOLD, 30));
final JComboBox saboteurCount = new JComboBox<>(new Integer[]{2, 3, 4});
saboteurCount.setBounds(650, 340, 50, 20);
JLabel mechanic = new JLabel("Hány szerelő legyen?", SwingConstants.LEFT);
mechanic.setBounds(150, 400, 500, 100);
- mechanic.setFont(new Font("Arial", Font.BOLD, 30));
+ mechanic.setFont(new Font(arial, Font.BOLD, 30));
final JComboBox mechanicCount = new JComboBox<>(new Integer[]{2, 3, 4});
mechanicCount.setBounds(650, 440, 50, 20);
JButton start = new JButton("Játék indítása");
- start.setFont(new Font("Arial", Font.BOLD, 32));
+ start.setFont(new Font(arial, Font.BOLD, 32));
start.setBounds((1000 - 300) / 2, 500, 300, 100);
menu.add(title);
@@ -125,16 +112,14 @@ public void Settings(JPanel oldMenu) {
/**
* 3 comboboxhoz ActionListener
*/
- start.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
+ start.addActionListener(e -> {
rounds = (int)roundNum.getSelectedItem();
sabCount = (int)saboteurCount.getSelectedItem();
mechCount = (int)mechanicCount.getSelectedItem();
remove(menu);
- StartGame();
+ startGame();
}
- });
+ );
this.add(menu);
this.revalidate();
@@ -144,12 +129,12 @@ public void actionPerformed(ActionEvent e) {
* Játék indítása
* játékmező beállítása és kirajzolása
*/
- public void StartGame() {
+ public void startGame() {
gameField = new View(this);
gameControl= new Control();
- gameControl.Init(rounds,mechCount,sabCount);
+ Control.init(rounds,mechCount,sabCount);
- ArrayList things = new ArrayList();
+ ArrayList things = new ArrayList<>();
for (int i = 0; i < gameControl.getPipes().size(); ++i){
PipeView thing = new PipeView(gameField, gameControl.getPipes().get(i));
@@ -188,72 +173,77 @@ public void StartGame() {
things.get(10).setCoords(750, 0);
gameField.setFields(things);
- gameField.UpdateAll();
+ gameField.updateAll();
}
- /**
- * Egy commandot vegrehajt, azaz atad a modellnek, h vegrehajtsa az akciot.
- * Ha letettunk egy pumpat, akkor azt felveszi a jatekterbe
- * @param commands
- */
- public void commitCommand(ArrayList commands) {
- int ertek = gameControl.PlayerAction(commands);
+ public void handlePutDownPipe(int ertek) throws NullPointerException {
+ Pump pump = gameControl.getPumps().get(ertek);
+ PumpView pumpView = new PumpView(gameField, pump);
+ PipeView pipeView = new PipeView(gameField, gameControl.getPipes().get(gameControl.getPipes().size() - 1));
- /**
- * ha ertek <0 ,akkor nem volt pumpaletetel
- * ha ertek >= 0, akkro volt, es ertek a pumps-ban az idnexet adja vissza
- */
- if ( ertek>= 0) {
- Pump pump = gameControl.getPumps().get(ertek);
- PumpView pumpView = new PumpView(gameField, pump);
- PipeView pipeView = new PipeView(gameField, gameControl.getPipes().get(gameControl.getPipes().size() - 1));
-
- ViewBase posPipe = null;
- for (int i = 0; i < gameField.getFields().size(); ++i) {
+ ViewBase posPipe = null;
+ for (int i = 0; i < gameField.getFields().size(); ++i) {
- if (gameControl.getLastPlayer().getPosition().getId().equals(gameField.getFields().get(i).getID())) {
- posPipe = gameField.getFields().get(i);
- break;
- }
+ if (gameControl.getLastPlayer().getPosition().getId().equals(gameField.getFields().get(i).getID())) {
+ posPipe = gameField.getFields().get(i);
+ break;
}
+ }
- int n1X = 0;
- int n1Y = 0;
- int n2X = 0;
- int n2Y = 0;
+ int n1X = 0;
+ int n1Y = 0;
+ int n2X = 0;
+ int n2Y = 0;
- SystemPart posp = pump.getNeighbours().get(0);
- SystemPart newp = pump.getNeighbours().get(1);
+ SystemPart posp = pump.getNeighbours().get(0);
+ SystemPart newp = pump.getNeighbours().get(1);
- String n1 = posp.getNeighbours().get(0).getId();
- String n2 = newp.getNeighbours().get(1).getId();
+ String n1 = posp.getNeighbours().get(0).getId();
+ String n2 = newp.getNeighbours().get(1).getId();
- ArrayList fields = gameField.getFields();
- for (ViewBase f : fields) {
- String id = f.getID();
- if (id.equals(n1)) {
- n1X = f.getX();
- n1Y = f.getY();
- }
- if (id.equals(n2)) {
- n2X = f.getX();
- n2Y = f.getY();
- }
+ List fields = gameField.getFields();
+ for (ViewBase f : fields) {
+ String id = f.getID();
+ if (id.equals(n1)) {
+ n1X = f.getX();
+ n1Y = f.getY();
+ }
+ if (id.equals(n2)) {
+ n2X = f.getX();
+ n2Y = f.getY();
}
+ }
+ if (posPipe == null)
+ return;
+ pumpView.setCoords(posPipe.x, posPipe.y);
+ pipeView.setCoords((n2X + posPipe.x) / 2, (n2Y + posPipe.y) / 2);
+ posPipe.setCoords((n1X + posPipe.x) / 2, (n1Y + posPipe.y) / 2);
+
+ fields.add(pumpView);
+ fields.add(pipeView);
+ }
- pumpView.setCoords(posPipe.x, posPipe.y);
- pipeView.setCoords((n2X + posPipe.x) / 2, (n2Y + posPipe.y) / 2);
- posPipe.setCoords((n1X + posPipe.x) / 2, (n1Y + posPipe.y) / 2);
+ /**
+ * Egy commandot vegrehajt, azaz atad a modellnek, h vegrehajtsa az akciot.
+ * Ha letettunk egy pumpat, akkor azt felveszi a jatekterbe
+ * @param commands
+ */
+ public void commitCommand(List commands) {
+ int ertek = gameControl.playerAction(commands);
- fields.add(pumpView);
- fields.add(pipeView);
+ /**
+ * ha ertek <0 ,akkor nem volt pumpaletetel
+ * ha ertek >= 0, akkro volt, es ertek a pumps-ban az idnexet adja vissza
+ */
+ if (ertek>= 0) {
+ handlePutDownPipe(ertek);
}
- ArrayList cisterns = gameControl.getCisterns();
+ List cisterns = gameControl.getCisterns();
for (int i = 0; i < cisterns.size(); ++i){
- if ( !cisterns.get(i).hasPump() && cisterns.get(i).hasP() ==true) {
- ArrayList fields = gameField.getFields();
+ if ( !cisterns.get(i).hasPump() && cisterns.get(i).hasP()) {
+ List fields = gameField.getFields();
PipeView pw = new PipeView(gameField, cisterns.get(i).getPipe());
int x = 0;
int y = 0;
@@ -266,20 +256,19 @@ public void commitCommand(ArrayList commands) {
}
pw.setCoords(x, y-100*cisterns.get(i).getpCount());
fields.add(pw);
- System.out.println("generalodott");
}
}
/**
* Vege van e a jateknak
*/
- CheckState();
+ checkState();
}
/**
* Ellenorizzuk, hogy vege van e a jateknak
*/
- public void CheckState() {
- if(gameControl.GameOver()) {
+ public void checkState() {
+ if(gameControl.gameOver()) {
int mech = gameControl.getMechanicPoints();
int sab = Control.getSaboteurPoints();
String end = "Vége a Játéknak!\nSzerelők pontjai: " + mech +
@@ -296,7 +285,7 @@ else if (mech fields, String id, int i) {
+ for (ViewBase f: fields) {
+ if (id.equals(f.getID())){
+ int vX = x-f.getX();
+ int vY = y-f.getY();
+ double hossz = sqrt((x-f.getX())*(x-f.getX())+(double)(y-f.getY())*(y-f.getY()));
+ int eX = (int) ((vX/hossz)*26);
+ int eY = (int) ((vY/hossz)*26);
+ Line2D line = new Line2D.Float(x+25-(float)eX,y+25-(float)eY,f.getX()+25+(float)eX,f.getY()+25+(float)eY);
+ view.addLine(line);
+
+ String[] splitted = id.split(" ");
+ if (splitted[0].equals("pump")) {
+ SystemPart pump = pipe.getNeighbours().get(i);
+
+ if (pump.getFrom() != null && pump.getFrom().equals(pipe.getId())) {
+ Line2D lineend1 = new Line2D.Float(f.getX() + 25 + (float)eX, f.getY() + 25 + (float)eY, f.getX() + 25 + 2 * eX - (float)eY / 2, f.getY() + 25 + 2 * eY + (float)eX / 2);
+ Line2D lineend2 = new Line2D.Float(f.getX() + 25 + 2 * eX + (float)eY / 2, f.getY() + 25 + 2 * eY - (float)eX / 2, f.getX() + 25 + (float)eX, f.getY() + 25 + (float)eY);
+ view.addLine(lineend1);
+ view.addLine(lineend2);
+ }
+ else if (pump.getTo() != null && pump.getTo().equals(pipe.getId())) {
+ Line2D lineend1 = new Line2D.Float(x + 25 - (float)eX, y + 25 - (float)eY, x+ 25 - 2 * eX - (float)eY / 2, y+ 25 - 2 * eY + (float)eX / 2);
+ Line2D lineend2 = new Line2D.Float(x + 25 - 2 * eX + (float)eY / 2, y + 25 - 2 * eY - (float)eX / 2, x + 25 - (float)eX, y + 25 - (float)eY);
+ view.addLine(lineend1);
+ view.addLine(lineend2);
+ }
+ }
+ }
+ }
+ }
+
+ public void drawLinesAndArrows() {
+ List fields = view.getFields();
+ for (int i = 0; i < pipe.neighbours.size(); ++i){
+ String id = pipe.getNeighbours().get(i).getId();
+ drawFields(fields, id, i);
+ }
+ }
+
/**
* A példány jelenlegi állapotához kötődő grafikus frissítés
* effectek beállítása
* játékosok helyes feltétele a jelenlegi állapotnak megfelelően
*/
@Override
- public void Update() {
+ public void update() {
button.setBounds(x, y, 50, 50);
button.setBackground(Color.LIGHT_GRAY);
button.setFont(new Font("Arial", Font.BOLD, 10));
@@ -57,7 +95,7 @@ else if (pipe.isGlued())
}
view.getPanel().remove(nev);
- if (pipe.players.size() == 0)
+ if (pipe.players.isEmpty())
button.setText(pipe.getId());
else {
button.setText(pipe.getId());
@@ -71,39 +109,7 @@ else if (pipe.isGlued())
/**
* Vonalak es nyilak kirajzolasa
*/
- ArrayList fields = view.getFields();
- for (int i = 0; i < pipe.neighbours.size(); ++i){
- String id = pipe.getNeighbours().get(i).getId();
- for (ViewBase f: fields) {
- if (id.equals(f.getID())){
- int vX = x-f.getX();
- int vY = y-f.getY();
- double hossz = sqrt((x-f.getX())*(x-f.getX())+(y-f.getY())*(y-f.getY()));
- int eX = (int) ((vX/hossz)*26);
- int eY = (int) ((vY/hossz)*26);
- Line2D line = new Line2D.Float(x+25-eX,y+25-eY,f.getX()+25+eX,f.getY()+25+eY);
- view.addLine(line);
-
- String[] splitted = id.split(" ");
- if (splitted[0].equals("pump")) {
- SystemPart pump = pipe.getNeighbours().get(i);
-
- if (pump.getFrom() != null && pump.getFrom().equals(pipe.getId())) {
- Line2D lineend1 = new Line2D.Float(f.getX() + 25 + eX, f.getY() + 25 + eY, f.getX() + 25 + 2 * eX - eY / 2, f.getY() + 25 + 2 * eY + eX / 2);
- Line2D lineend2 = new Line2D.Float(f.getX() + 25 + 2 * eX + eY / 2, f.getY() + 25 + 2 * eY - eX / 2, f.getX() + 25 + eX, f.getY() + 25 + eY);
- view.addLine(lineend1);
- view.addLine(lineend2);
- }
- else if (pump.getTo() != null && pump.getTo().equals(pipe.getId())) {
- Line2D lineend1 = new Line2D.Float(x + 25 - eX, y + 25 - eY, x+ 25 - 2 * eX - eY / 2, y+ 25 - 2 * eY + eX / 2);
- Line2D lineend2 = new Line2D.Float(x + 25 - 2 * eX + eY / 2, y + 25 - 2 * eY - eX / 2, x + 25 - eX, y + 25 - eY);
- view.addLine(lineend1);
- view.addLine(lineend2);
- }
- }
- }
- }
- }
+ drawLinesAndArrows();
}
/**
diff --git a/src/main/java/hu/bme/mit/iet/pipe_game/Player.java b/src/main/java/hu/bme/mit/iet/pipe_game/Player.java
index 7881f47..321c201 100644
--- a/src/main/java/hu/bme/mit/iet/pipe_game/Player.java
+++ b/src/main/java/hu/bme/mit/iet/pipe_game/Player.java
@@ -29,7 +29,7 @@ public abstract class Player {
*/
void setPos(SystemPart next){
position = next;
- next.AcceptPlayer(this);
+ next.acceptPlayer(this);
}
/**
@@ -62,11 +62,11 @@ void decGlued() {
* ha épp le van ragadva akkor nem tud lépni
* @param newPos az új hely, ahova mozog a játékos.
*/
- public void Move(SystemPart newPos) {
+ public void move(SystemPart newPos) {
if (glued != 0)
return;
- if (newPos.AcceptPlayer(this)){
- position.RemovePlayer(this);
+ if (newPos.acceptPlayer(this)){
+ position.removePlayer(this);
position = newPos;
}
}
@@ -76,56 +76,56 @@ public void Move(SystemPart newPos) {
* @param from a cső, ahonnan folyjon a víz.
* @param to a cső, ahova menjen a víz.
*/
- public void ChangePumpFlow(Pipe from, Pipe to) {
- position.AcceptNewFlow(from, to);
+ public void changePumpFlow(Pipe from, Pipe to) {
+ position.acceptNewFlow(from, to);
}
/**
* Amennyiben a leszármazott nem tud csövet kilyukasztani, akkor kiírja, hogy ezt nem teheti meg.
*/
- public void BreakPipe() {
- position.BreakPipe();
+ public void breakPipe() {
+ position.breakPipe();
}
/**
* Amennyiben a leszármazott nem tud csövet javítani, akkor kiírja, hogy ezt nem teheti meg.
*/
- public void Repair() { }
+ public void repair() { }
/**
* Amennyiben a leszármazott nem tud felvenni csövet, akkor kiírja, hogy ezt nem teheti meg.
* @param pipe
*/
- public void CarryPipeEnd(SystemPart pipe) { }
+ public void carryPipeEnd(SystemPart pipe) { }
/**
* Amennyiben a leszármazott nem tud csövet lerakni, akkor kiírja, hogy ezt nem teheti meg.
* @return
*/
- public boolean LayPipe() {
+ public boolean layPipe() {
return false;
}
/**
* Amennyiben a leszármazott nem tud pumpát felvenni, akkor kiírja, hogy ezt nem teheti meg.
*/
- public void CarryPump() { }
+ public void carryPump() { }
/**
* Amennyiben a leszármazott nem tud pumpát lerakni, akkor kiírja, hogy ezt nem teheti meg.
* @return
*/
- public SystemPart LayPump() {
+ public SystemPart layPump() {
return null;
}
/**
* Ragadóssá teszi a csövet amin áll a játékos
*/
- public void GluePipe() {
+ public void gluePipe() {
position.setGlued();
}
- public void MakePipeSlippery() {}
+ public void makePipeSlippery() {}
public int getActionPoints() {
return actionPoints;
}
diff --git a/src/main/java/hu/bme/mit/iet/pipe_game/Pump.java b/src/main/java/hu/bme/mit/iet/pipe_game/Pump.java
index 081168d..4019fc4 100644
--- a/src/main/java/hu/bme/mit/iet/pipe_game/Pump.java
+++ b/src/main/java/hu/bme/mit/iet/pipe_game/Pump.java
@@ -11,9 +11,6 @@
//
//
-
-import java.util.ArrayList;
-
/**
* SystemPart, amely a víz áthelyezésére használható:
* egy beállított csőből kiszívja a vizet,
@@ -44,11 +41,11 @@ public Pump(Pipe f, Pipe t){
* Beallit uj pumpalasi iranyt
* Ha rosszul lett megadva a from és to cső akkor sikertelen
* @param from Az uj cso amibol vizet sziv a pumpa
- * @param to az uj cso amibe vezet tol a pumpa
+ * @param to az uj cso amibe vizet tol a pumpa
* @return ha sikeres a muvelet true-val ter vissza egyébként false
*/
@Override
- public boolean AcceptNewFlow(Pipe from, Pipe to) {
+ public boolean acceptNewFlow(Pipe from, Pipe to) {
if(from.equals(to)) {
return false;
}
@@ -61,7 +58,7 @@ public boolean AcceptNewFlow(Pipe from, Pipe to) {
* Megjavítja az eltorott pumpat
*/
@Override
- public void Repair() {
+ public void repair() {
broken = false;
}
@@ -74,26 +71,18 @@ public void Repair() {
* @return visszatér a beszívott víz mennyiségével
*/
@Override
- public int PullWater() {
- if (broken) {
- return 0;
- }
- if (from == null) {
- return 0;
- }
- if (from.isBroken()) {
- return 0;
+ public int pullWater() {
+ if (!broken && from != null && !from.isBroken()) {
+ int fromWater = from.getWater(); //lekérdezzük mennyi vizet tudunk beszívni
+ int canFit = capacity - water; //megnézzük menniy üres hely van a pumpában
+ int w = canFit - fromWater; //kivonjuk a szabad helyből a bejövő vizet
+ //ha ez NEM negatív az azt jelenti hogy befér az összes beszívható/csőben lévő víz
+ //ha negatív akkor pedig annyi vizet szívunk be amennyi befér
+ int pulled = w >= 0 ? fromWater : canFit; //így megkapjuk a tényleges beszívott vizet
+
+ water += pulled;
+ from.setWater(from.getCapacity()-pulled);
}
-
- int fromWater = from.getWater(); //lekérdezzük mennyi vizet tudunk beszívni
- int canFit = capacity - water; //megnézzük menniy üres hely van a pumpában
- int w = canFit - fromWater; //kivonjuk a szabad helyből a bejövő vizet
- //ha ez NEM negatív az azt jelenti hogy befér az összes beszívható/csőben lévő víz
- //ha negatív akkor pedig annyi vizet szívunk be amennyi befér
- int pulled = w >= 0 ? fromWater : canFit; //így megkapjuk a tényleges beszívott vizet
-
- water += pulled;
- from.setWater(from.getCapacity()-pulled);
return 0;
}
@@ -102,7 +91,7 @@ public int PullWater() {
* @return visszatér a lyukas csövön kifolyt vízzel
*/
@Override
- public int PushWater() {
+ public int pushWater() {
if (broken) {
return 0;
}
@@ -128,7 +117,7 @@ public int PushWater() {
* Eltori a pumpat
*/
@Override
- public void BreakPump() {
+ public void breakPump() {
broken = true;
}
diff --git a/src/main/java/hu/bme/mit/iet/pipe_game/PumpView.java b/src/main/java/hu/bme/mit/iet/pipe_game/PumpView.java
index 3ef5a92..23856a0 100644
--- a/src/main/java/hu/bme/mit/iet/pipe_game/PumpView.java
+++ b/src/main/java/hu/bme/mit/iet/pipe_game/PumpView.java
@@ -28,7 +28,7 @@ public PumpView(View view, Pump pump){
* játékosok újrahelyezése
*/
@Override
- public void Update() {
+ public void update() {
button.setBounds(x,y,50,50);
button.setBackground(new Color(89, 158, 227,255));
if (pump.isBroken()) {
@@ -43,7 +43,7 @@ public void Update() {
*/
view.getPanel().remove(button);
- while (players.size() > 0){
+ while (!players.isEmpty()){
view.getPanel().remove(players.get(0));
players.remove(0);
}
@@ -68,6 +68,7 @@ public void Update() {
* getter függvény
* @return
*/
+ @Override
public String getID(){
return pump.getId();
}
diff --git a/src/main/java/hu/bme/mit/iet/pipe_game/Saboteur.java b/src/main/java/hu/bme/mit/iet/pipe_game/Saboteur.java
index c0416c6..82af714 100644
--- a/src/main/java/hu/bme/mit/iet/pipe_game/Saboteur.java
+++ b/src/main/java/hu/bme/mit/iet/pipe_game/Saboteur.java
@@ -27,7 +27,7 @@ public Saboteur() {
* A szabotőr csúszóssá teszi a csövet amin áll.
*/
@Override
- public void MakePipeSlippery() {
+ public void makePipeSlippery() {
position.setSlippery();
}
}
diff --git a/src/main/java/hu/bme/mit/iet/pipe_game/SystemPart.java b/src/main/java/hu/bme/mit/iet/pipe_game/SystemPart.java
index e5df479..f1a6bac 100644
--- a/src/main/java/hu/bme/mit/iet/pipe_game/SystemPart.java
+++ b/src/main/java/hu/bme/mit/iet/pipe_game/SystemPart.java
@@ -12,6 +12,7 @@
//
import java.util.ArrayList;
+import java.util.List;
/**
* Az elemek absztrakt ősosztálya.
@@ -31,14 +32,14 @@ public abstract class SystemPart {
* visszaadja a szomszédokat (controlnak kell csak)
* @return
*/
- public ArrayList getNeighbours(){return neighbours;}
+ public List getNeighbours(){return neighbours;}
/**
* Elfogadja a rálépő játékost
* A Pipe-ban felül van definiálva, hogy csak egy ember állhasson az elemen
* @param mover A player ami szeretne az elemre lepni
* @return ezt a fuggvenyt felulirjak a leszarmazottak igy mindig false-ot ad vissza
*/
- public boolean AcceptPlayer(Player mover) {
+ public boolean acceptPlayer(Player mover) {
players.add(mover);
return true;
}
@@ -47,41 +48,41 @@ public boolean AcceptPlayer(Player mover) {
* Lelépteti az elemen álló játékost
* @param mover az elemen allo jatokosok listajabol torlendo objektum
*/
- public void RemovePlayer(Player mover) {
+ public void removePlayer(Player mover) {
players.remove(mover);
}
/**
- * @param from
- * @param to
+ * @param from Az uj cso amibol vizet sziv a pumpa
+ * @param to az uj cso amibe vizet tol a pumpa
* @return leszarmazott felulirja, mivel itt nem csinal semmit false-al ter vissza.
*/
- public boolean AcceptNewFlow(Pipe from, Pipe to) {
+ public boolean acceptNewFlow(Pipe from, Pipe to) {
return false;
}
/**
* leszarmazott felulirja, igy itt nem csinal semmit
*/
- public void BreakPipe() { }
+ public void breakPipe() { }
/**
* leszarmazott felulirja, igy itt nem csinal semmit
*/
- public void Repair() { }
+ public void repair() { }
/**
* Az aktív elemből felveszünk egy csövet
* A Pipe-ban felüldefiniáljuk mert ott mást csinál
* @param whichEnd melyik csövet vesszük fel
*/
- public boolean CarryPipeEnd(SystemPart whichEnd) {
+ public boolean carryPipeEnd(SystemPart whichEnd) {
if (!whichEnd.players.isEmpty()) {
return false;
}
- this.RemoveNeighbour(whichEnd);
- whichEnd.RemoveNeighbour(this);
+ this.removeNeighbour(whichEnd);
+ whichEnd.removeNeighbour(this);
whichEnd.setCarried(true);
return true;
}
@@ -92,15 +93,15 @@ public boolean CarryPipeEnd(SystemPart whichEnd) {
* @param pipe az a cső amit lehelyezünk
* @return sikeres volt-e a lehelyezés
*/
- public boolean LayPipe(SystemPart pipe) {
+ public boolean layPipe(SystemPart pipe) {
if(neighbours.size() >= 4) {
return false;
}
if (neighbours.contains(pipe)) {
return false;
}
- AddNeighbour(pipe);
- pipe.AddNeighbour(this);
+ addNeighbour(pipe);
+ pipe.addNeighbour(this);
pipe.setCarried(false);
return true;
}
@@ -109,14 +110,14 @@ public boolean LayPipe(SystemPart pipe) {
* Kitörli a szomszédai közül a paraméterként kapott Systempartot
* @param remove ezt SystemPart-ot eltavolitja a neighbours listabol
*/
- public void RemoveNeighbour(SystemPart remove) {
+ public void removeNeighbour(SystemPart remove) {
neighbours.remove(remove);
}
/**
* Felveszi a paraméterként kapott SystemPartot szomszédnak
* @param newPart ezt a SystemPart objektumot hozzaadja a neighbours listahoz
*/
- public void AddNeighbour(SystemPart newPart) {
+ public void addNeighbour(SystemPart newPart) {
neighbours.add(newPart);
}
@@ -124,16 +125,16 @@ public void AddNeighbour(SystemPart newPart) {
* leszarmazott felulirja, igy itt nem csinal semmit
* @return
*/
- public Pump CarryPump() {
+ public Pump carryPump() {
return null;
}
/**
* leszarmazott felulirja, igy itt nem csinal semmit
- * @param pump
+ * @param pump a lerakandó pumpa.
* @return
*/
- public boolean LayPump(SystemPart pump) {
+ public boolean layPump(SystemPart pump) {
return false;
}
@@ -141,7 +142,7 @@ public boolean LayPump(SystemPart pump) {
* leszarmazott felulirja, igy itt nem csinal semmit, -1-el (hiba) tér vissza
* @return
*/
- public int PushWater() {
+ public int pushWater() {
return 0;
}
@@ -149,14 +150,14 @@ public int PushWater() {
* leszarmazott felulirja, igy itt nem csinal semmit, -1-el (hiba) tér vissza
* @return
*/
- public int PullWater() {
+ public int pullWater() {
return 0;
}
/**
* leszarmazott felulirja, igy itt nem csinal semmit
*/
- public void BreakPump() {
+ public void breakPump() {
}
/**
diff --git a/src/main/java/hu/bme/mit/iet/pipe_game/View.java b/src/main/java/hu/bme/mit/iet/pipe_game/View.java
index 91333a2..35b5efb 100644
--- a/src/main/java/hu/bme/mit/iet/pipe_game/View.java
+++ b/src/main/java/hu/bme/mit/iet/pipe_game/View.java
@@ -2,21 +2,20 @@
import javax.swing.*;
import java.awt.*;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
import java.awt.geom.Line2D;
import java.util.ArrayList;
+import java.util.List;
public class View extends JPanel{
- private ArrayList fields;
+ private transient List fields;
private GUIControl guiControl;
private JFrame frame;
private JComboBox commandSelect;
private JLayeredPane pane;
private JTextArea statusTextBox;
private JLabel command;
- private ArrayList tempCommand = new ArrayList<>(); //a több parancsból állokhoz
- private ArrayList lines = new ArrayList<>();
+ private List tempCommand = new ArrayList<>(); //a több parancsból állokhoz
+ private transient List lines = new ArrayList<>();
/**
* Konstruktor
@@ -27,7 +26,7 @@ public class View extends JPanel{
public View(GUIControl control) {
guiControl = control;
frame = guiControl.getFrame();
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
pane = new JLayeredPane();
pane.setBounds(0,0,1000, 855);
@@ -38,7 +37,7 @@ public View(GUIControl control) {
statusTextBox.setFont(new Font("Arial", Font.BOLD, 16));
statusTextBox.setBounds(800, 20, 180, 250);
- commandSelect = new JComboBox();
+ commandSelect = new JComboBox<>();
commandSelect.setBounds(800, 330, 180, 20);
commandSelect.addItem("Break pipe");
@@ -61,12 +60,7 @@ public View(GUIControl control) {
pane.add(command, Integer.valueOf(0));
pane.add(commandSelect, Integer.valueOf(0));
- commandSelect.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- commitCommand((String) commandSelect.getSelectedItem());
- }
- });
+ commandSelect.addActionListener(e -> commitCommand((String) commandSelect.getSelectedItem()));
this.setLayout(null);
this.setOpaque(true);
@@ -87,7 +81,6 @@ public void paint(Graphics g){
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
- ArrayList lines = this.getlines();
for (int i = 0; i < lines.size(); ++i) {
g2d.draw(lines.get(i));
}
@@ -97,12 +90,12 @@ public void paint(Graphics g){
/**
* grafikusan frissíti a teljes játékmezőt minden elemével együtt
*/
- public void UpdateAll() {
+ public void updateAll() {
String str = guiControl.getStatus();
statusTextBox.setText(str);
lines.clear();
for (ViewBase field :fields ) {
- field.Update();
+ field.update();
}
frame.repaint();//test
frame.revalidate();
@@ -113,22 +106,22 @@ public void UpdateAll() {
* ,majd az új állapot szerint teljes grafikus frissítés
* @param input
*/
- public void ManageCommand(String input){
+ public void manageCommand(String input){
tempCommand.add(input);
guiControl.commitCommand(tempCommand);
tempCommand.clear();
- UpdateAll();
+ updateAll();
}
- public void ManageLongCommand(){
+ public void manageLongCommand(){
guiControl.commitCommand(tempCommand);
tempCommand.clear();
- UpdateAll();
+ updateAll();
}
public void commitCommand(String input) {
switch (input){
case "Break pipe":
tempCommand.clear();
- ManageCommand("breakpipe");
+ manageCommand("breakpipe");
break;
case "Carry pipe"://több infó kel egynél
tempCommand.clear();
@@ -136,15 +129,15 @@ public void commitCommand(String input) {
break;
case "Carry pump":
tempCommand.clear();
- ManageCommand("carrypump");
+ manageCommand("carrypump");
break;
case "Lay pipe":
tempCommand.clear();
- ManageCommand("laypipe");
+ manageCommand("laypipe");
break;
case "Lay pump":
tempCommand.clear();
- ManageCommand("laypump");
+ manageCommand("laypump");
break;
case "Move"://több infó is kellene majd
tempCommand.clear();
@@ -156,19 +149,19 @@ public void commitCommand(String input) {
break;
case "Repair":
tempCommand.clear();
- ManageCommand("repair");
+ manageCommand("repair");
break;
case "Make pipe slippery":
tempCommand.clear();
- ManageCommand("makeslippery");
+ manageCommand("makeslippery");
break;
case "Glue pipe":
tempCommand.clear();
- ManageCommand("makegluey");
+ manageCommand("makegluey");
break;
case "Pass":
tempCommand.clear();
- ManageCommand("pass");
+ manageCommand("pass");
break;
default:
break;
@@ -180,7 +173,7 @@ public void commitCommand(String input) {
* setter függvény
* @param things
*/
- public void setFields(ArrayList things) {
+ public void setFields(List things) {
fields = things;
}
@@ -204,7 +197,7 @@ public JFrame getFrame(){
* getter függvény
* @return
*/
- public ArrayList getFields(){
+ public List getFields(){
return fields;
}
@@ -220,7 +213,7 @@ public void addLine(Line2D line) {
* getter függvény
* @return
*/
- public ArrayList getlines(){
+ public List getlines(){
return lines;
}
@@ -228,7 +221,7 @@ public ArrayList getlines(){
* getter függvény
* @return
*/
- public ArrayList getTempCommand(){ return tempCommand; }
+ public List getTempCommand(){ return tempCommand; }
/**
* új command hozzáadása a tempCommand temporary commandokat tartalmazó listához
diff --git a/src/main/java/hu/bme/mit/iet/pipe_game/ViewBase.java b/src/main/java/hu/bme/mit/iet/pipe_game/ViewBase.java
index 5b09ffb..4e8db69 100644
--- a/src/main/java/hu/bme/mit/iet/pipe_game/ViewBase.java
+++ b/src/main/java/hu/bme/mit/iet/pipe_game/ViewBase.java
@@ -2,17 +2,19 @@
import java.awt.event.ActionListener;
import java.util.ArrayList;
+import java.util.List;
import java.util.Arrays;
public abstract class ViewBase implements ActionListener {
- protected int x, y;
+ protected int x;
+ protected int y;
protected View view;
/**
* konstruktor, ami beállítja a view elemet
* @param view
*/
- public ViewBase(View view){
+ protected ViewBase(View view){
this.view = view;
}
@@ -22,20 +24,19 @@ public ViewBase(View view){
* @param input
*/
public void action(String input){
- ArrayList temp = view.getTempCommand();
+ List temp = view.getTempCommand();
String[] temp2 = input.split(" ");
ArrayList togive = new ArrayList<>(Arrays.asList(temp2));
if(!temp.isEmpty()) {
if (temp.get(0).equals("carrypipe") || temp.get(0).equals("move")) {
view.addCommand(togive.get(0));
view.addCommand(togive.get(1));
- view.ManageLongCommand();
+ view.manageLongCommand();
} else if (temp.get(0).equals("pumpchangeflow")) {
if (temp.size() == 2) {
view.addCommand(togive.get(0));
view.addCommand(togive.get(1));
- view.ManageLongCommand();
- return;
+ view.manageLongCommand();
} else if (temp.size() == 1)
view.addCommand(input);
}
@@ -45,7 +46,7 @@ public void action(String input){
/**
* Felul kell definialni leszarmazzott View-kban
*/
- public abstract void Update();
+ public abstract void update();
/**
* setter függvény, ami átállítja a koordinátákat
diff --git a/src/main/java/hu/bme/mit/iet/pipe_game/WaterSource.java b/src/main/java/hu/bme/mit/iet/pipe_game/WaterSource.java
index cf9fd6a..3a584be 100644
--- a/src/main/java/hu/bme/mit/iet/pipe_game/WaterSource.java
+++ b/src/main/java/hu/bme/mit/iet/pipe_game/WaterSource.java
@@ -19,7 +19,7 @@ public WaterSource() {
* @return a vizmennyiseg, ami a lyuaks csöveket kifolyt
*/
@Override
- public int PushWater() {
+ public int pushWater() {
int points = 0;
for (SystemPart pipe: neighbours) {
if (pipe.isBroken()) {
diff --git a/src/main/java/hu/bme/mit/iet/pipe_game/WaterSourceView.java b/src/main/java/hu/bme/mit/iet/pipe_game/WaterSourceView.java
index 8b9e66f..3713a50 100644
--- a/src/main/java/hu/bme/mit/iet/pipe_game/WaterSourceView.java
+++ b/src/main/java/hu/bme/mit/iet/pipe_game/WaterSourceView.java
@@ -28,7 +28,7 @@ public WaterSourceView(View view, WaterSource waterSource) {
* leszedi a rajta levő játékosokat, majd helyesen felteszi őket újra
*/
@Override
- public void Update() {
+ public void update() {
button.setBounds(x, y, 50, 50);
button.setBackground(Color.GREEN);
@@ -36,7 +36,7 @@ public void Update() {
view.getPanel().remove(button);
- while (players.size() > 0){
+ while (!players.isEmpty()){
view.getPanel().remove(players.get(0));
players.remove(0);
}
@@ -59,6 +59,7 @@ public void Update() {
* getter függvény
* @return
*/
+ @Override
public String getID() {
return waterSource.getId();
}