From 3ac717a452befd7b7ca09c76a68fb9bded47a230 Mon Sep 17 00:00:00 2001 From: bMorgan17 <27574085+bMorgan17@users.noreply.github.com> Date: Sat, 24 Aug 2019 11:19:11 -0600 Subject: [PATCH] revamped card system --- GridDialog.java | 3 +- Main.java | 32 ++++++++-- Memory.jar | Bin 0 -> 12917 bytes icons/dot.png => dot.png | Bin icons/desktop.ini | 52 ++++++++++++++++ icons/gameServer.java | 131 --------------------------------------- 6 files changed, 80 insertions(+), 138 deletions(-) create mode 100644 Memory.jar rename icons/dot.png => dot.png (100%) create mode 100644 icons/desktop.ini delete mode 100644 icons/gameServer.java diff --git a/GridDialog.java b/GridDialog.java index f9426c0..ad4a718 100644 --- a/GridDialog.java +++ b/GridDialog.java @@ -1,12 +1,13 @@ import java.awt.*; import java.awt.event.*; import javax.swing.*; +import java.io.File; public class GridDialog { private JDialog dialog = new JDialog(); private JTextField name1 = new JTextField("Player 1"), name2 = new JTextField("Player 2"); - private SpinnerModel cards = new SpinnerNumberModel(12, 6, 100, 2); + private SpinnerModel cards = new SpinnerNumberModel(12, 6, (new File("icons").list().length * 2) - 2, 2); private JSpinner numCards = new JSpinner(cards); public GridDialog(String str1, String str2, int cards) { diff --git a/Main.java b/Main.java index f84cb24..d9cd00d 100644 --- a/Main.java +++ b/Main.java @@ -7,6 +7,9 @@ import javax.swing.border.EtchedBorder; import java.util.Random; import java.io.IOException; import java.time.Duration; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; public class Main { int rows, cols; @@ -18,9 +21,7 @@ public class Main { Random rand = new Random(); - String labelNames[] = {"Car", "Elephant", "Phone", "Tree", "Person", "Computer", "Toy", "Paper", "Book", "Desk", "Bed", "Glasses", "Keyboard", "Ring", "Fan", "Sock", "Sign", "Eraser", - "Pencil", "Bow", "Cat", "Boat", "Fork", "Spoon", "Door", "Clock", "Bottle", "Purse", "Brush", "Camera", "Money", "Bread", "Screw", "Mirror", "Cork", "Sponge", - "Banana", "Bowl", "Tomato", "Key", "Nail", "Hammer", "Chain", "Table", "Towel", "Cord", "Thread", "Chalk", "Baby", "Candy"}; + String labelNames[] = new String[(new File("icons").list().length * 2) - 2]; JPanel panels[][]; JButton btns[][]; @@ -54,6 +55,24 @@ public class Main { ex.printStackTrace(); }*/ + File dir = new File("icons"); + File[] directoryListing = dir.listFiles(); + String fileName; + int extras = 0; + + List temp = Arrays.asList(directoryListing); + Collections.shuffle(temp); + directoryListing = (File[])temp.toArray(); + + for (int i = 0; i < directoryListing.length; i++) { + fileName = directoryListing[i].getName(); + if (fileName.endsWith(".png")) { + fileName = fileName.substring(0, fileName.length() - 4); + fileName = fileName.substring(0, 1).toUpperCase() + fileName.substring(1); + labelNames[i - extras] = fileName; + } else extras++; + } + rows = r; cols = c; @@ -75,7 +94,7 @@ public class Main { }); try { - player1Turn = new JLabel(new ImageIcon(ImageIO.read(new File("icons\\dot.png")).getScaledInstance(15, 15, java.awt.Image.SCALE_SMOOTH))); + player1Turn = new JLabel(new ImageIcon(ImageIO.read(new File("dot.png")).getScaledInstance(15, 15, java.awt.Image.SCALE_SMOOTH))); player2Turn = new JLabel(new ImageIcon()); } catch (IOException e) { e.printStackTrace(); @@ -100,6 +119,7 @@ public class Main { JLabel testFont = new JLabel(); for (int i = 0; i < (rows*cols)/2; i++) { + System.out.println(labelNames[i]); if (testFont.getFontMetrics(testFont.getFont()).stringWidth(labelNames[i]) > largestWord) largestWord = testFont.getFontMetrics(testFont.getFont()).stringWidth(labelNames[i]); } @@ -316,14 +336,14 @@ public class Main { if (turn == 1) { try { - player1Turn.setIcon(new ImageIcon(ImageIO.read(new File("icons\\dot.png")).getScaledInstance(15, 15, java.awt.Image.SCALE_SMOOTH))); + player1Turn.setIcon(new ImageIcon(ImageIO.read(new File("dot.png")).getScaledInstance(15, 15, java.awt.Image.SCALE_SMOOTH))); player2Turn.setIcon(new ImageIcon()); } catch (IOException e) { e.printStackTrace(); } } else { try { - player2Turn.setIcon(new ImageIcon(ImageIO.read(new File("icons\\dot.png")).getScaledInstance(15, 15, java.awt.Image.SCALE_SMOOTH))); + player2Turn.setIcon(new ImageIcon(ImageIO.read(new File("dot.png")).getScaledInstance(15, 15, java.awt.Image.SCALE_SMOOTH))); player1Turn.setIcon(new ImageIcon()); } catch (IOException e) { e.printStackTrace(); diff --git a/Memory.jar b/Memory.jar new file mode 100644 index 0000000000000000000000000000000000000000..9936b070bc07653343fc592b0a9b185cff0a59f9 GIT binary patch literal 12917 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 literal 0 HcmV?d00001 diff --git a/icons/dot.png b/dot.png similarity index 100% rename from icons/dot.png rename to dot.png diff --git a/icons/desktop.ini b/icons/desktop.ini new file mode 100644 index 0000000..ee8d434 --- /dev/null +++ b/icons/desktop.ini @@ -0,0 +1,52 @@ +[LocalizedFileNames] +car.png=@car.png,0 +dot.png=@dot.png,0 +candy.png=@candy.png,0 +baby.png=@baby.png,0 +chalk.png=@chalk.png,0 +thread.png=@thread.png,0 +cord.png=@cord.png,0 +towel.png=@towel.png,0 +table.png=@table.png,0 +chain.png=@chain.png,0 +hammer.png=@hammer.png,0 +nail.png=@nail.png,0 +key.png=@key.png,0 +tomato.png=@tomato.png,0 +bowl.png=@bowl.png,0 +banana.png=@banana.png,0 +sponge.png=@sponge.png,0 +cork.png=@cork.png,0 +mirror.png=@mirror.png,0 +screw.png=@screw.png,0 +bread.png=@bread.png,0 +money.png=@money.png,0 +camera.png=@camera.png,0 +brush.png=@brush.png,0 +purse.png=@purse.png,0 +bottle.png=@bottle.png,0 +clock.png=@clock.png,0 +door.png=@door.png,0 +spoon.png=@spoon.png,0 +fork.png=@fork.png,0 +boat.png=@boat.png,0 +cat.png=@cat.png,0 +sign.png=@sign.png,0 +eraser.png=@eraser.png,0 +fan.png=@fan.png,0 +sock.png=@sock.png,0 +ring.png=@ring.png,0 +keyboard.png=@keyboard.png,0 +bow.png=@bow.png,0 +pencil.png=@pencil.png,0 +glasses.png=@glasses.png,0 +bed.png=@bed.png,0 +desk.png=@desk.png,0 +book.png=@book.png,0 +paper.png=@paper.png,0 +toy.png=@toy.png,0 +computer.png=@computer.png,0 +person.png=@person.png,0 +tree.png=@tree.png,0 +phone.png=@phone.png,0 +elephant.png=@elephant.png,0 diff --git a/icons/gameServer.java b/icons/gameServer.java deleted file mode 100644 index a453c94..0000000 --- a/icons/gameServer.java +++ /dev/null @@ -1,131 +0,0 @@ -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.PrintWriter; -import java.net.ServerSocket; -import java.net.Socket; -public class gameServer { - - public static void main(String[] args) throws Exception { - ServerSocket listener = new ServerSocket(8901); - System.out.println("Game Server is Running"); - try { - while (true) { - Game game = new Game(); - Game.Player player1 = game.new Player(listener.accept()); - Game.Player player2 = game.new Player(listener.accept()); - player1.setOpponent(player2); - player2.setOpponent(player1); - game.currentPlayer = player1; - player1.start(); - player2.start(); - } - } finally { - listener.close(); - } - } -} - -class Game { - Player currentPlayer; - - // winner - public boolean hasWinner() { - return - (board[0] != null && board[0] == board[1] && board[0] == board[2]) - ||(board[3] != null && board[3] == board[4] && board[3] == board[5]) - ||(board[6] != null && board[6] == board[7] && board[6] == board[8]) - ||(board[0] != null && board[0] == board[3] && board[0] == board[6]) - ||(board[1] != null && board[1] == board[4] && board[1] == board[7]) - ||(board[2] != null && board[2] == board[5] && board[2] == board[8]) - ||(board[0] != null && board[0] == board[4] && board[0] == board[8]) - ||(board[2] != null && board[2] == board[4] && board[2] == board[6]); - } - - // no empty squares - public boolean boardFilledUp() { - for (int i = 0; i < board.length; i++) { - if (board[i] == null) { - return false; - } - } - return true; - } - // thread when player tries a move - public synchronized boolean legalMove(int location, Player player) { - if (player == currentPlayer && board[location] == null) { - board[location] = currentPlayer; - currentPlayer = currentPlayer.opponent; - currentPlayer.otherPlayerMoved(location); - return true; - } - return false; - } - class Player extends Thread { - char mark; - Player opponent; - Socket socket; - BufferedReader input; - PrintWriter output; - // thread handler to initialize stream fields - public Player(Socket socket) { - this.socket = socket; - this.mark = mark; - try { - input = new BufferedReader( - new InputStreamReader(socket.getInputStream())); - output = new PrintWriter(socket.getOutputStream(), true); - output.println("WELCOME " + mark); - output.println("MESSAGE Waiting for opponent to connect"); - } catch (IOException e) { - System.out.println("Player died: " + e); - } - } - //Accepts notification of who the opponent is. - public void setOpponent(Player opponent) { - this.opponent = opponent; - } - - - //Handles the otherPlayerMoved message. - public void otherPlayerMoved(int location) { - output.println("OPPONENT_MOVED " + location); - output.println( - hasWinner() ? "DEFEAT" : boardFilledUp() ? "TIE" : ""); - } - - public void run() { - try { - // The thread is only started after everyone connects. - output.println("MESSAGE All players connected"); - - // Tell the first player that it is his/her turn. - if (mark == 'X') { - output.println("MESSAGE Your move"); - } - - // Repeatedly get commands from the client and process them. - while (true) { - String command = input.readLine(); - if (command.startsWith("MOVE")) { - int location = Integer.parseInt(command.substring(5)); - if (legalMove(location, this)) { - output.println("VALID_MOVE"); - output.println(hasWinner() ? "VICTORY" - : boardFilledUp() ? "TIE" - : ""); - } else { - output.println("MESSAGE ?"); - } - } else if (command.startsWith("QUIT")) { - return; - } - } - } catch (IOException e) { - System.out.println("Player died: " + e); - } finally { - try {socket.close();} catch (IOException e) {} - } - } - } -}