From d0a517efe3f3c80265eb226688a32fa10afcc83a Mon Sep 17 00:00:00 2001 From: Antonin Boyon Date: Tue, 6 Apr 2021 12:22:46 +0200 Subject: [PATCH] starting the GUI - grid --- src/battleship/model/player/Player.java | 4 +-- src/battleship/view/Terminal.java | 2 +- src/battleship/view/View.java | 13 +++------ src/battleship/view/Window.java | 36 ++++++++++++++++++++++--- 4 files changed, 38 insertions(+), 17 deletions(-) diff --git a/src/battleship/model/player/Player.java b/src/battleship/model/player/Player.java index fab9ec6..86b11d1 100644 --- a/src/battleship/model/player/Player.java +++ b/src/battleship/model/player/Player.java @@ -13,7 +13,7 @@ public abstract class Player { protected ArrayList ships = new ArrayList<>(); protected ArrayList> moves = new ArrayList<>(); protected int id; - protected final int[] bato = { 5, 4, 3, 3, 2}; + protected final static int[] bato = { 5, 4, 3, 3, 2}; public boolean setShips(Ship ship){ for(int i = 0; i < ship.getSize(); i++){ @@ -92,7 +92,7 @@ public abstract class Player { return id; } - public void placeShipRandomly(Player player) { + public static void placeShipRandomly(Player player) { Random rand = new Random(); for(int i : bato) { Ship ship = null; diff --git a/src/battleship/view/Terminal.java b/src/battleship/view/Terminal.java index 96f6554..100de66 100644 --- a/src/battleship/view/Terminal.java +++ b/src/battleship/view/Terminal.java @@ -54,7 +54,7 @@ public class Terminal extends View { } } else { // Random - placeShipRandomly(player); + Player.placeShipRandomly(player); } diff --git a/src/battleship/view/View.java b/src/battleship/view/View.java index c232910..d35a50d 100644 --- a/src/battleship/view/View.java +++ b/src/battleship/view/View.java @@ -7,6 +7,7 @@ import battleship.model.player.Player; import battleship.utils.Pair; import battleship.utils.Triplet; +import java.awt.Graphics; import java.util.ArrayList; import java.util.Random; import java.util.concurrent.atomic.AtomicInteger; @@ -23,17 +24,9 @@ public abstract class View { public abstract void setShips(Player player); - public abstract void displayBoard(); - public void placeShipRandomly(Player player) { - Random rand = new Random(); - for(int i : ships) { - Ship ship = null; - while(ship == null || !player.setShips(ship)) { - ship = new Ship(new Pair<>(rand.nextInt(10), rand.nextInt(10)), i, Direction.values()[rand.nextInt(Direction.values().length)]); - } - } - } + public abstract void displayBoard(); + public abstract void displayBoard(Graphics g); @Override public String toString() { diff --git a/src/battleship/view/Window.java b/src/battleship/view/Window.java index ca67a7c..3aee201 100644 --- a/src/battleship/view/Window.java +++ b/src/battleship/view/Window.java @@ -3,18 +3,24 @@ package battleship.view; import battleship.model.Game; import battleship.model.player.Player; +import java.awt.Color; import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.geom.Line2D; import javax.swing.*; public class Window extends View { private JFrame frame; + private final int hauteur = 750; + private final int largeur = 1250; public Window(Game game) { super(game); this.frame = new JFrame("Battleship"); - frame.setSize(600,400); + frame.setSize(largeur,hauteur); + frame.setContentPane(new Draw()); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.setVisible(true); } @@ -25,11 +31,33 @@ public class Window extends View { } @Override - public void displayBoard() { - + public void displayBoard(Graphics g) { + } + class Draw extends JPanel { + public void paintComponent(Graphics g) { + /*JTextArea area = new JTextArea(); + area.setBounds(20,10,400,20); + //area.append("A B C D E F G H I J"); + frame.add(area);*/ + //23 - 12 + for (int i=100; i (largeur / 23) * 10 && i < (largeur / 23) * 12 - (largeur/40)) i += largeur/23 ; + } + for (int j=100; j