OOP-Projects-Java

Log | Files | Refs | README

commit 07a4a634521dd39c93d61aef14f808586d89f667
parent 4797ece3d02c8c1d0dccea9b66c77ecf742cc023
Author: William Lindholm <william_lindholm@outlook.com>
Date:   Mon, 13 Mar 2023 15:16:54 +0100

experimenting

Diffstat:
MOOP2023_a22willi_a21liltr_assignment4/src/blocks/Cell.java | 19++++++++++++++++++-
MOOP2023_a22willi_a21liltr_assignment4/src/blocks/J_Block.java | 2+-
MOOP2023_a22willi_a21liltr_assignment4/src/blocks/Tileable.java | 8++++----
MOOP2023_a22willi_a21liltr_assignment4/src/game/Board.java | 44+++++++++++++++++++++++++++++++++++++++++++-
MOOP2023_a22willi_a21liltr_assignment4/src/game/GUI.java | 17++++++++++++++---
MOOP2023_a22willi_a21liltr_assignment4/src/game/Main.java | 4++--
6 files changed, 82 insertions(+), 12 deletions(-)

diff --git a/OOP2023_a22willi_a21liltr_assignment4/src/blocks/Cell.java b/OOP2023_a22willi_a21liltr_assignment4/src/blocks/Cell.java @@ -1,5 +1,22 @@ package blocks; -public class Cell { +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Graphics; + +public class Cell { + Dimension size; + Graphics g; + boolean occupied = true; + + public Cell(Graphics g, int x, int y, Dimension size) { + this.g = g; + this.size = size; + g.drawRect(x, y, size.width, size.height); + } + + public void setOccupied(boolean occupied) { + this.occupied = occupied; + } } diff --git a/OOP2023_a22willi_a21liltr_assignment4/src/blocks/J_Block.java b/OOP2023_a22willi_a21liltr_assignment4/src/blocks/J_Block.java @@ -1,5 +1,5 @@ package blocks; public class J_Block implements Tileable { - + } diff --git a/OOP2023_a22willi_a21liltr_assignment4/src/blocks/Tileable.java b/OOP2023_a22willi_a21liltr_assignment4/src/blocks/Tileable.java @@ -1,11 +1,11 @@ package blocks; public interface Tileable { - public Object generate(); + //public Object generate(); - public void rotateLeft(); + //public void rotateLeft(); - public void rotateRight(); + //public void rotateRight(); - public void setPosition(int x, int y); + //public void setPosition(int x, int y); } diff --git a/OOP2023_a22willi_a21liltr_assignment4/src/game/Board.java b/OOP2023_a22willi_a21liltr_assignment4/src/game/Board.java @@ -1,5 +1,47 @@ package game; -public class Board { +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Graphics; +import java.util.ArrayList; +import javax.swing.BorderFactory; +import javax.swing.JPanel; + +import blocks.Cell; + +public class Board extends JPanel { + //size of window + private final Dimension size = new Dimension(595, 797); + //size of each individual tile + private final int tileSize = 20; + + private Cell[][] grid; + + public Board() { + + grid = new Cell[Math.abs(size.width / tileSize)][Math.abs(size.height / tileSize)]; + setBorder(BorderFactory.createLineBorder(Color.black)); + } + + public Dimension getSize() { + return this.size; + } + + public void paintComponent(Graphics g) { + super.paintComponent(g); + g.setColor(Color.gray); + g.fillRect(0, 0, size.width, size.height); + generateGrid(g); + + } + + + private void generateGrid(Graphics g) { + for (int x = 0; x < Math.abs(size.width / tileSize); x++) { + for (int y = 0; y < Math.abs(size.height / tileSize); y++) { + grid[y][x] = new Cell(g, y, x, size); + } + } + } } diff --git a/OOP2023_a22willi_a21liltr_assignment4/src/game/GUI.java b/OOP2023_a22willi_a21liltr_assignment4/src/game/GUI.java @@ -1,13 +1,24 @@ package game; import java.awt.Canvas; +import java.awt.Color; import java.awt.Graphics; +import java.awt.Graphics2D; import javax.swing.JFrame; -public class GUI extends Canvas { - public GUI() { - JFrame frame = new JFrame(); +public class GUI { + Board board; + + public GUI(Board board) { + this.board = board; + JFrame frame = new JFrame("Tetris"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setSize(board.getSize()); + frame.setResizable(false); + frame.add(board); + + frame.setVisible(true); } } \ No newline at end of file diff --git a/OOP2023_a22willi_a21liltr_assignment4/src/game/Main.java b/OOP2023_a22willi_a21liltr_assignment4/src/game/Main.java @@ -3,8 +3,8 @@ package game; public class Main { public static void main(String[] args) { - // TODO Auto-generated method stub - + Board Board = new Board(); + GUI gui = new GUI(Board); } }