From f2a938f93c85f404ec094fd498544684be96ee07 Mon Sep 17 00:00:00 2001 From: Simon Date: Fri, 3 Jul 2020 14:23:40 +0200 Subject: [PATCH] learning 2d game programing --- .idea/modules.xml | 3 +- ATM-Machine/src/Operator.java | 2 + .../src/animation/swingTimer/Board.java | 79 +++++++++++ .../src/animation/swingTimer/SwingTimer.java | 32 +++++ DemoProjects/src/animation/thread/Board.java | 112 +++++++++++++++ .../src/animation/thread/ThreadAnimation.java | 32 +++++ .../src/animation/utilityTimer/Board.java | 81 +++++++++++ .../animation/utilityTimer/UtilityTimer.java | 32 +++++ DemoProjects/src/game/minitennis1/Game2.java | 30 ---- DemoProjects/src/game/minitennis2/Game.java | 4 - .../{ => SwingPaintDemo}/SwingPaintDemo1.java | 2 +- .../{ => SwingPaintDemo}/SwingPaintDemo2.java | 2 +- .../{ => SwingPaintDemo}/SwingPaintDemo3.java | 5 +- .../{ => SwingPaintDemo}/SwingPaintDemo4.java | 2 +- DemoProjects/src/painting/donut/Board.java | 50 +++++++ DemoProjects/src/painting/donut/Donut.java | 31 ++++ DemoProjects/src/painting/image/Board.java | 38 +++++ DemoProjects/src/painting/image/Image.java | 27 ++++ .../src/sprites/shootingMissles/Board.java | 109 ++++++++++++++ .../src/sprites/shootingMissles/Executor.java | 32 +++++ .../src/sprites/shootingMissles/Missile.java | 27 ++++ .../sprites/shootingMissles/SpaceShip.java | 85 +++++++++++ .../src/sprites/shootingMissles/Sprite.java | 52 +++++++ DemoProjects/src/sprites/spaceship/Board.java | 79 +++++++++++ .../src/sprites/spaceship/MovingSprite.java | 32 +++++ .../src/sprites/spaceship/SpaceShip.java | 105 ++++++++++++++ .../Doodles.iml | 0 Doodles/src/Template.java | 23 +++ TicTacToe - MinMax/TicTacToe - MinMax.iml | 11 ++ TicTacToe_MinMax/src/Game.java | 41 ------ TicTacToe_MinMax/src/Player.java | 4 - TicTacToe_MinMax/src/Render.java | 134 ------------------ out/production/ATM-Machine/ATM-Machine.iml | 11 ++ .../ATM-Machine/src/META-INF/MANIFEST.MF | 3 + out/production/ATM-Machine/src/Operator.class | Bin 0 -> 3679 bytes .../animation/swingTimer/Board.class | Bin 0 -> 2312 bytes .../animation/swingTimer/SwingTimer.class | Bin 0 -> 1575 bytes .../DemoProjects/animation/thread/Board.class | Bin 0 -> 3113 bytes .../animation/thread/ThreadAnimation.class | Bin 0 -> 1601 bytes .../utilityTimer/Board$ScheduleTask.class | Bin 0 -> 743 bytes .../animation/utilityTimer/Board.class | Bin 0 -> 2253 bytes .../animation/utilityTimer/UtilityTimer.class | Bin 0 -> 1610 bytes .../DemoProjects/painting/MyPanel2$1.class | Bin 749 -> 0 bytes .../DemoProjects/painting/MyPanel2$2.class | Bin 749 -> 0 bytes .../{ => SwingPaintDemo}/MyPanel1.class | Bin 1169 -> 1199 bytes .../painting/SwingPaintDemo/MyPanel2$1.class | Bin 0 -> 824 bytes .../painting/SwingPaintDemo/MyPanel2$2.class | Bin 0 -> 824 bytes .../{ => SwingPaintDemo}/MyPanel2.class | Bin 1890 -> 1965 bytes .../{ => SwingPaintDemo}/MyPanel3$1.class | Bin 749 -> 824 bytes .../{ => SwingPaintDemo}/MyPanel3$2.class | Bin 749 -> 824 bytes .../{ => SwingPaintDemo}/MyPanel3.class | Bin 2188 -> 2293 bytes .../{ => SwingPaintDemo}/RedSquare.class | Bin 1276 -> 1306 bytes .../SwingPaintDemo1$1.class | Bin 562 -> 607 bytes .../SwingPaintDemo1.class | Bin 1525 -> 1570 bytes .../SwingPaintDemo2$1.class | Bin 562 -> 607 bytes .../SwingPaintDemo2.class | Bin 1613 -> 1673 bytes .../SwingPaintDemo/SwingPaintDemo3$1.class | Bin 0 -> 607 bytes .../SwingPaintDemo3.class | Bin 1613 -> 1673 bytes .../SwingPaintDemo4$1.class | Bin 562 -> 607 bytes .../SwingPaintDemo4.class | Bin 1630 -> 1690 bytes .../painting/SwingPaintDemo3$1.class | Bin 562 -> 0 bytes .../DemoProjects/painting/donut/Board.class | Bin 0 -> 2309 bytes .../DemoProjects/painting/donut/Donut.class | Bin 0 -> 1526 bytes .../DemoProjects/painting/image/Board.class | Bin 0 -> 1232 bytes .../DemoProjects/painting/image/Image.class | Bin 0 -> 1512 bytes .../shootingMissles/Board$TAdapter.class | Bin 0 -> 887 bytes .../sprites/shootingMissles/Board.class | Bin 0 -> 3152 bytes .../sprites/shootingMissles/Executor.class | Bin 0 -> 1608 bytes .../sprites/shootingMissles/Missile.class | Bin 0 -> 870 bytes .../sprites/shootingMissles/SpaceShip.class | Bin 0 -> 1890 bytes .../sprites/shootingMissles/Sprite.class | Bin 0 -> 1595 bytes .../sprites/spaceship/Board$TAdapter.class | Bin 0 -> 845 bytes .../sprites/spaceship/Board.class | Bin 0 -> 2052 bytes .../sprites/spaceship/MovingSprite.class | Bin 0 -> 1598 bytes .../sprites/spaceship/SpaceShip.class | Bin 0 -> 2005 bytes out/production/Doodles/Template.class | Bin 0 -> 1119 bytes out/production/TicTacToe_MinMax/Game$1.class | Bin 639 -> 0 bytes out/production/TicTacToe_MinMax/Game.class | Bin 1518 -> 0 bytes .../GameCharacters$CharacterO.class | Bin 1038 -> 0 bytes .../GameCharacters$CharacterX.class | Bin 1086 -> 0 bytes .../TicTacToe_MinMax/GameCharacters.class | Bin 1289 -> 0 bytes out/production/TicTacToe_MinMax/Grid.class | Bin 1019 -> 0 bytes out/production/TicTacToe_MinMax/MyPanel.class | Bin 1166 -> 0 bytes out/production/TicTacToe_MinMax/Render.class | Bin 792 -> 0 bytes 84 files changed, 1091 insertions(+), 221 deletions(-) create mode 100644 DemoProjects/src/animation/swingTimer/Board.java create mode 100644 DemoProjects/src/animation/swingTimer/SwingTimer.java create mode 100644 DemoProjects/src/animation/thread/Board.java create mode 100644 DemoProjects/src/animation/thread/ThreadAnimation.java create mode 100644 DemoProjects/src/animation/utilityTimer/Board.java create mode 100644 DemoProjects/src/animation/utilityTimer/UtilityTimer.java delete mode 100644 DemoProjects/src/game/minitennis1/Game2.java delete mode 100644 DemoProjects/src/game/minitennis2/Game.java rename DemoProjects/src/painting/{ => SwingPaintDemo}/SwingPaintDemo1.java (94%) rename DemoProjects/src/painting/{ => SwingPaintDemo}/SwingPaintDemo2.java (97%) rename DemoProjects/src/painting/{ => SwingPaintDemo}/SwingPaintDemo3.java (93%) rename DemoProjects/src/painting/{ => SwingPaintDemo}/SwingPaintDemo4.java (99%) create mode 100644 DemoProjects/src/painting/donut/Board.java create mode 100644 DemoProjects/src/painting/donut/Donut.java create mode 100644 DemoProjects/src/painting/image/Board.java create mode 100644 DemoProjects/src/painting/image/Image.java create mode 100644 DemoProjects/src/sprites/shootingMissles/Board.java create mode 100644 DemoProjects/src/sprites/shootingMissles/Executor.java create mode 100644 DemoProjects/src/sprites/shootingMissles/Missile.java create mode 100644 DemoProjects/src/sprites/shootingMissles/SpaceShip.java create mode 100644 DemoProjects/src/sprites/shootingMissles/Sprite.java create mode 100644 DemoProjects/src/sprites/spaceship/Board.java create mode 100644 DemoProjects/src/sprites/spaceship/MovingSprite.java create mode 100644 DemoProjects/src/sprites/spaceship/SpaceShip.java rename TicTacToe_MinMax/TicTacToe_MinMax.iml => Doodles/Doodles.iml (100%) create mode 100644 Doodles/src/Template.java create mode 100644 TicTacToe - MinMax/TicTacToe - MinMax.iml delete mode 100644 TicTacToe_MinMax/src/Game.java delete mode 100644 TicTacToe_MinMax/src/Player.java delete mode 100644 TicTacToe_MinMax/src/Render.java create mode 100644 out/production/ATM-Machine/ATM-Machine.iml create mode 100644 out/production/ATM-Machine/src/META-INF/MANIFEST.MF create mode 100644 out/production/ATM-Machine/src/Operator.class create mode 100644 out/production/DemoProjects/animation/swingTimer/Board.class create mode 100644 out/production/DemoProjects/animation/swingTimer/SwingTimer.class create mode 100644 out/production/DemoProjects/animation/thread/Board.class create mode 100644 out/production/DemoProjects/animation/thread/ThreadAnimation.class create mode 100644 out/production/DemoProjects/animation/utilityTimer/Board$ScheduleTask.class create mode 100644 out/production/DemoProjects/animation/utilityTimer/Board.class create mode 100644 out/production/DemoProjects/animation/utilityTimer/UtilityTimer.class delete mode 100644 out/production/DemoProjects/painting/MyPanel2$1.class delete mode 100644 out/production/DemoProjects/painting/MyPanel2$2.class rename out/production/DemoProjects/painting/{ => SwingPaintDemo}/MyPanel1.class (78%) create mode 100644 out/production/DemoProjects/painting/SwingPaintDemo/MyPanel2$1.class create mode 100644 out/production/DemoProjects/painting/SwingPaintDemo/MyPanel2$2.class rename out/production/DemoProjects/painting/{ => SwingPaintDemo}/MyPanel2.class (65%) rename out/production/DemoProjects/painting/{ => SwingPaintDemo}/MyPanel3$1.class (52%) rename out/production/DemoProjects/painting/{ => SwingPaintDemo}/MyPanel3$2.class (52%) rename out/production/DemoProjects/painting/{ => SwingPaintDemo}/MyPanel3.class (80%) rename out/production/DemoProjects/painting/{ => SwingPaintDemo}/RedSquare.class (73%) rename out/production/DemoProjects/painting/{ => SwingPaintDemo}/SwingPaintDemo1$1.class (59%) rename out/production/DemoProjects/painting/{ => SwingPaintDemo}/SwingPaintDemo1.class (76%) rename out/production/DemoProjects/painting/{ => SwingPaintDemo}/SwingPaintDemo2$1.class (59%) rename out/production/DemoProjects/painting/{ => SwingPaintDemo}/SwingPaintDemo2.class (73%) create mode 100644 out/production/DemoProjects/painting/SwingPaintDemo/SwingPaintDemo3$1.class rename out/production/DemoProjects/painting/{ => SwingPaintDemo}/SwingPaintDemo3.class (64%) rename out/production/DemoProjects/painting/{ => SwingPaintDemo}/SwingPaintDemo4$1.class (59%) rename out/production/DemoProjects/painting/{ => SwingPaintDemo}/SwingPaintDemo4.class (73%) delete mode 100644 out/production/DemoProjects/painting/SwingPaintDemo3$1.class create mode 100644 out/production/DemoProjects/painting/donut/Board.class create mode 100644 out/production/DemoProjects/painting/donut/Donut.class create mode 100644 out/production/DemoProjects/painting/image/Board.class create mode 100644 out/production/DemoProjects/painting/image/Image.class create mode 100644 out/production/DemoProjects/sprites/shootingMissles/Board$TAdapter.class create mode 100644 out/production/DemoProjects/sprites/shootingMissles/Board.class create mode 100644 out/production/DemoProjects/sprites/shootingMissles/Executor.class create mode 100644 out/production/DemoProjects/sprites/shootingMissles/Missile.class create mode 100644 out/production/DemoProjects/sprites/shootingMissles/SpaceShip.class create mode 100644 out/production/DemoProjects/sprites/shootingMissles/Sprite.class create mode 100644 out/production/DemoProjects/sprites/spaceship/Board$TAdapter.class create mode 100644 out/production/DemoProjects/sprites/spaceship/Board.class create mode 100644 out/production/DemoProjects/sprites/spaceship/MovingSprite.class create mode 100644 out/production/DemoProjects/sprites/spaceship/SpaceShip.class create mode 100644 out/production/Doodles/Template.class delete mode 100644 out/production/TicTacToe_MinMax/Game$1.class delete mode 100644 out/production/TicTacToe_MinMax/Game.class delete mode 100644 out/production/TicTacToe_MinMax/GameCharacters$CharacterO.class delete mode 100644 out/production/TicTacToe_MinMax/GameCharacters$CharacterX.class delete mode 100644 out/production/TicTacToe_MinMax/GameCharacters.class delete mode 100644 out/production/TicTacToe_MinMax/Grid.class delete mode 100644 out/production/TicTacToe_MinMax/MyPanel.class delete mode 100644 out/production/TicTacToe_MinMax/Render.class diff --git a/.idea/modules.xml b/.idea/modules.xml index 80946f5..2506f2c 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -6,10 +6,11 @@ + - + \ No newline at end of file diff --git a/ATM-Machine/src/Operator.java b/ATM-Machine/src/Operator.java index 4ccd846..5a7750a 100644 --- a/ATM-Machine/src/Operator.java +++ b/ATM-Machine/src/Operator.java @@ -1,3 +1,5 @@ +package src; + import java.util.Scanner; public class Operator { diff --git a/DemoProjects/src/animation/swingTimer/Board.java b/DemoProjects/src/animation/swingTimer/Board.java new file mode 100644 index 0000000..777bbb5 --- /dev/null +++ b/DemoProjects/src/animation/swingTimer/Board.java @@ -0,0 +1,79 @@ +package animation.swingTimer; + +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Image; +import java.awt.Toolkit; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import javax.swing.ImageIcon; +import javax.swing.JPanel; +import javax.swing.Timer; + +public class Board extends JPanel + implements ActionListener { + + private final int B_WIDTH = 700; + private final int B_HEIGHT = 700; + private final int INITIAL_X = -40; + private final int INITIAL_Y = -40; + private final int DELAY = 5; + + private Image star; + private Timer timer; + private int x, y; + + public Board() { + + initBoard(); + } + + private void loadImage() { + + ImageIcon ii = new ImageIcon("/home/bitecoding/Pictures/star.png"); + star = ii.getImage().getScaledInstance(50,50,Image.SCALE_DEFAULT); + } + + private void initBoard() { + + setBackground(Color.BLACK); + setPreferredSize(new Dimension(B_WIDTH, B_HEIGHT)); + + loadImage(); + + x = INITIAL_X; + y = INITIAL_Y; + + timer = new Timer(DELAY, this); + timer.start(); + } + + @Override + public void paintComponent(Graphics g) { + super.paintComponent(g); + + drawStar(g); + } + + private void drawStar(Graphics g) { + + g.drawImage(star, x, y, this); + Toolkit.getDefaultToolkit().sync(); + } + + @Override + public void actionPerformed(ActionEvent e) { + + x += 10; + y += 10; + + if (y > B_HEIGHT) { + + y = INITIAL_Y; + x = INITIAL_X; + } + + repaint(); + } +} \ No newline at end of file diff --git a/DemoProjects/src/animation/swingTimer/SwingTimer.java b/DemoProjects/src/animation/swingTimer/SwingTimer.java new file mode 100644 index 0000000..0e51007 --- /dev/null +++ b/DemoProjects/src/animation/swingTimer/SwingTimer.java @@ -0,0 +1,32 @@ +package animation.swingTimer; + +import java.awt.EventQueue; +import javax.swing.JFrame; + +public class SwingTimer extends JFrame { + + public SwingTimer() { + + initUI(); + } + + private void initUI() { + + add(new Board()); + + setResizable(false); + pack(); + + setTitle("Star"); + setLocationRelativeTo(null); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + } + + public static void main(String[] args) { + + EventQueue.invokeLater(() -> { + SwingTimer ex = new SwingTimer(); + ex.setVisible(true); + }); + } +} \ No newline at end of file diff --git a/DemoProjects/src/animation/thread/Board.java b/DemoProjects/src/animation/thread/Board.java new file mode 100644 index 0000000..2b3a1cd --- /dev/null +++ b/DemoProjects/src/animation/thread/Board.java @@ -0,0 +1,112 @@ +package animation.thread; + +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Image; +import java.awt.Toolkit; +import javax.swing.ImageIcon; +import javax.swing.JOptionPane; +import javax.swing.JPanel; + +public class Board extends JPanel + implements Runnable { + + private final int B_WIDTH = 350; + private final int B_HEIGHT = 350; + private final int INITIAL_X = -40; + private final int INITIAL_Y = -40; + private final int DELAY = 25; + + private Image star; + private Thread animator; + private int x, y; + + public Board() { + + initBoard(); + } + + private void loadImage() { + + ImageIcon ii = new ImageIcon("/home/bitecoding/Pictures/star.png"); + star = ii.getImage().getScaledInstance(50,50, Image.SCALE_DEFAULT); + } + + private void initBoard() { + + setBackground(Color.BLACK); + setPreferredSize(new Dimension(B_WIDTH, B_HEIGHT)); + + loadImage(); + + x = INITIAL_X; + y = INITIAL_Y; + } + + @Override + public void addNotify() { + super.addNotify(); + + animator = new Thread(this); + animator.start(); + } + + @Override + public void paintComponent(Graphics g) { + super.paintComponent(g); + + drawStar(g); + } + + private void drawStar(Graphics g) { + + g.drawImage(star, x, y, this); + Toolkit.getDefaultToolkit().sync(); + } + + private void cycle() { + + x += 1; + y += 1; + + if (y > B_HEIGHT) { + + y = INITIAL_Y; + x = INITIAL_X; + } + } + + @Override + public void run() { + + long beforeTime, timeDiff, sleep; + + beforeTime = System.currentTimeMillis(); + + while (true) { + + cycle(); + repaint(); + + timeDiff = System.currentTimeMillis() - beforeTime; + sleep = DELAY - timeDiff; + + if (sleep < 0) { + sleep = 2; + } + + try { + Thread.sleep(sleep); + } catch (InterruptedException e) { + + String msg = String.format("Thread interrupted: %s", e.getMessage()); + + JOptionPane.showMessageDialog(this, msg, "Error", + JOptionPane.ERROR_MESSAGE); + } + + beforeTime = System.currentTimeMillis(); + } + } +} \ No newline at end of file diff --git a/DemoProjects/src/animation/thread/ThreadAnimation.java b/DemoProjects/src/animation/thread/ThreadAnimation.java new file mode 100644 index 0000000..ed49049 --- /dev/null +++ b/DemoProjects/src/animation/thread/ThreadAnimation.java @@ -0,0 +1,32 @@ +package animation.thread; + +import java.awt.EventQueue; +import javax.swing.JFrame; + +public class ThreadAnimation extends JFrame { + + public ThreadAnimation() { + + initUI(); + } + + private void initUI() { + + add(new Board()); + + setResizable(false); + pack(); + + setTitle("Star"); + setLocationRelativeTo(null); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + } + + public static void main(String[] args) { + + EventQueue.invokeLater(() -> { + JFrame ex = new ThreadAnimation(); + ex.setVisible(true); + }); + } +} \ No newline at end of file diff --git a/DemoProjects/src/animation/utilityTimer/Board.java b/DemoProjects/src/animation/utilityTimer/Board.java new file mode 100644 index 0000000..807bff1 --- /dev/null +++ b/DemoProjects/src/animation/utilityTimer/Board.java @@ -0,0 +1,81 @@ +package animation.utilityTimer; + +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Image; +import java.awt.Toolkit; +import java.util.Timer; +import java.util.TimerTask; +import javax.swing.ImageIcon; +import javax.swing.JPanel; + +public class Board extends JPanel { + + private final int B_WIDTH = 350; + private final int B_HEIGHT = 350; + private final int INITIAL_X = -40; + private final int INITIAL_Y = -40; + private final int INITIAL_DELAY = 0; + private final int PERIOD_INTERVAL = 25; + + private Image star; + private Timer timer; + private int x, y; + + public Board() { + + initBoard(); + } + + private void loadImage() { + + ImageIcon ii = new ImageIcon("/home/bitecoding/Pictures/star.png"); + star = ii.getImage().getScaledInstance(50,50,Image.SCALE_DEFAULT); + } + + private void initBoard() { + + setBackground(Color.BLACK); + setPreferredSize(new Dimension(B_WIDTH, B_HEIGHT)); + + loadImage(); + + x = INITIAL_X; + y = INITIAL_Y; + + timer = new Timer(); + timer.scheduleAtFixedRate(new ScheduleTask(), + INITIAL_DELAY, PERIOD_INTERVAL); + } + + @Override + public void paintComponent(Graphics g) { + super.paintComponent(g); + + drawStar(g); + } + + private void drawStar(Graphics g) { + + g.drawImage(star, x, y, this); + Toolkit.getDefaultToolkit().sync(); + } + + private class ScheduleTask extends TimerTask { + + @Override + public void run() { + + x += 1; + y += 1; + + if (y > B_HEIGHT) { + y = INITIAL_Y; + x = INITIAL_X; + } + + repaint(); + } + } +} \ No newline at end of file diff --git a/DemoProjects/src/animation/utilityTimer/UtilityTimer.java b/DemoProjects/src/animation/utilityTimer/UtilityTimer.java new file mode 100644 index 0000000..705ce67 --- /dev/null +++ b/DemoProjects/src/animation/utilityTimer/UtilityTimer.java @@ -0,0 +1,32 @@ +package animation.utilityTimer; + +import java.awt.EventQueue; +import javax.swing.JFrame; + +public class UtilityTimer extends JFrame { + + public UtilityTimer() { + + initUI(); + } + + private void initUI() { + + add(new Board()); + + setResizable(false); + pack(); + + setTitle("Star"); + setLocationRelativeTo(null); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + } + + public static void main(String[] args) { + + EventQueue.invokeLater(() -> { + JFrame ex = new UtilityTimer(); + ex.setVisible(true); + }); + } +} \ No newline at end of file diff --git a/DemoProjects/src/game/minitennis1/Game2.java b/DemoProjects/src/game/minitennis1/Game2.java deleted file mode 100644 index fe6fd26..0000000 --- a/DemoProjects/src/game/minitennis1/Game2.java +++ /dev/null @@ -1,30 +0,0 @@ -package minitennis1; - -import javax.swing.*; -import java.awt.*; -import java.awt.geom.Ellipse2D; - -public class Game2 extends JPanel { - - @Override - public void paint(Graphics g) { - Graphics2D g2d = (Graphics2D) g; - g2d.setColor(Color.RED); - g2d.fillOval(0, 0, 30, 30); - g2d.drawOval(0, 50, 30, 30); - g2d.fillRect(50, 0, 30, 30); - g2d.drawRect(50, 50, 30, 30); - - g2d.draw(new Ellipse2D.Double(0, 100, 30, 30)); - } - - public static void main(String[] args) { - JFrame frame = new JFrame("Mini Tennis"); - frame.add(new Game2()); - frame.setSize(300, 300); - frame.setVisible(true); - frame.setLocationRelativeTo(null); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - - } -} \ No newline at end of file diff --git a/DemoProjects/src/game/minitennis2/Game.java b/DemoProjects/src/game/minitennis2/Game.java deleted file mode 100644 index e8f7b60..0000000 --- a/DemoProjects/src/game/minitennis2/Game.java +++ /dev/null @@ -1,4 +0,0 @@ -package game.minitennis2; - -public class Game { -} diff --git a/DemoProjects/src/painting/SwingPaintDemo1.java b/DemoProjects/src/painting/SwingPaintDemo/SwingPaintDemo1.java similarity index 94% rename from DemoProjects/src/painting/SwingPaintDemo1.java rename to DemoProjects/src/painting/SwingPaintDemo/SwingPaintDemo1.java index 7a254ea..369044b 100644 --- a/DemoProjects/src/painting/SwingPaintDemo1.java +++ b/DemoProjects/src/painting/SwingPaintDemo/SwingPaintDemo1.java @@ -1,4 +1,4 @@ -package painting; +package painting.SwingPaintDemo; import javax.swing.SwingUtilities; import javax.swing.JFrame; diff --git a/DemoProjects/src/painting/SwingPaintDemo2.java b/DemoProjects/src/painting/SwingPaintDemo/SwingPaintDemo2.java similarity index 97% rename from DemoProjects/src/painting/SwingPaintDemo2.java rename to DemoProjects/src/painting/SwingPaintDemo/SwingPaintDemo2.java index 3b4dbd6..6efa0ef 100644 --- a/DemoProjects/src/painting/SwingPaintDemo2.java +++ b/DemoProjects/src/painting/SwingPaintDemo/SwingPaintDemo2.java @@ -1,4 +1,4 @@ -package painting; +package painting.SwingPaintDemo; import javax.swing.SwingUtilities; import javax.swing.JFrame; diff --git a/DemoProjects/src/painting/SwingPaintDemo3.java b/DemoProjects/src/painting/SwingPaintDemo/SwingPaintDemo3.java similarity index 93% rename from DemoProjects/src/painting/SwingPaintDemo3.java rename to DemoProjects/src/painting/SwingPaintDemo/SwingPaintDemo3.java index 82da620..6310645 100644 --- a/DemoProjects/src/painting/SwingPaintDemo3.java +++ b/DemoProjects/src/painting/SwingPaintDemo/SwingPaintDemo3.java @@ -1,4 +1,4 @@ -package painting; +package painting.SwingPaintDemo; import javax.swing.SwingUtilities; import javax.swing.JFrame; @@ -8,10 +8,7 @@ import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; import java.awt.event.MouseAdapter; -import java.awt.event.MouseMotionListener; -import java.awt.event.MouseMotionAdapter; public class SwingPaintDemo3 { diff --git a/DemoProjects/src/painting/SwingPaintDemo4.java b/DemoProjects/src/painting/SwingPaintDemo/SwingPaintDemo4.java similarity index 99% rename from DemoProjects/src/painting/SwingPaintDemo4.java rename to DemoProjects/src/painting/SwingPaintDemo/SwingPaintDemo4.java index f6dd572..cd0e140 100644 --- a/DemoProjects/src/painting/SwingPaintDemo4.java +++ b/DemoProjects/src/painting/SwingPaintDemo/SwingPaintDemo4.java @@ -1,4 +1,4 @@ -package painting; +package painting.SwingPaintDemo; import javax.swing.SwingUtilities; import javax.swing.JFrame; diff --git a/DemoProjects/src/painting/donut/Board.java b/DemoProjects/src/painting/donut/Board.java new file mode 100644 index 0000000..a404f2b --- /dev/null +++ b/DemoProjects/src/painting/donut/Board.java @@ -0,0 +1,50 @@ +package painting.donut; + +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.RenderingHints; +import java.awt.geom.AffineTransform; +import java.awt.geom.Ellipse2D; +import javax.swing.JPanel; + +public class Board extends JPanel { + + @Override + public void paintComponent(Graphics g) { + super.paintComponent(g); + + drawDonut(g); + } + + private void drawDonut(Graphics g) { + + Graphics2D g2d = (Graphics2D) g; + + RenderingHints rh + = new RenderingHints(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_ON); + + rh.put(RenderingHints.KEY_RENDERING, + RenderingHints.VALUE_RENDER_QUALITY); + + g2d.setRenderingHints(rh); + + Dimension size = getSize(); + double w = size.getWidth(); + double h = size.getHeight(); + + Ellipse2D e = new Ellipse2D.Double(0, 0, 80, 130); + g2d.setStroke(new BasicStroke(1)); + g2d.setColor(Color.gray); + + for (double deg = 0; deg < 360; deg += 10) { + AffineTransform at + = AffineTransform.getTranslateInstance(w/2, h/2); + at.rotate(Math.toRadians(deg)); + g2d.draw(at.createTransformedShape(e)); + } + } +} \ No newline at end of file diff --git a/DemoProjects/src/painting/donut/Donut.java b/DemoProjects/src/painting/donut/Donut.java new file mode 100644 index 0000000..7ba6ef5 --- /dev/null +++ b/DemoProjects/src/painting/donut/Donut.java @@ -0,0 +1,31 @@ +package painting.donut; + +import java.awt.EventQueue; +import javax.swing.JFrame; + +public class Donut extends JFrame { + + public Donut() { + + initUI(); + } + + private void initUI() { + + add(new Board()); + + setSize(330, 330); + + setTitle("Donut"); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setLocationRelativeTo(null); + } + + public static void main(String[] args) { + + EventQueue.invokeLater(() -> { + Donut ex = new Donut(); + ex.setVisible(true); + }); + } +} \ No newline at end of file diff --git a/DemoProjects/src/painting/image/Board.java b/DemoProjects/src/painting/image/Board.java new file mode 100644 index 0000000..8c9c8e8 --- /dev/null +++ b/DemoProjects/src/painting/image/Board.java @@ -0,0 +1,38 @@ +package painting.image; + +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Image; +import javax.swing.ImageIcon; +import javax.swing.JPanel; + +public class Board extends JPanel { + + private Image bardejov; + + public Board() { + + initBoard(); + } + + private void initBoard() { + + loadImage(); + + int w = bardejov.getWidth(this); + int h = bardejov.getHeight(this); + setPreferredSize(new Dimension(w, h)); + } + + private void loadImage() { + + ImageIcon ii = new ImageIcon("/home/bitecoding/Pictures/1182657.jpg"); + bardejov = ii.getImage(); + } + + @Override + public void paintComponent(Graphics g) { + + g.drawImage(bardejov, 0, 0, null); + } +} diff --git a/DemoProjects/src/painting/image/Image.java b/DemoProjects/src/painting/image/Image.java new file mode 100644 index 0000000..0b851bb --- /dev/null +++ b/DemoProjects/src/painting/image/Image.java @@ -0,0 +1,27 @@ +package painting.image; + +import java.awt.EventQueue; +import javax.swing.JFrame; + +public class Image extends JFrame { + + public Image() { + initUI(); + } + + private void initUI() { + add(new Board()); + pack(); + setTitle("Bardejov"); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setLocationRelativeTo(null); + } + + public static void main(String[] args) { + + EventQueue.invokeLater(() -> { + Image ex = new Image(); + ex.setVisible(true); + }); + } +} diff --git a/DemoProjects/src/sprites/shootingMissles/Board.java b/DemoProjects/src/sprites/shootingMissles/Board.java new file mode 100644 index 0000000..ed7038b --- /dev/null +++ b/DemoProjects/src/sprites/shootingMissles/Board.java @@ -0,0 +1,109 @@ +package sprites.shootingMissles; + +import java.awt.Color; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Toolkit; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; +import java.util.List; +import javax.swing.JPanel; +import javax.swing.Timer; + +public class Board extends JPanel implements ActionListener { + + private final int ICRAFT_X = 40; + private final int ICRAFT_Y = 60; + private final int DELAY = 10; + private Timer timer; + private SpaceShip spaceShip; + + public Board() { + + initBoard(); + } + + private void initBoard() { + + addKeyListener(new TAdapter()); + setBackground(Color.BLACK); + setFocusable(true); + + spaceShip = new SpaceShip(ICRAFT_X, ICRAFT_Y); + + timer = new Timer(DELAY, this); + timer.start(); + } + + @Override + public void paintComponent(Graphics g) { + super.paintComponent(g); + + doDrawing(g); + + Toolkit.getDefaultToolkit().sync(); + } + + private void doDrawing(Graphics g) { + + Graphics2D g2d = (Graphics2D) g; + + g2d.drawImage(spaceShip.getImage(), spaceShip.getX(), + spaceShip.getY(), this); + + List missiles = spaceShip.getMissiles(); + + for (Missile missile : missiles) { + + g2d.drawImage(missile.getImage(), missile.getX(), + missile.getY(), this); + } + } + + @Override + public void actionPerformed(ActionEvent e) { + + updateMissiles(); + updateSpaceShip(); + + repaint(); + } + + private void updateMissiles() { + + List missiles = spaceShip.getMissiles(); + + for (int i = 0; i < missiles.size(); i++) { + + Missile missile = missiles.get(i); + + if (missile.isVisible()) { + + missile.move(); + } else { + + missiles.remove(i); + } + } + } + + private void updateSpaceShip() { + + spaceShip.move(); + } + + private class TAdapter extends KeyAdapter { + + @Override + public void keyReleased(KeyEvent e) { + spaceShip.keyReleased(e); + } + + @Override + public void keyPressed(KeyEvent e) { + spaceShip.keyPressed(e); + } + } +} \ No newline at end of file diff --git a/DemoProjects/src/sprites/shootingMissles/Executor.java b/DemoProjects/src/sprites/shootingMissles/Executor.java new file mode 100644 index 0000000..d115fbb --- /dev/null +++ b/DemoProjects/src/sprites/shootingMissles/Executor.java @@ -0,0 +1,32 @@ +package sprites.shootingMissles; + +import java.awt.EventQueue; +import javax.swing.JFrame; + +public class Executor extends JFrame { + + public Executor() { + + initUI(); + } + + private void initUI() { + + add(new Board()); + + setSize(400, 300); + setResizable(false); + + setTitle("Shooting missiles"); + setLocationRelativeTo(null); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + } + + public static void main(String[] args) { + + EventQueue.invokeLater(() -> { + Executor ex = new Executor(); + ex.setVisible(true); + }); + } +} \ No newline at end of file diff --git a/DemoProjects/src/sprites/shootingMissles/Missile.java b/DemoProjects/src/sprites/shootingMissles/Missile.java new file mode 100644 index 0000000..a85451e --- /dev/null +++ b/DemoProjects/src/sprites/shootingMissles/Missile.java @@ -0,0 +1,27 @@ +package sprites.shootingMissles; + +public class Missile extends Sprite { + + private final int BOARD_WIDTH = 390; + private final int MISSILE_SPEED = 2; + + public Missile(int x, int y) { + super(x, y); + + initMissile(); + } + + private void initMissile() { + loadImage("/home/bitecoding/Pictures/laser.png",35,35); + getImageDimensions(); + } + + public void move() { + + y -= MISSILE_SPEED; + + if (y < 0) { + visible = false; + } + } +} \ No newline at end of file diff --git a/DemoProjects/src/sprites/shootingMissles/SpaceShip.java b/DemoProjects/src/sprites/shootingMissles/SpaceShip.java new file mode 100644 index 0000000..9bebb56 --- /dev/null +++ b/DemoProjects/src/sprites/shootingMissles/SpaceShip.java @@ -0,0 +1,85 @@ +package sprites.shootingMissles; + +import java.awt.event.KeyEvent; +import java.util.ArrayList; +import java.util.List; + +public class SpaceShip extends Sprite { + + private int dx; + private int dy; + private List missiles; + + public SpaceShip(int x, int y) { + super(x, y); + + initSpaceShip(); + } + + private void initSpaceShip() { + + missiles = new ArrayList<>(); + + loadImage("/home/bitecoding/Pictures/spaceship.png",50,50); + getImageDimensions(); + } + + public void move() { + x += dx; + y += dy; + } + + public List getMissiles() { + return missiles; + } + + public void keyPressed(KeyEvent e) { + + int key = e.getKeyCode(); + + if (key == KeyEvent.VK_SPACE) { + fire(); + } + + if (key == KeyEvent.VK_LEFT) { + dx = -1; + } + + if (key == KeyEvent.VK_RIGHT) { + dx = 1; + } + + if (key == KeyEvent.VK_UP) { + dy = -1; + } + + if (key == KeyEvent.VK_DOWN) { + dy = 1; + } + } + + public void fire() { + missiles.add(new Missile(x + width, y + height / 2)); + } + + public void keyReleased(KeyEvent e) { + + int key = e.getKeyCode(); + + if (key == KeyEvent.VK_LEFT) { + dx = 0; + } + + if (key == KeyEvent.VK_RIGHT) { + dx = 0; + } + + if (key == KeyEvent.VK_UP) { + dy = 0; + } + + if (key == KeyEvent.VK_DOWN) { + dy = 0; + } + } +} \ No newline at end of file diff --git a/DemoProjects/src/sprites/shootingMissles/Sprite.java b/DemoProjects/src/sprites/shootingMissles/Sprite.java new file mode 100644 index 0000000..b017879 --- /dev/null +++ b/DemoProjects/src/sprites/shootingMissles/Sprite.java @@ -0,0 +1,52 @@ +package sprites.shootingMissles; + +import java.awt.*; +import javax.swing.ImageIcon; + +public class Sprite { + + protected int x; + protected int y; + protected int width; + protected int height; + protected boolean visible; + protected Image image; + + public Sprite(int x, int y) { + + this.x = x; + this.y = y; + visible = true; + } + + protected void loadImage(String imageName, int width, int height) { + + ImageIcon ii = new ImageIcon(imageName); + image = ii.getImage().getScaledInstance(width, height, Image.SCALE_DEFAULT); + } + + protected void getImageDimensions() { + width = image.getWidth(null); + height = image.getHeight(null); + } + + public Image getImage() { + return image; + } + + public int getX() { + return x; + } + + public int getY() { + return y; + } + + public boolean isVisible() { + return visible; + } + + public void setVisible(Boolean visible) { + this.visible = visible; + } +} \ No newline at end of file diff --git a/DemoProjects/src/sprites/spaceship/Board.java b/DemoProjects/src/sprites/spaceship/Board.java new file mode 100644 index 0000000..db5b303 --- /dev/null +++ b/DemoProjects/src/sprites/spaceship/Board.java @@ -0,0 +1,79 @@ +package sprites.spaceship; + +import java.awt.Color; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Toolkit; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; +import javax.swing.JPanel; +import javax.swing.Timer; + +public class Board extends JPanel implements ActionListener { + + private Timer timer; + private SpaceShip spaceShip; + private final int DELAY = 10; + + public Board() { + + initBoard(); + } + + private void initBoard() { + + addKeyListener(new TAdapter()); + setBackground(Color.black); + setFocusable(true); + + spaceShip = new SpaceShip(); + + timer = new Timer(DELAY, this); + timer.start(); + } + + @Override + public void paintComponent(Graphics g) { + super.paintComponent(g); + + doDrawing(g); + + Toolkit.getDefaultToolkit().sync(); + } + + private void doDrawing(Graphics g) { + + Graphics2D g2d = (Graphics2D) g; + + g2d.drawImage(spaceShip.getImage(), spaceShip.getX(), + spaceShip.getY(), this); + } + + @Override + public void actionPerformed(ActionEvent e) { + + step(); + } + + private void step() { + + spaceShip.move(); + + repaint(); + } + + private class TAdapter extends KeyAdapter { + + @Override + public void keyReleased(KeyEvent e) { + spaceShip.keyReleased(e); + } + + @Override + public void keyPressed(KeyEvent e) { + spaceShip.keyPressed(e); + } + } +} \ No newline at end of file diff --git a/DemoProjects/src/sprites/spaceship/MovingSprite.java b/DemoProjects/src/sprites/spaceship/MovingSprite.java new file mode 100644 index 0000000..ad55218 --- /dev/null +++ b/DemoProjects/src/sprites/spaceship/MovingSprite.java @@ -0,0 +1,32 @@ +package sprites.spaceship; + +import java.awt.EventQueue; +import javax.swing.JFrame; + +public class MovingSprite extends JFrame { + + public MovingSprite() { + + initUI(); + } + + private void initUI() { + + add(new Board()); + + setTitle("Moving sprite"); + setSize(400, 300); + + setLocationRelativeTo(null); + setResizable(false); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + } + + public static void main(String[] args) { + + EventQueue.invokeLater(() -> { + MovingSprite ex = new MovingSprite(); + ex.setVisible(true); + }); + } +} \ No newline at end of file diff --git a/DemoProjects/src/sprites/spaceship/SpaceShip.java b/DemoProjects/src/sprites/spaceship/SpaceShip.java new file mode 100644 index 0000000..302e35b --- /dev/null +++ b/DemoProjects/src/sprites/spaceship/SpaceShip.java @@ -0,0 +1,105 @@ +package sprites.spaceship; + +import java.awt.Image; +import java.awt.event.KeyEvent; +import javax.swing.ImageIcon; + +public class SpaceShip { + + private int dx; + private int dy; + private int x = 40; + private int y = 60; + private int w; + private int h; + private Image image; + + public SpaceShip() { + + loadImage(); + } + + private void loadImage() { + + ImageIcon ii = new ImageIcon("/home/bitecoding/Pictures/spaceship.png"); + image = ii.getImage().getScaledInstance(50,50,1); + + w = image.getWidth(null); + h = image.getHeight(null); + } + + public void move() { + + x += dx; + y += dy; + } + + public int getX() { + + return x; + } + + public int getY() { + + return y; + } + + public int getWidth() { + + return w; + } + + public int getHeight() { + + return h; + } + + public Image getImage() { + + return image; + } + + public void keyPressed(KeyEvent e) { + + int key = e.getKeyCode(); + + switch(key){ + case KeyEvent.VK_A: + dx = -2; + break; + case KeyEvent.VK_D: + dx = 2; + break; + case KeyEvent.VK_W: + dy = -2; + break; + case KeyEvent.VK_S: + dy = 2; + break; + default: + break; + } + } + + public void keyReleased(KeyEvent e) { + + int key = e.getKeyCode(); + + switch(key){ + case KeyEvent.VK_A: + dx = 0; + break; + case KeyEvent.VK_D: + dx = 0; + break; + case KeyEvent.VK_W: + dy = 0; + break; + case KeyEvent.VK_S: + dy = 0; + break; + default: + break; + } + } +} \ No newline at end of file diff --git a/TicTacToe_MinMax/TicTacToe_MinMax.iml b/Doodles/Doodles.iml similarity index 100% rename from TicTacToe_MinMax/TicTacToe_MinMax.iml rename to Doodles/Doodles.iml diff --git a/Doodles/src/Template.java b/Doodles/src/Template.java new file mode 100644 index 0000000..e79beb3 --- /dev/null +++ b/Doodles/src/Template.java @@ -0,0 +1,23 @@ +import java.util.Arrays; + +public class Template { + + /* + 1 2 3 4 5 + 12 13 14 15 6 + 11 10 9 8 7 + + */ + + public static void main(String[] args) { + int num = 1000; + for (int j = 0; j < 50; j++) { + for (int i = 0; i < 59; i++) { + System.out.print(num+" "); + num++; + } + System.out.println(); + } + } + +} diff --git a/TicTacToe - MinMax/TicTacToe - MinMax.iml b/TicTacToe - MinMax/TicTacToe - MinMax.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/TicTacToe - MinMax/TicTacToe - MinMax.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/TicTacToe_MinMax/src/Game.java b/TicTacToe_MinMax/src/Game.java deleted file mode 100644 index 42d8361..0000000 --- a/TicTacToe_MinMax/src/Game.java +++ /dev/null @@ -1,41 +0,0 @@ -import javax.swing.*; - -public class Game { - - public void place(int player, int position, int[] playfield){ - if (playfield[position] == -1){ - playfield[position] = player; - } else { - JOptionPane.showConfirmDialog(null,"Tile is already taken"); - } - } - - private boolean checkWin(int[] playfield){ - for (int i = 0; i < 3; i++){ - if ((playfield[i] == playfield[i+3]) && (playfield[i] == playfield[i+6])){ - System.out.println("vertical"); - return true; - } else if ((playfield[i*3] == playfield[i*3+1]) && (playfield[i*3] == playfield[i*3+2])){ - System.out.println("horizontal"); - return true; - } - } - return (playfield[2] == playfield[4]) && (playfield[2] == playfield[6]) || (playfield[0] == playfield[4]) && (playfield[0] == playfield[8]); - } - - - public static void main(String[] args) { - Game game = new Game(); - Render render = new Render(); - - int[] playfield = {1,0,-1,1,1,0,-1,0,1}; - - SwingUtilities.invokeLater(new Runnable() { - public void run() { - render.createUI(playfield); - } - }); - - System.out.println(game.checkWin(playfield)); - } -} diff --git a/TicTacToe_MinMax/src/Player.java b/TicTacToe_MinMax/src/Player.java deleted file mode 100644 index d01f6ed..0000000 --- a/TicTacToe_MinMax/src/Player.java +++ /dev/null @@ -1,4 +0,0 @@ -package PACKAGE_NAME; - -public class Player { -} diff --git a/TicTacToe_MinMax/src/Render.java b/TicTacToe_MinMax/src/Render.java deleted file mode 100644 index f7825f2..0000000 --- a/TicTacToe_MinMax/src/Render.java +++ /dev/null @@ -1,134 +0,0 @@ -import javax.swing.*; -import java.awt.*; - -public class Render { - - public static void createUI(int[] playfield){ - JFrame f = new JFrame("Swing Paint Demo"); - MyPanel myPanel = new MyPanel(playfield); - f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - f.add(myPanel); - f.pack(); - f.setLocationRelativeTo(null); - f.setVisible(true); - } - -} - -class MyPanel extends JPanel { - Grid grid; - GameCharacters gameCharacters; - - public MyPanel() { - setBorder(BorderFactory.createLineBorder(Color.BLACK)); - grid = new Grid(); - } - - public MyPanel(int[] playfield){ - setBorder(BorderFactory.createLineBorder(Color.BLACK)); - grid = new Grid(); - gameCharacters = new GameCharacters(playfield); - } - - public Dimension getPreferredSize() { - return new Dimension(900,900); - } - - public void paintComponent(Graphics g) { - super.paintComponent(g); - grid.paintGrid(g); - gameCharacters.paintGameCharacters(g); - } -} - -class Grid{ - private final int TILE_X = 300; - private final int TILE_Y = 300; - - public void paintGrid(Graphics g){ - g.setColor(Color.BLACK); - //horizontal - for (int i = 1; i < 3; i++) { - Graphics2D g2d = (Graphics2D)g; - g2d.setStroke(new BasicStroke(5)); - g2d.drawLine(0, TILE_Y*i, TILE_X*3, TILE_Y*i); - } - //vertical - for (int i = 1; i < 3; i++){ - Graphics2D g2d = (Graphics2D)g; - g2d.setStroke(new BasicStroke(5)); - g2d.drawLine(TILE_X*i, 0, TILE_X*i, TILE_Y*3); - } - } -} - -class GameCharacters { - CharacterX characterX = new CharacterX(); - CharacterO characterO = new CharacterO(); - - private final int TILE_X = 300; - private final int TILE_Y = 300; - - int[] playfield; - - public GameCharacters(int[] playfield) { - this.playfield = playfield; - } - - public void paintGameCharacters(Graphics g) { - int actions = 0; - for (int column = 0; column < 3; column++) { - for (int row = 0; row < 3; row++) { - if (playfield[actions] == 1) { - characterX.setX(TILE_X * row); - characterX.setY(TILE_Y * column); - characterX.paintX(g); - } else if (playfield[actions] == -1) { - characterO.setX(TILE_X * row); - characterO.setY(TILE_Y * column); - characterO.paintO(g); - } - actions++; - } - } - } - - class CharacterX { - private int x; - private int y; - - public void paintX(Graphics g) { - Graphics2D g2d = (Graphics2D)g; - g2d.setStroke(new BasicStroke(10)); - g2d.drawLine(x+25, y+25, x+275, y+275); - g2d.drawLine(x+25, y +275, x+275, y+25); - } - - public void setX(int x) { - this.x = x; - } - - public void setY(int y) { - this.y = y; - } - } - - class CharacterO { - private int x; - private int y; - - public void paintO(Graphics g) { - Graphics2D g2d = (Graphics2D)g; - g2d.setStroke(new BasicStroke(10)); - g2d.drawOval(x + 25, y + 25, 250, 250); - } - - public void setX(int x) { - this.x = x; - } - - public void setY(int y) { - this.y = y; - } - } -} diff --git a/out/production/ATM-Machine/ATM-Machine.iml b/out/production/ATM-Machine/ATM-Machine.iml new file mode 100644 index 0000000..b107a2d --- /dev/null +++ b/out/production/ATM-Machine/ATM-Machine.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/out/production/ATM-Machine/src/META-INF/MANIFEST.MF b/out/production/ATM-Machine/src/META-INF/MANIFEST.MF new file mode 100644 index 0000000..5c4afaa --- /dev/null +++ b/out/production/ATM-Machine/src/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: Operator + diff --git a/out/production/ATM-Machine/src/Operator.class b/out/production/ATM-Machine/src/Operator.class new file mode 100644 index 0000000000000000000000000000000000000000..e4eb05332fdb2917bd2e8c19ad1fe50beffc091b GIT binary patch literal 3679 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 RQ}|J#XlMBNl#dbo^e;J~@WTKA literal 0 HcmV?d00001 diff --git a/out/production/DemoProjects/animation/swingTimer/SwingTimer.class b/out/production/DemoProjects/animation/swingTimer/SwingTimer.class new file mode 100644 index 0000000000000000000000000000000000000000..3fbdbcf6a5b1b5c99ebea127fc89a8a19c9204ad GIT binary patch literal 1575 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 literal 0 HcmV?d00001 diff --git a/out/production/DemoProjects/animation/thread/ThreadAnimation.class b/out/production/DemoProjects/animation/thread/ThreadAnimation.class new file mode 100644 index 0000000000000000000000000000000000000000..5e65519ef2375c27b18a896bcca5a3f21c489125 GIT binary patch literal 1601 zcma)6*-{fh6g{29OcKLUZ*f5)2pUC5z*3(Y(#ptWCN?c`d+zD(`|Hp5p8)P)%|rr811XMUNHb*Li*4~SAAGRgcljst zzNkrt^j+Jv)qRF!ZkhlYv>7lt+BINQxOPn_+jH}3)0d)}uY}XXoo#|^^y;F44u*jP z;j^Cbt0p*-nz@^!2U*G_s#OLnSJHa&;)BW;y;|LKrK<|lhiz(bA4fk175py z>3F6&ESw`V{Dw=`<>JCaK`RZ{)#VjTT);&Gd5%lC%+UMKu(@qAYq=pCR7<<d&Ow^r}Hu8uKO|W5K{8#}hoIszQ@P znUS&iQYeBD;;q&M9K5E8uh|K3tD#e04tyBvNinw zKSn8!#o zHg!N9N1ZGt+N5YrG-dq&fAtleO?17ql1=my>!6iA*~E~=ni#dxO-$@&8HPcqE@JM{ z4UGCwA5PIYiUCYwuqEqMoVATa-;J~0q&bxT9Xa3|&hHZI=Ln+8V5Ehl4fk*#=r*J9CQ!s9nzc!Dv{%A2 Q`n{kXlXjL-#wt$y1;H+UQvd(} literal 0 HcmV?d00001 diff --git a/out/production/DemoProjects/animation/utilityTimer/Board$ScheduleTask.class b/out/production/DemoProjects/animation/utilityTimer/Board$ScheduleTask.class new file mode 100644 index 0000000000000000000000000000000000000000..b685d174e0dd81a9780508b1d1963f4edb4b4e0e GIT binary patch literal 743 zcmaJ;-A+?M5dNm;*h7z7TB!Jo6{IRHiRHo@#2AqTt=4+crinL(rQL*;({srAA@B}9 zhA&`JAo0Qn@Ckex2}9>OiMw z13gi3`*kGaaS1N2c_<2am?Jc2#Wwn*Lp9Cp_m@(q_Ih;cV}g7`|xqygAgcV zo>2QDPo!1SwmNdM7dq7GOMcy?nYxpsC0FxdfDVa#RGW|uxGIwjbt#Cu{Jn&x~4zuLCt`g0aMf#=<_!$8BqP5dyQdZFL2Woc3=wESt_u{GT*Ss4xZp0 oHt`-?=;0MUUJhkYxXBJ_&2L}`94D7FQ-kQT>t<8 literal 0 HcmV?d00001 diff --git a/out/production/DemoProjects/animation/utilityTimer/Board.class b/out/production/DemoProjects/animation/utilityTimer/Board.class new file mode 100644 index 0000000000000000000000000000000000000000..ab1fb2970b0e54f5b885516b50e3d3b969afde75 GIT binary patch literal 2253 zcmaJ?i&7I;82&a1CM+ui#0!dA&?*T^thQE-VjF!3r-tV{R z!?aUEr_S^N`UE~r?RQR=B-j}lvSJ>f}SVF zQ)4UTZCZ9YH9K$EW<|k)o0e_)qYA=9i9$PKXpchG&;d!zC;cMP|rAUeLhs88f)6ezmz?9|XD++yR)Gn4xCOkOCvHS`E&yFRDq^|9>o1EKBJ zaCo0~NobF1I3~0Q_iQI7vtx4SxP}vAr)z$4LBBV#tk2~q7Ybupm0l+`oD%J|i$-K= zQM{qxaBH{vx=}XuqGQJ}s9-R)>a3fo70Wk^PD!9KZx#KjYkDcqH{6j8yR70g&I;V# zWTc_2h?S}sw9NS~9ny({usE+_2nlvvHhr0bAP*(#*2bovlDc#h!wNcOh=x){5*Ia$ zAf=$2-npVtF-yA5{C3e4IdxtCUnBw2TN*Coih_tJRYCmKZ0&dlSEG1W!!=xQ&6{y5 z4jtOYvtyY%`yAy?T40&ha1*z90-ouQ8^yJ<>r`zX^`QU)QGeY!QHbJpz^Rl_Pmmh6 zN3N(C#h8F@oXOaRfGUOw4U?E+T1K9C&Bvzenx&lejJ+Oh3Eqez5sqO-gDwxZ;us|f zr@-KjhOD52vL&QB4fmw99mV_Ph(uZtHYMq*Vjf{(m)CF~1s3HC78Cb6bWKa1)B^>H z*RlR=uDEKJsueSDcxx&a@lbU7fr5dd?Cbp4P8%w1%VmbhPay5C#zO!ukjrV|fU zY~bT4Tn!#rUA&PZ?>Ln;iz-3=3G=a0t@sUHZ|e;Tv?S*So@&?>T!?tvc99&-IP$vq z1*1|m!+`QA{PN|?7kmT6qmQN;r^KeavX*VmRo7QcH*c&|sOiZ%ym1A?wS*ifBmS!8 zDLD1|lT;A0EV5R1zc)@LBx1m%$;vX%wTaChp4?G$PSq`%Q*o+-pu(qVv94zWFzgOy_%3brVPuuYlscc0AB+mN4epF?+_%yHY0 zKjA)yY(xH(F*#{uY~CBW^47_f_l;{CZTV&4^D|0Yv{$%}BzK`CyOl>fh}M^b$@q&M z#O3o)GQ5K$$#~xm`jR#D|0d&o&gVI_^LZQ*cF}=2tLf(Fpohc#5YC_%3H0M4PT~t% zi7J^1U*apSAu%I@Di&FhKWf5QF8wL-FuS}5SSNR4^Cx6G=HQY!($LJC}=Kn609m(NctccbhH^bNay-J9#vFGb8{dNSQ=!kFeo$QzMA_#gv0JU$J z)nDRomcP4f(pvlzP7T#pQ{3XYjk1H=Eh+jMDf)sGVSF!7?+5(IHNs?z_=#_-e2d{{ Gg#H8g!sQ77 literal 0 HcmV?d00001 diff --git a/out/production/DemoProjects/animation/utilityTimer/UtilityTimer.class b/out/production/DemoProjects/animation/utilityTimer/UtilityTimer.class new file mode 100644 index 0000000000000000000000000000000000000000..266b79b93a6c0f42addafa363b0d2bc9893ac9b0 GIT binary patch literal 1610 zcma)6Yf}?R6g{0}Ght|60YO&;AAn(e#C^KE@kta#BPa=2>ZgXZ(lVJz&Gew`zuGTx z3#UzsOB34Io9j(!6;Cp^^=TKQfz(#lnOx1~BVsIFxe#9#>4 zmMjb~OnwEi;ESMbgClQJ40DX2OesaX&EQlTMp#w6(bc-&>H41ZbZ!2qO#>d|IEHZs z9!k9`L-n`VaH)<$<$0q2IL8SizR(q$+a;W&e@!g{13kqtg=vNoL0d{2*s(OZE69_k z4#=8X!gGe>EY48`1vmW7*oIZ<(!3*EKEuS(vSSZtIp%Pl;W%OM$d@8=b=~ztxzd$E zOl0&f&99f~oaQ+kTp%-o$YU6qf^M?SB~F|kv553SD{L5tov=E8fqv{E=QdW8MG3A%foddwu zZdYc*zyD*B^4r+#WlNds!gZTU%i1uChpRLWB2Qz907h;< z{-704g7GJ{LK8O*5VN#kjZV-^#ctaEABJ`#N`&3cvQSpFU=z`wY-Pi&qeh^mC?3`rlZ z;|4Hn8}n0=TNG(X2H&GZ%71?76ngk&pD8h7l9*0mfV$mhBTB?@3%3cG#{!Kx)NzMq XW71vPYv2+69@CCZJ5SKW8czHV%=?2X literal 0 HcmV?d00001 diff --git a/out/production/DemoProjects/painting/MyPanel2$1.class b/out/production/DemoProjects/painting/MyPanel2$1.class deleted file mode 100644 index 07366794986baa0d87e8ef2479152d4141bffa32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 749 zcmaJZNB+!sxh(1nX(ym!%>h3_}&oa@P z_}~xlM;Xtojhaw>n3;3=&UY?zzW@084Zt%rOUNPb!tt?y0%7G`M9M_!wAK627fQyv zwH-pioJDDEo88?xf7?S5B^RELMfim3J24Y2aba3=CY5RR^fZ+(#^T(_gqfa4Dl+?o zd{`fPxQVihz{e7n2^-f%9$FHDb1Kc7EUIIpR(-755Nm$xVI8+zZ1}j1Dq(4^M1nWb zGdXxa6^SG)gq==(NT`I@bYmUPfgUri+>Mkxo=#3=@>-n4Y+3H=k%)&PiL8EQbnI{l zYx88aoi@Rr*a7qtnWl0~*bKY>Y_n~X6X&V^2gA(_^fVdCSCK7gb#TGI)wjR)Qcm>V zQ_Ie^AF5HTQ+D;FIn$iDcq~(Mq*ETI-%&~?2eIIiQrzPWDDpB;5ZE1HDaU6KcR;wy z(mw0f;x(F|L5(kPKW3Osz6*>2wz0)`q;lYl7^M2!@rtu&C7LL}Iq(_~1uY-Z~2CdJ1p zXa#@x06vs>XDuqE`eSD9$GPWz%>Dl3>o)+eP%j{ZtPRV>9CC!Ea}lT{P@_io zhp;kBR%x~f?$``qFA}4X91_<3&Oh61ndHQI%KyP|Gd(?t2J&rSN?Pt+@NXTNU)z&o z{p_h>=i2wxAk;Ctx-vP{oH&0d0)t^OHQ`vUti#jNw4V+`;d8+@03p_uO>Ym86XxFKxf(KXirvMI`|eFD|5 zaEs5<6-s{?oz(vVMZElr)%(rrp@PTEW?_qSWbgz&zZS1R0oBy9idveTQYIFE0;%Gh AJ^%m! diff --git a/out/production/DemoProjects/painting/MyPanel1.class b/out/production/DemoProjects/painting/SwingPaintDemo/MyPanel1.class similarity index 78% rename from out/production/DemoProjects/painting/MyPanel1.class rename to out/production/DemoProjects/painting/SwingPaintDemo/MyPanel1.class index 6c4fdd462593f82e9530406eae4153d895916ae3..4551fab676a7722ee55a048a07f9915c7761d3ce 100644 GIT binary patch delta 66 xcmbQpxt?>vI|+q?#LT>s%)E5{;Bp`t0OGl%=H_qwF2*FOs%)Io?Y>Z+|T*5wZzA1ARBLMV*3_t(? diff --git a/out/production/DemoProjects/painting/SwingPaintDemo/MyPanel2$1.class b/out/production/DemoProjects/painting/SwingPaintDemo/MyPanel2$1.class new file mode 100644 index 0000000000000000000000000000000000000000..58ead797109cacbc86bbb10198e6054808434ba4 GIT binary patch literal 824 zcmaiyZBNrs6vzK(E9+LOtB4>@5wK{tMGN@O84`mSmTY9n%z`g3+YQuo_hQ?P__0hB z6JPiN_)x}kEAb&w_oBD=oc_=6JoH?C`|=gQGc+qGplHK#F^3Xi<4i;7lT^MK ziL*>541OM|DBC3zgZjY1byRJ5E^c6fu=2OaeFGs_Co((AquM5F(ZwwjV%%>WEaSF~ z6&H6{yT4s_2e?Bxj}Y+N;(e*0o_m(j$g@*U;_G*k C!?`Q~ literal 0 HcmV?d00001 diff --git a/out/production/DemoProjects/painting/SwingPaintDemo/MyPanel2$2.class b/out/production/DemoProjects/painting/SwingPaintDemo/MyPanel2$2.class new file mode 100644 index 0000000000000000000000000000000000000000..3aefd42d4de45996bce51f241f42306ee7bdb765 GIT binary patch literal 824 zcmaiy-EPxB5QWbqZk)J=m{M9wpe@A(Cy_8p1s4QWLTynaB~_)M2rjqDDm8Mv#onai zv5=rhT<`!q6k^s?{7679cD*w`^UcoeeEs(M3xKC+R!~6EhUH=bCBoL3h!PzoJ)agoU8fsSgO-!Tef{&e~HW4y$&fL>^5iCo+90PGa^f zb=6SB1Cd6?zI0lqlLUV*+i$fA?!rt*$uL$KPeV`YQ^kqPM>5lgD&x+(og|UzUM#XqX4vFmD)U^C=b3Th zQ-RkaZi8@#PrGazkJD&=1T{XvexGaBc`vaB*ue(xD?e1syUP~qa~c5I9yi`!nJ*#Ns*(oRS F@jGLHxflQd literal 0 HcmV?d00001 diff --git a/out/production/DemoProjects/painting/MyPanel2.class b/out/production/DemoProjects/painting/SwingPaintDemo/MyPanel2.class similarity index 65% rename from out/production/DemoProjects/painting/MyPanel2.class rename to out/production/DemoProjects/painting/SwingPaintDemo/MyPanel2.class index 25a3e926a0dca74fb4c3040e330dd53bf34eb188..baa1d1c417cd59675cb2b0a00baab4f4be6630f1 100644 GIT binary patch delta 260 zcmaFFx0Zi`mxMw=VrE`RW?s5}a5<0+0P$Q>bMrR_n=nc!;gFm>fl*vaRl^6D^d`n2 zoO(C&GQDM#RKlfqGYgA9qoO7Q3xf&+7lSH;0D~HX7=t>441+e1rORN%V9a30U^%&j zwMEi~fr-JEK?um#Vz6h>XK-LJVQ^&dVQ`)-$X3AUKDmjlR??e+6)3{b;0rXx52((c Q!H^+|A=pb7pGuBVrE`RW?uTnBojtXVHj`nI!1ABF%2I$|2|_7LUyw!(_2O^VYuvO ze-?j6MI8nf26YB51`P%Q22BPr1}z2|20aEf1_K5o1~Udb2Aj$ISz9FS8JHLx7=#!c zf$~la`V7ttCJZhNJ`8S?W7rB9y(XV!tCjR)U}f-U;AaQ`ni2?97sO!55X|7p5HdNL G-3tJbMy6mD+3bqQge(|3>g{NN-{EwRSXyz llzea~pXfA8LIIcDQw1qi4O}`W3otrMs^F5{9LqR?5dcoHJq!Q< delta 106 zcmdnN_Lg;mB&TpeVrE`RW?uS4LoqI4A2=^zmWd#YqwiZ8keHX6W6a3Fm78Cd8eCYK iSd_}hz^dWtsTsz|Af^G=H`#~LnM)MT-MoTv0wVxz<|5eu diff --git a/out/production/DemoProjects/painting/MyPanel3$2.class b/out/production/DemoProjects/painting/SwingPaintDemo/MyPanel3$2.class similarity index 52% rename from out/production/DemoProjects/painting/MyPanel3$2.class rename to out/production/DemoProjects/painting/SwingPaintDemo/MyPanel3$2.class index 48de8533730b341c1223ff48aa980e4d9d05acf4..0f6fb6b6f94fce98e90b4719a96a26865e5b09e8 100644 GIT binary patch delta 171 zcmaFMx`SbMy6mD+3bqQge(|j2Ic%N-{EwRSXyz llzea~pXfA8LIIcDQw1qi4O}`W3otrMs^F5{9LqR?5dcp!Jq-W= delta 106 zcmdnN_Lg;mB&TpeVrE`RW?uS4LoqI4A2=^zmWd#YqwiZ8keHX6W6a3Fm78Cd8eCYK iSd_}hz^dWtsTsz|Af^G=H`#~LnM)MT-MoTv0wVxz<|5eu diff --git a/out/production/DemoProjects/painting/MyPanel3.class b/out/production/DemoProjects/painting/SwingPaintDemo/MyPanel3.class similarity index 80% rename from out/production/DemoProjects/painting/MyPanel3.class rename to out/production/DemoProjects/painting/SwingPaintDemo/MyPanel3.class index 7549ca453b2d3d1ee52d12ce1cb648da3e6e375c..d41f6605d4d1437e40ed4107e4ebab8c6bdfe947 100644 GIT binary patch delta 213 zcmeAX{3&_xb#lm&lrSL?`A2cT}+Znxb$wm$FhzY0JVlrtpET3 delta 126 zcmew=*dsW>fm5g;F*C0uGcSE&gdC?JoYN=HCE^3)ZQRGqs4WcR>HAg&B<7{&7^@g^ pF(@;r@i4G5s53H%X~5M_=3)xsgsb0N!nBKtOBgP@*`0MAGXO0lCbMrR_IxJcluX82~kb7+wGX delta 36 lcmbQm^@nqU2d7X$VrE`RW?uTn1V=_L5g!bMq$#YDj3}l50wo)b_z4x$&(lBLGB5 BBN_kz delta 48 qcmcc5vWaDa2d6|qVrE`RW?uTl1Px9pIA=j3my8dLw^@qOl@S1}DiHMm diff --git a/out/production/DemoProjects/painting/SwingPaintDemo1.class b/out/production/DemoProjects/painting/SwingPaintDemo/SwingPaintDemo1.class similarity index 76% rename from out/production/DemoProjects/painting/SwingPaintDemo1.class rename to out/production/DemoProjects/painting/SwingPaintDemo/SwingPaintDemo1.class index c914c812d3f20c7554828ae1be18e875179c2a33..d7287ded01231bbbd8961f181df5a2ea5427d427 100644 GIT binary patch delta 35 ocmey$y@+Rm9i!$%d-09#pBWj|fsDz{OzupYK0wyyDNKpX0M6$Mvj6}9 delta 35 ocmZ3)^Obvo9i!Ald-08_PZ${`fQ-onOcqR1K0wyy3rs=G0M6(N-~a#s diff --git a/out/production/DemoProjects/painting/SwingPaintDemo2$1.class b/out/production/DemoProjects/painting/SwingPaintDemo/SwingPaintDemo2$1.class similarity index 59% rename from out/production/DemoProjects/painting/SwingPaintDemo2$1.class rename to out/production/DemoProjects/painting/SwingPaintDemo/SwingPaintDemo2$1.class index d7ec8a656f3eeb80bc689b6f2a77ec1d62157d0d..e131d26961fcb9625cb380da27b4f79d464b78b7 100644 GIT binary patch delta 92 zcmdnQa-U^_hlF}TVrE`RW?s5}a5<0+0P$Q>bMq$#YDj3}l50wo)b_z4x$&(lBLGB5 BBN_kz delta 48 qcmcc5vWaDa2d6|qVrE`RW?uTl1Px9pIA=j3my8dLw^@qOl@S1}DiHMm diff --git a/out/production/DemoProjects/painting/SwingPaintDemo2.class b/out/production/DemoProjects/painting/SwingPaintDemo/SwingPaintDemo2.class similarity index 73% rename from out/production/DemoProjects/painting/SwingPaintDemo2.class rename to out/production/DemoProjects/painting/SwingPaintDemo/SwingPaintDemo2.class index 535a4e257b2bf8a51aa84999e83eb19812fe5d5a..85636c2ba683ac8d540448c7f221b0868834b3f0 100644 GIT binary patch delta 44 vcmX@h)5$x*j!|=>z4%7=os5hMK*nTFrg}zo5Mv^fJCmjlkhS>{Q#LaIDBleQ delta 52 zcmeC=J7>66u&>KP?K;*-xZSujcYfS8+gnPZp% Dn4b<> diff --git a/out/production/DemoProjects/painting/SwingPaintDemo/SwingPaintDemo3$1.class b/out/production/DemoProjects/painting/SwingPaintDemo/SwingPaintDemo3$1.class new file mode 100644 index 0000000000000000000000000000000000000000..dd1ceb5cfc8da73478c0a5cbaa71378f7f38bccd GIT binary patch literal 607 zcma)4OHaZ;5dIb_#aaas@ohYq2%1Qgn-~*=FOrHzl#8dOY^0=YO}mxfKIy4hgNHJu4{DqfYE}zOb?Vhj|L+aR(jyhpT z7E3JyX-w-dOw2^#JI~ya%Ax4yfaGn2&P3n)2P^br+ZSAkQ`u>Dy}{)}UB@g#X+r+? zfsPDAF0Sq_l#;hy!JyT=4ylagNYM!UZQ^ z7}5<9s4Fj^ahr81gMEPa(pv&gdh2KG91&y$SYpnx1n za}{*n)e7|`CK$K2>GfS5^Q#C&bc*H9pD0!vsXtz4%7=os5hMK*nTFrg}zo5Mv^fJCmjlkhS>{lMfRk?__;eCsqLl vE(X!bWvp3>5)8}?k__Ao5)6C{Qb1CgL6$*=K@&*oGRQF)G00D5Wb*+4h2j!? delta 106 zcmeC=J7>66u&>KP?K;*-xZSujcYfS8+gnQfUE z1tw>+IbMq$#YDj3}l50wo)b_z4x$&(lBLGB5 BBN_kz delta 48 qcmcc5vWaDa2d6|qVrE`RW?uTl1Px9pIA=j3my8dLw^@qOl@S1}DiHMm diff --git a/out/production/DemoProjects/painting/SwingPaintDemo4.class b/out/production/DemoProjects/painting/SwingPaintDemo/SwingPaintDemo4.class similarity index 73% rename from out/production/DemoProjects/painting/SwingPaintDemo4.class rename to out/production/DemoProjects/painting/SwingPaintDemo/SwingPaintDemo4.class index 479288ce2eefa4a11e409334a9347bc86454d6ca..1d452d536b89cffb804fc445812fba41bd854e9a 100644 GIT binary patch delta 44 vcmcb|GmCeE9i!$%d-09#I~f@jfQ-qUOkIrXAjTXfcP33AAZznmrb1=_Fis6l delta 51 zcmbQmdyi*=9i!A_0VeT{sjC<{1q%{0^GY)F(kH7kbumhS#3$civH+?OWR}=$!JNbl E0Fns~SpWb4 diff --git a/out/production/DemoProjects/painting/SwingPaintDemo3$1.class b/out/production/DemoProjects/painting/SwingPaintDemo3$1.class deleted file mode 100644 index 1e6d04bafc47578c6a8df9ca6000939728c2202c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 562 zcmZ`$%TB^j5Iq+v#aaas5fP0G7vMso?!=fFe34W%R@u0^lp852x26yIE>{{Cet;ik zoC`#Z2~9fFGjmSo_4WPn3E&7@1`&`iuB#gOgu7hdzYe5&1a`of7AQpc`zqZ5W? zrP?--#=H*0#Dbz1pSdd|m)Q1@?5#p)V&EUrpPWGONSw;9-SdZ+4^17545e9uoqZh{ zhTOFNT`VQ}^aA188_?{Kfp16ScmP>XtQ$WXRsm#Wh+K`a>z z+m8cBT)3)C{@)CHsuwDIE*;MgX}oI@_57}h5;mx*0S(Jgs61NJp6w_gUcK68NVh~7 zUHKtx&}>R6f`-S#P=wfqNjqm)q5~x8rM(l%(pQZ_u-8#~nXF0!E69;G#{@!o yLJX_F;)4+ew0G!JtvWA=l|UYqDOimE2oP$aL>ZP!sAMbg+LZ%_r3JUu_sWO7OX diff --git a/out/production/DemoProjects/painting/donut/Board.class b/out/production/DemoProjects/painting/donut/Board.class new file mode 100644 index 0000000000000000000000000000000000000000..81eb33b51c328ede8b65f040c4fc77a0bdcd9df2 GIT binary patch literal 2309 zcmZuzZBr9h6n-`dSrada5D~O$Rcr|_MpIh_90w#IC`2U~OKrs^S;A`AO?Nk}E+2wZXFC1b{-l1WeeP~d!oX%`U+y{QIp;j*+;j8Ke}DW5U36&iD#w3Hh~DD3R+5{ifvVSIjJG(9&pIz2U-nM$8iu&*B4 zM!W6{`rTn^+$FFFdr3lebo$D8-F)Fzk%%7_I zZ;WpXr<<3eXhp9;ANm#SbaZ!P@XWgkTy~9OVn!=f%Xw5Ffny5Pg6?LFd%CQB+((zi zPZ=w^=@^ztl9G5$#R-Ae@kX`5y#A=EDA-1jt47{k_F60@O->06O8p2$le$q@W>X9+ z*k7xCLAO>CPVl z>sVly*PMC;jV>)2raotDrn6+(D-4``dY?tj)u&9y)yy1=cbL>Ply56rhN)puMNS|O zn)vB?{Whb?(nVZrR?8c7CCN+0S;uQA2rR?k46!Yj9(@UEy@p!?MKGd{oUKz*i&4*K zmbDT!4>jcPEe$tB=r2g-EP)c0(FT-_dx(0?8CT2Q;x6~{ zSMd#JLam`*1f=3o;}G5mq9B^F%63klFeIx{Z?+$m7z)IcY3lY^QF9#KQSqaKy*2QS z3CWR6O1yj6-`bp$f=7?Mf~+G?E8bmxCHPeMZ0cQy@;hGwDDy7GKr?RhE_?;7;ts#q zsoXWb@i}Ts(Cxi_>ri|9D%f6!XrU)yCw;ZkAm%}J`07IzkGe6UGAP7bQiFf`xN z62s{j&a7i(DANB7WAkDi;}uNyuVK1^*_Od*XEcWF<6m*2vnhr*txi?mpW>|{(Iq;g zPjRDyrT#9_6{+B61*TNDbA!>}p8qXV407?DehsC`}sSF!~Dg0_#DF#oa7lZ zi5||TIJayc3h0M}0rGehpOE@TTzib;9yLo$`wn*DJ-koGuXFHzfcsn{5jDD=ROxEM z&-f4@k+ybxj*p2Iq=ynd#RG)s*}!MCZKD50%I`yE6qoS@zGUsbBH}>=p3_A{g;4Re ridGeEDw09|m3hdb{ma86fN!Z7z<2nb&o;jO!23_32m^aa_mTerNWCEa literal 0 HcmV?d00001 diff --git a/out/production/DemoProjects/painting/donut/Donut.class b/out/production/DemoProjects/painting/donut/Donut.class new file mode 100644 index 0000000000000000000000000000000000000000..b6603ef8f38751a0c8e06ae09e3854d086d87a83 GIT binary patch literal 1526 zcma)6Yje{^6g_Jj%Tbi~0|+4$2*egGrcc_M@`yvg!9a;qcS=8P;ssP>tw)al{a5{B zIxy28(CKgL^sMB;&cwrX#@?&Dd+)jD9$oF<|GxVR!1rj`$RTf`;NS#`0`tGgL;1QI zz4C(R)t&87c9lT!h8KA8O@Vy5(za2;gazBdq)AxpNiT>^bVmnCT-`D&Q%uHB4GUAp zLpHSxJ2o8T4c4rKIm{DVb~*xXxoH?w<*T?_*WI2DR1nuH<2Ft5qJt$Y3s{kgTi);F zdZOHDRN5t+;$zCigsnI@gH?eN!}h$`XWY`DkS|HS6^HDgmNmEL;2b^?IK|*C^-Lyy zT=#XP9`{rzV^0SHg)(ax;0q2eVx4G=ZR&&ccvtzfhiXp?oE+ayd!FK7cCdjm8xIpg zE|&*Qri6BrAdvgMs@ZUH#loi!KEqXkg%9G~J)|&C5|yx*NiR6mFI7{j68GNp)M)tsKg>#gJa=@A2FP{k`z?c<@m1~PGQo)vSPd7uD( zm?(1nie8OY&`!8-A>2N!Kj`G}HP>n6xt5q<=uYArdQKLM>-aW};|(+bQj9i08}55J zzr4kCA2UC@b7F_TJ{H{hlYN|ai+!ARMIYyfWmX6Q%n*7G%UHlF7Rh!Am+1{lZVXCJ z;5%NL8Tae7Dff4{1pJB05Y$|%zzTVxNi7=K;r}6bZ0F+;3e*t)jLk%H>qloC}Lq9|6!n`uS810U*YR3Cx z)8Y+={w-k%cZVUI&7Eo(Kr9MP$2}P^(lUkRO0;O2HE!(Mrc-5z$p|%<__&UQ1jib- zSuILjjCKcg3?aoZP^J)mVP7!}mZZL6c3eZj3K~W*8bw;i7{(bA{~l9pjk{-}>edY}G}jP5x9Jv*RVXvHUeyzKiHLT7n+ylj)(1`;^kdUF<2! JeZqxs@E1z6{dxcZ literal 0 HcmV?d00001 diff --git a/out/production/DemoProjects/painting/image/Image.class b/out/production/DemoProjects/painting/image/Image.class new file mode 100644 index 0000000000000000000000000000000000000000..0f230fb58c8159187dc117b3ca2056606e497552 GIT binary patch literal 1512 zcma)6Yj4v?6g`uKBsFduQs@JgN1?E(mnG~juO+;;fkGg_(w3lw4`|v9#nkacwiDoI z@g*RT_yLIDgg9ecG*u(CAACnMbMLw59M8;`Zy!GcxQrDG8DtB{+1P`;K>3yI%Qw~V zwd-$I?=AxTGQNZ}_ zlqD^LwgnqmgH^Jz4`pJ@c3Z%yG!28Qd>vKmy3^IZ@}t_~s6|t}-^KyMBG;80TSd$W z6qg9DUg^Hsp0jZfhqxH3Xw8j05<8GK@FXd(Mgf`E5>bb39Klh6Stj39FJ#Y)>YfhO z!>$TsTGIkEqh++pH2tKFQ}~sFgB~HLE2+4c z&`Qtu<+`V878c-Y7RYRX6j+dX#zC46J2&)WC{ ze+pP6-Eu>heT<~1i!Bay-R5kv>H6wHud}X#HN%4k!pQSlGH}g2UCc!<-H_ayqkevk zXdNC3qwQJp<93?OeHm=Berm+Fz_=$n>utGUFc!`VWYimSUe&!|LoK_8lNBGbGsY8v z(vsFu7zMI>UqvrL;4R(k49~s} zpOdsGX>dpSZBK;@O|7?j-P&%2Ln}K9*WPy3aQgq>Oj`cDcK8^j$aU#?t8S!fCFJSK zU2`Sw*|=hEjNR~k71TW$hAJ%JfxyXKCXLctz`p`VexAzfpO}MrcFge1133uu!Z7~D zS&gIMIOe>Ea0V#6<0OM~j1$N*7FjUHXyH6(c9M(>xESa0NlY^y;u~}f<)LQtX|pk0!ry7LiyULt zAF%*@KxG@$Jfk2~kq^!=t-bcTLIFjqC;}DRl2{*nvc^PFqp=cWN#B=tqzlJgb9-R;SSF~6 z4}JhYlyUY_AkkcX+1>wU=Qsb^nP0zu`~>g>tqMF8d=wR~phVcTlfY6=TjB;1*qg;22*J>>q_Ob8pfmip(9#MU)j_pz*S12+k4 zdH9P6LiLbOKXS<0@`$j~?EPEHD_2vuHE{G>3b!3PkgyL4+bn9mnd>e4VTmOax8o5L z=6fdMo#UfDPImQPC^w6}c&NjHPK?vj%cAQ9;XmMu)^!OasCuq@aomrOlOex0E@zPW zdgy8;ly}&sZ(^Gg)Y~ZHWINPSn4~YCj|T3^M3rT@s8(|`C8vViRIvi-qNvBBJlTWx z)>lybJNz%AJlvJFByRwXRasSb4urQRid>(jgqKr-YM+75aCPe&mM$4VMrX tT1`2QyN(SZk!w#rvHmylK!}Gki3K#osfYX6%=S4vkUfwbo(yvn-XBBh#~lCw literal 0 HcmV?d00001 diff --git a/out/production/DemoProjects/sprites/shootingMissles/Board.class b/out/production/DemoProjects/sprites/shootingMissles/Board.class new file mode 100644 index 0000000000000000000000000000000000000000..6e9c408695728c488e457677c20dba6ecd6abbdc GIT binary patch literal 3152 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 literal 0 HcmV?d00001 diff --git a/out/production/DemoProjects/sprites/shootingMissles/SpaceShip.class b/out/production/DemoProjects/sprites/shootingMissles/SpaceShip.class new file mode 100644 index 0000000000000000000000000000000000000000..adad6c048a11a2bef917c60239e7a86aec2e120b GIT binary patch literal 1890 zcma)7Yfl?j5Ixrq4C@6Jr-T3wfusi86r4CAFFT}Z9<3Xj5KJA>Pb~J<-oy`NFC_e% zNc{t?6hLjH{(%0bsOp*Z#&(mU7KytvbMKs)IWzbA&%b{E1HfIp(BOkVgn*79h7{&H z`)%8?I;l>r)pG1+wP1HTb?Qaet}v9fo3^vA5RB(?iIRq4jD(=+2t!v`INRMUTg95a zuP`bA#r>Y{k0(kYj47OZX&#!X1IMnX9<! zQY^m88&MZ^EV&1cL`&#Mb~leSe1(+|R&}Isl{vVDnXjFcb!au6)Klx|u?PwpBU5|W zsxVd3myv(`~6vqBZIdd>86@|$`(w^X+SR5h>?>UVq+QwkeA-d_N?}{xmPD#B;P8V^^)1PMfZ#Wr)G09uAB+o8$N+u8gc*RjY^)Z^&$wq_C~4h&P7?uP!C6C|2gyg^0BEWaw4 z`(D9eTDPpaWx64>V(Xw?ww|!VY*nw;RcRU)*kK=UzMm_Hl9Es6&;9ahLE)h*KSGEy zp9HRtX?ac$KfmGRZ1fZ=d4kZd?!hNq$K0(k9yXw10^ia$-#w1+kfTONxfKKxiQ~_( zK6x@c_)P@dy_w{DjP9Ib{1_9-$fS`r(kGZ=wAp^N2+snO^q%5+ftPpMjVM^aj2BVi z`yP6MxyasZa_1f9lJ9VN_n2QQF)DE?u|9mam?+`x|)1RX|SYCFEw8Pq2J1YRtbyh&5k}8nL$+PWp~< zIchA47;wc!&l-;!anBl;0{m|5G$R6wY+jrkB{0rsWfCha<|^iK4Kd#6Wvo%Vjhnc` z+nyQdShm-(EH>G88G>8baywQeu7=-NA-4(rJp^P(jH4ODc#@arYpMKQ2fY^h<$F7 z%pV-_AbAgyErZi}o|7_*0xR4gYtPBn7FpUJ;3VDSB;Dg=Wq^|r1U|qJPDsWN4B$iQ EZ(H1MZ2$lO literal 0 HcmV?d00001 diff --git a/out/production/DemoProjects/sprites/shootingMissles/Sprite.class b/out/production/DemoProjects/sprites/shootingMissles/Sprite.class new file mode 100644 index 0000000000000000000000000000000000000000..b6aa4e95dd94841685495b154c8e86d0ae569f8a GIT binary patch literal 1595 zcmaJ>YflqF6g`96mM#lId6%c4*e*&HpHO^)=t=<-OclOu%cdPtc1?GA_@DfsiG@TH ze}F&Ac<*c}SQ^uGXXfslbI*P4?>|3&0a(O49c{Q0gJvLts6h9geQ0MYwp+?<7WSNC zAP`-Wt_+?ETuG(#akL{IgKnS$hQPT0sVW1<&-i7}3#40Gm%d-2^Omv;h-3O&jOsFQ zl_BCYpLz@=&?^u-l)fxf9J24k&@a%>0**8O5s_uAeY@mXMbFjIhe4J&L^o2obCFv? zl`dw}dA^Y}FoIEm_L37Qs6Zl>4sY8>K}eU4VO*d~Q8bJ?#xQB%8m0t#2)$LbE6%Rv z`ho2hNnC%*vaCx?9LRM8H!vd*k*t*x*zAs}QwGv7Lt!7}ZcrAuR*!-uC}^l|v*0_` zL#LWetEAmBaGR4BIbsx3WenV5syL~9B;_C85ST&}f1o0I~B>dmE2Auoxu@~_B! z$MvP>k~)oyA61-Ic-SU6($Al@pYA(B<1lbhTRmmeV*qIt<+Amwu8z+11gZEQ-Pi(Bx`?rt=HdxiCqq1*;u)QYN$C-4$BNnr^&Bti z{sLlRuH;YjZO@)!U{N!NwG#}Fj?r_XhUs&!U5a@KI)>?&RNn4~=!Ul>USgTJiIE#x zHQa3$Fh*qK7{Y`SV1(eh z0KwmdI&p?pCXO)gSK5TRW52-E1#qMRevLORz_Bk);F*?St0lOz8Em!$zr{ie&)v=7 wxt8EH(^b literal 0 HcmV?d00001 diff --git a/out/production/DemoProjects/sprites/spaceship/Board$TAdapter.class b/out/production/DemoProjects/sprites/spaceship/Board$TAdapter.class new file mode 100644 index 0000000000000000000000000000000000000000..e419587b919cdae25ae3b1f7c6359302596e8ab2 GIT binary patch literal 845 zcmaKqZBG+H5Xb*>t-bcTLP2?`pz=_(EeYofUr|D$^#S8aj3s@)w3BdJ@0!~K!^bi~ zO?=@8;6o8+FGZrIyxHB^o%zjwcIN!z_a6Y;Xq4a}=OV9g2L-~4875)M#y3OVV{;S^ z{g<&$`n7`>eLYM$Ar#W1(A1t0s=);3mWLurEMx z`3s+Z;sI;JeZq1*7#IH9R?up6E%$-Kl7)H__Ay~|6*ZnC`$LH$O{q&vJ)RCJ$@6~Y+e?=W$Pmp z_t~U-u}KN)T@-QB9%v~>5*M%9jun}cqKphxDt1!jl#`n>mLVMw>$zBt>|S&82dMcA z?su^qJd(8_K0q6fWmVbP6W*#=(qk-+2(Ly2)jR{8;qK;7+`DFY8U3wf+{-xgnXN_~ q%U#2|kfg=85v%_b10jC6m6$_KlseeJlWd>DQ`tSq9h9PzdUFNd<>ay|Cihepw*B zwq9J`7Z4j3P5LDIwS!&_Wi&Dv6qtCA`L*5UvRx0AZ(#sub#UhdMzh8Ds4wRBw3A_p z3%DrIXP3(l)k)C_Lggx7U_4vYi52YQu%M2V8y32rY21qsFp|Nj#27BqzOB6KRXy6L z52|+QrNBT3#=IaP9yCo%4-rI;v)e`{d-=i5!eS+ zC6LNK%k5>56&QIt%N@<`4%xLZg`}>*w8V9MOhOIu`bl8y9sIN{7c(db40acI*QsfS zXK+(9JS#An-RNW(5w%exHguS&;KVIu@Q?|$5nHj$ zu4(EwCARQLpoj1qHM_#P4Rxa$88N5uSmG<}5R;lu&FF9rrtr1IUQ4`h;Q^jX?BkhE zj;Y0vb6s3Sh#OsXakSrpkv}>Jlz*iB#oRO9iQh_m7v&Ku(CUw#iMSvPh-fBp?b ze!zN-OumUTzZzx7n5XzXhZKP<45N>0?*%0ql4f{`D$j)8xH04}gx7EL`M)r*Pu!s< z&gXx_r6$JnsU{{VpW1(e+-u}{o!K9-sC45s=JLN|u8Ge&&MzZFpbyG&EdL!GV#eu5u6*Fosq()936$AMmZWS&_qbmft5gQgK6G^QNh z7;1^9u9u8r{+@_-2eHqDwZuZ)Wg{(jQ7&WDBpS3%;0VV&Q^Xp;E8Z+~>%j>U{{y#< ByWao+ literal 0 HcmV?d00001 diff --git a/out/production/DemoProjects/sprites/spaceship/MovingSprite.class b/out/production/DemoProjects/sprites/spaceship/MovingSprite.class new file mode 100644 index 0000000000000000000000000000000000000000..b192cf786a7bda88246858f62143fd3e96044b44 GIT binary patch literal 1598 zcma)6?QRoC6g^`buj5R<9FhPHX`q2R+kh#w(AE@a3@HW&N^F8Czb5fOwybxp-L?66 zioQz!mUdJg|fuB0W5|6z=?EN3;SwUhkH)Hw&@Rv zZpZ5c8|>qzg$aR$!@=vm3c6)TCkzrc1$9L>aPj+d5JGk z6*$5D+xod0xKYFPL;bL?gILJKGLH&R%$E2HYcwbrcmng))Qq^8t%2tm>UtR$QL}JK z;%i(MnEhztogoc;G|&Uek2~Jbf2mt4(!qZI2Z@sW;* zwH!}B81!~@&`D~m7?0d-6*y*|E*7FaClpw29lizGD^q8=J>|sZJxk8|;8}5B1uw`n zd&D+xfvb8uUA1C3RxSzT^lPTw_6NbP-f)cbGg-Nd#vOs_b>EM|C{X=P9qswuaH@!n zGJeKg3r&f8xG!)vHZo2oF|XE&rHD|^)o$bmZ|G|;JNqYl+fq;>a94RRmAhwu2E zM4sOg0VdsXe9xIog4y=!aU2_1O5`!x5UtrCAfLX&4B$FRdV*Xd|+l3Ln*=I`ZSR~VFOkn9FTZs%m i#dhSePJ9jx+~#PkxYfl?T6g`7&7M3+J&jxJT(9i~NC z96N~vr?j8g%)OR*PoQ(jExF!`KwvVy+l?-C8!#>Oz!HeoDpl8$wM4Dr^!hCHE3)o`vQtPOI{VVVpumvgK26k4T(axwbiQ2b!mz-d zM6rA*6FG9_%LTQ*<>tMkYBTe6rL=Ei05_GC5r&)0T#3ngRiaYyU9}@>A%-!5u6^lg z9)bSJczw5X;?=oRCO*L}1LGDx#chFJ9jvh|&_{GO?;OZNx>WO=QeG;~bUJ-4lB&RG z7Cy%vfsm{8ve515;udV&tta-vEqFzNabJZZ*3f!(o4J~-9?NPfuIu}Sg=t;i6P5Lh zg;^D*n;AZn?talz8O&MuQtv4$Z^6P>%IhecD)*knX3#EAXbH;(RxEst2Lc~8bjxE| z@)B$E?1>r(m<&(vQMo`pY>u=*uD&DcTREVn17{2(h1X9q!Yd(>*Z#!$YEa8QQU6Q7xhU5(sO2(#Y3!ew8rl`TYm#PeAF@Bs;A{2lOkW|s=6o}+-EWE zE$%WA`WrK%%jhz=w%w5Rhc9cpN!BX&x5`R#PRUYPDp~jKfL0Ur?SQgcRNY<^wabKF xQq*^t$M;yo4_L;Jl=_Mi9m>ly?E+IRHi_D9h}v$5%3K#^@JCTQOsfOge*hZPP0IiP literal 0 HcmV?d00001 diff --git a/out/production/Doodles/Template.class b/out/production/Doodles/Template.class new file mode 100644 index 0000000000000000000000000000000000000000..190a585cbf0db2955e76994205c1372729acf8a1 GIT binary patch literal 1119 zcmaJ>TTc@~6#j-S-BJrJl>1Fo&=!#@Dqe~_*n~(@)T9I-d>YCGmTq^O-6;w0{0N_U z@mUiw;lUr^vp<60K)ij^mRLgLCNt;EneTk(GBf-A_vtqP&ykO#3zm&Y0^NuTr1s^3 z%(>Fr&Ar*)S7j{_U2!}|uL@Y1>{btA=&=z`;2IK_;HAS*t13}`olZl=29e|E-Ug1R zOFB@pnjc`yz66p;35--_MHPInEcH7_?@7v+ zc4-+X`eo^E$-pt|mNBCD9A+FZUJ&HTP?e4+Fr0bcDF*@JaIACe6DxyV`lmZU*-5X? ze)g8MELS#Utrap}^6NoatvM#C-ix@4rX4(wm%gt<9mv{-(tG|+n2cgEjvVgWcwid8 zBryB$h#l|1uc%zJ!_Bi;lV$A(hXNnkTi60NNnc5C$5r8M(f2F$TK;O4ZI(-pn};>k z0p4DG^U~$p&%Z@ckgi*Dw93cuNT5s12qe}$PXz^6hM@{=JQ0|?Qd_5#Z9Eg0{y&uW zzF8k`V4QEnd|luTLzMF*S2;>S***Ui;!|ULinG}UEKGAwGy%Ad8LoOrb(0q3{Dou@ z%H@9RY{hypnOZu=g0(u8${%C&Gwg{|^a3a7KN8}|5+DDZ(RhN9qb}+{Of(B7+HJCe z&Hn literal 0 HcmV?d00001 diff --git a/out/production/TicTacToe_MinMax/Game$1.class b/out/production/TicTacToe_MinMax/Game$1.class deleted file mode 100644 index 2e92e5ca599fb993afb8bd75c2ad5fbe69e29731..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 639 zcmYjO+iuf95IyU-abg_ercmxsXrPXZsCa}RUMen;LXjGpKICcRY}2irHCo%1_$(wU z5D$C+ABC84ih`w`Gdn(e&g|^(KRSxEY#6JU@e*qdSeea1v)FW!_pWzO%*i}{cDYR z0`7h`qjGzwjXEe7Q)NFbiJf7V$aE~N=KW>SElzdL*IVAYFVGz6xsgR_Nu*{=LxUJ) zrA^dZ&2~*DKI2BnFij8S$!m3gjmY|)eh2;6`ZhWsu7Aq}0L%%RoBEyCNBy&$Y{CEmS&h@W1- zi@)Q_*NS+DVx44whqz0TCHe3@+$VfM%RxxBttzrypLWb?#or)~DR@7yz7q2*_iYmD g{wLVF6m-dkB_Cm%&?U|j^r}i1F`-Y=+&z7N0o{0WKmY&$ diff --git a/out/production/TicTacToe_MinMax/Game.class b/out/production/TicTacToe_MinMax/Game.class deleted file mode 100644 index 9e3c030dc6ad692e46f84d6ba4c865dfc3ba4dbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1518 zcmZux-%}e^6#i~@vm2IBLMXw~v_LJ8kdjz`YiO-fTT=sJ2+~P;aS69%%VsyTSwMVb z{6FmY!b@lT@cAJ8f@D@!l3W+CT7KYs?R%l^ znwS#MAKGncVNz-PIyGFA-nI-Z+)$2LI#m4TZ3{EVDe3b9L%C`%tGrpsZ&)bcmWhQV ziYN(8TvW5JH2orUTqks7S76Zb_WfO1wL=+D_=_ml_B_wtawTypG`Ev@6K_$0W=l4A zA3G!!&+)n^N{M%r4DS+q?n!=w%aXs%ZVgu*Pp<5>w`8!cDhZ^kKDFDh14r%qPCaZn zgkn?`u`(fb52p!`oA>23?eHW?eLhjw#!+3xg9 z3x{CZwgQ{UZC;p(^A<2}2Rpoe^nbz(?hq3J1W^-s`M*N5Z*_k!Xvzm1Xd+SAi%Mx~ zx+1&bvQ)HLH(BvK87#SWw=27trjju}A3z70!r=Ek?n+z**ZBM?#E&#$c%NSt1~h!Y zZ?c!bmsjRaU=ertRfj`n=v*@k*<$QDtcC2=+A%DVHeX`kv8tv;)zVRx0h7O%Fn}=( zMwRD#r~8#z2Y2yNbXx}ZXeq!Me2h<6XNk6s*d>Er&O;x;@APSm9BFs5#&=jNWQ&EY z@n!Kju0&=kvWI@caC+~nPYveS^DVWA*m_wc1)RgpkxsHeQf>~8mI4}HXM{bYsIax09z4m&kF{&nQnR@gF Oat1Y87V~Gg^5-A!6(^Pe diff --git a/out/production/TicTacToe_MinMax/GameCharacters$CharacterO.class b/out/production/TicTacToe_MinMax/GameCharacters$CharacterO.class deleted file mode 100644 index b3a43bf55629eb68aef7775ed84384336cc2b14d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1038 zcmZ`%ZBNrs6n^ej)~ysa22AHfr=spnhEq|QA(0Vq$%I7ABHz5*Znom+NZWy^i6;7o zOau~5jGz5UelVWfjc%YeZO=U~ea?BFo}a(Jeh09K#Snb(t59@|Aixk`<2$0%;ufzv z!m?+*;|4>(X&LtHJVT^%x~ixlh>!|R$0&5lZ}UB#Z*#Mm->7Yix(XhG4_u`x|?_ z&7h{rbfv2_aq28@8C6Q1hF}O+3{$LkcWT0V&TDOoL@S*-Z&$fxNWULcq=pQMGe|=^ z7fGyLZkP@!9vk9uq7pHo*_$-ZfTNcqeVc^_!}Q;|!U`cPB+?5ho=Zr2TMXJ}r)$;4 zsv)NyeJ0F?u;!$Gq{F(fohKdJQE{JP{Pb^U(95PNtWulXwjfs8U|WzRZG*I8ezGJv zoqSSgAQF+AM!rJNC}zQMolZ-X_mR~y*+a0*G1SlG`EY~Y0jdEU+@yD`SA`VP^rw{vIprk&LW3f)Nq7GoI{?*VwlJ6{s<>@0-3}i;sbQe9sfOj^{G{ef(3!Nl`HGG zATS&j$-|(q;>rEGQ}K&SI+6k-QR2DuoytbwHQ(9Vvn*g>5X0(@5dqCw&Xo-eAZ_9z zE(!GccF?LNgjI?_TCw?DSuwqAVhmRV#7F+CDst7twJ`EYfn7Io12+YFtDZb8Ij$|B zTdVwXWp-?x=dGgJVzbJ!K~=qWu(xA-ujNjIkyNQ!k&UwS9Obuzn$l2U>>N^;&hr#& zUpj6;#nW9pPE{fk_FiK<9gb0s`qqk7fziKn#U&zZ6p6T+6%tb3mVmL*Jn$;^vZK20 zU$@<=?M*BFsKc7=2QQj_pyQFig|p8tV6M8Z?JYK>@7rW$bfyJaYTL^Zi_=na?qW)4 zAemH?MqlIKj|m9e;%tE7hTB{dtO2%hhikf31q(TPY9KLO_`LD<%Gut%dEt44%!=bC}F|yqi?Nn646RhYo zmgePv&Gju(sNn(XD8mUG&9+*I8r{Sc?y|uitYaDl(h!)zy>`o|^b`59BV;-^7$MyT yPwjQlPeiDRP+Ud7_;0N7^H}@DdjB6R^*|gU+$XCT**pyGEFRMu%)~H@C%_-TQ^m*t diff --git a/out/production/TicTacToe_MinMax/GameCharacters.class b/out/production/TicTacToe_MinMax/GameCharacters.class deleted file mode 100644 index baa909761cefe8339cfc99a3d291a0cdbbb5f820..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1289 zcmaJ=+fEZv6kVq?bfgR*MeqiQ3fdNI@qQ`br3zN7Rly1&(Hw@O9V}Ba9W;uMy!r*c z5MOvU5luAl1NLQIEh5NJ&l{`Siz zOZ8|(lZ9p*JJBN0^tXdR%-M)KA+Uej{VjR27Fz#PM=^#tVmev7josL@HE{8Nfs0vv zX`hY#=wRpL`NFkFtVHCsxy#0ZP4lES9kg)>hXv~AEAqu-S5;;NB2y&QLa&V@I4WS) zRKO5sBA+a2d(uW~!#=4E{Wgvv&2011^|Whyq7Y6&J`XaZzML<+PL15@o_e)NYH`BG z$<14AsxepfYJv2ElB_H!0}%ZJb%`maW%gWkMhP?*Tu849aeeyReP_EN2?lxP5AdUwzK{ooZ!a&Ldk-==hHo1S~F$%Q9K*SRkFJx8(eK z%Gg+S!FSY%tBY#5r@R^Er!@=IZmU{wOX;F{(aw9G@^ckgt0}6n&E4Co6w%G;M7ZL0 ze7S3s(3?OR*TaRtDdGrDQ|DB-=+Gk#&&VIn@Z>DDS1`kP1F4S?sn4(`3F=p26UQ~) zwTiY>i|Aj)-nCC>s&5tD@4`suD7!do;0EJdVMRISyv95u+=iRTpn&r{ZC}g5A2Ul0 z7zk@2r5HqdtrF1%BkXF?7&3-Cqi+!yXUsN}K&9TJyCZEb<0z5MV%p5|2lT8fox}-^ z`#zv=1?e^K$a3h=w&9(jSu5ImKx29zUy6t&Q>^@Yvt&@d)=e4EO%0=&vdFUUpdNQg z<~=qxh9t&G?R{KAi7h|iGXV#ac#0`_^b6?!5)Z?sPq7^vWeoAA$>$lPb}&A$_=ku^ zTx2Z%TzG-YJdKb5I4}Hq5-@X zMFL43DFc1z7l=1o$UVPMcI&Pu&@o$iRDR6fmA@mU7|!6Vj&lai$o8hWzQg&6epSnSSd)(8W_PS1=c*dSFs&SK+i1k$yNor%dXS#rQ=s+eb)*D zVvK#tZjD(zDtUSL)w<=a%Jn*tWW_aQy(&Fh`7KcMH*KCjQc*WhqNp8dJAQB-11Cfs zkBYK*gBwNOR{x(l9Y>3Eq!2cL8=TkaIHTPwzBIR=$eose*owRBnbv}>Bz8TwoSNn3 z)j%=K6$o*=LP)ADfxuYP%hBgvobXi^*N#Y@U-PUGw5gFph>?UC`v^TS-S3+O1-|3p zxJalWNAf&w(o>Wy!z~nP1;%kZpcI`X*NAP6en9U52DIsP5HU>%pO$tgOWIwsT}1rs4^ksw zB=HCMql{;|3#CMpc6R5^+;h%7_wMgMKYsyuf|pUWAfzFzqZMre@jdf{`7u*FwCr-` z)w*fRia^_fWn11eflxA4h~OF`8lpPdp$o)RLdHDwGC8N>xB{(9`NiC8fv$Y>Nj8cY zIyH3Z=tf*1ahYk!aZA!&F^it#9x=D*O4E~h%a;C$z-;m=UaB5A*ScLt$oSXE)r&q2 zhK_y=2xxDPf>I(i>77H4`jG!dNEI{;3WQf(s}w~7p$H*Ibd2IUqh&_vOJ1F3HQb;N zt7cW^c1@QxNVgWn7;Y+0C+J9WYfbsqizyw`Nb+*I>9R7bIh~m4pc!>jyh&HbC+^r+TH()S*3X%Q>?FTwe(33txV)GP3 z#~A*~(-u7D8fPwGaP8+v575g5za&8S5s<|KcM5$XK;PqCrDE#8=p-83oH@n#F(w;K z1~GskW)G8Tggm2|WEG0d@DT$xV&f^Ekx$?`UIe`J%v4py&XC&d4t?hD6f<8K@hef) z1LK#}$1c=!paPTvZ!7gingZw2-!VLMg1dZ9^7){l*7s$Kny1l0kNY^Q4W-6~QUi-v LBDO%Tu4MTy7WeAE diff --git a/out/production/TicTacToe_MinMax/Render.class b/out/production/TicTacToe_MinMax/Render.class deleted file mode 100644 index 5d5fafdba9718ce8c9f967d7ae3bbd5b258e326d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 792 zcmZuvT~8B16g|^!yX~?RY(Xk2mZH*jf%^SmjV~o6kVOc^8sur(PIYj*+ia&Gzrf$) zOGza02l%6mcXpc)5_gliJLjHz&$%=E=kKrI0N&z_g#?l&3>zt=8RpOUIj?)%|588b zoQbYtNWYW5RPPy*m1^5Wh9R#>-|M3bNwmG4kPk!#78SQNQaa?)SEX$+2rQVeb>~@z z#fp2=yQM;6Hgvx^26O-Nko&^3ki#8K&oiVdr@Pg*Zm?iu5qBAiBcZlMpN~D&^n#H% z7>bZ98TbrFWy&quxQAu3%6mPA+EkKXsCqLP3Is!@%7+y=GK0~-(Z85l#}{icCO zHcD6}>!j=k-AL?6cofgYalo+j|NfEdH5-rdgu$ZPwj9ZhC$!JcdgOIF)Fa{dL`YCG z=uu|QmA?2e9&|)_%p-1ID|&4nO1+h~rZ_sBq6kLgqyA0W($1nR*cr<$A zlmOOeScs;*eOXjy4&o!HDtCJNgj%g&9CpQy)MjU5jV*m^SjAKNQS_4lT@KQ;R%lnJ z$S9_2S71M*bd^?}1`O0_wPOMtY|t)?P2>sD#Xpdw7udXpd6LgwVaB~i?u1&+?>p%U z3eLs^OP`zx?mKLP6~~yMd?QjuhKfyC6bsb2NM9?ML761iF-vl}$UrF;!4|m%an|q* T&&fgo%Xop8(L}E(lfdhL4fdg1