From cebba3b97255fcdc06b918d42dd6b2c3ed435f32 Mon Sep 17 00:00:00 2001 From: lul11003 Date: Sat, 11 Apr 2015 14:25:23 -0400 Subject: [PATCH] 1 --- MerchantRPGCSE2102/src/controller/RPGame.java | 42 ++++++++++++++++++- .../src/sprites/PlayerSprite.java | 8 ++++ MerchantRPGCSE2102/src/view/MapUI.java | 10 +++-- 3 files changed, 56 insertions(+), 4 deletions(-) diff --git a/MerchantRPGCSE2102/src/controller/RPGame.java b/MerchantRPGCSE2102/src/controller/RPGame.java index 9711281..7894242 100644 --- a/MerchantRPGCSE2102/src/controller/RPGame.java +++ b/MerchantRPGCSE2102/src/controller/RPGame.java @@ -7,6 +7,7 @@ import javax.swing.JFrame; +import model.Map; import model.Merchant; import model.Player; import view.MapUI; @@ -140,6 +141,7 @@ public void createTransaction(Player player, Merchant targetMerchant) } } + /** * Will refresh number of transactions the Player has available * @@ -266,6 +268,44 @@ public static void main(String[] args) throws InterruptedException playerInventory.addAll(_rpg.getMerchantInventoryList(3)); _rpg.buildPlayer("test", 500, playerInventory); _rpg.getPlayer().getItem("armor").increaseQuantity(15); - _rpg.createTransaction(_rpg.getPlayer(), _rpg.getMerchant(1)); + // SETTING UP PLAYER AND MERCHANT + Player player = new Player("Player", 0, null); + Merchant merch1 = new Merchant("Bill", 0, null); + Merchant merch2 = new Merchant("Joe", 0, null); + Merchant merch3 = new Merchant("Sam", 0, null); + + // CREATING MAP AND INITIALIZE PLAYER AND MERCHANTS + Map map = new Map(30, 40); + map.initializePlayer(player, 15, 20); + map.initializeMerchant(merch1, 15, 0); + map.initializeMerchant(merch2, 29, 20); + map.initializeMerchant(merch3, 15, 39); + + // CREATING JFRAME WINDOW + JFrame frame = new JFrame("Merchant RPG"); + + // CREATING MAPUI AND SPRITES + MapUI mapui = new MapUI(map,_rpg); + mapui.createPlayerSprite(15, 20); + mapui.addMerchantSprite(15, 0); + mapui.addMerchantSprite(29, 20); + mapui.addMerchantSprite(15, 39); + + // ADDING MAPUI TO JFRAME + frame.add(mapui); + + // SETTING PROPERTIES OF JFRAME + frame.setSize(RPGame.WIDTH, RPGame.HEIGHT); + frame.setResizable(false); + frame.setVisible(true); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setLocationRelativeTo(null); + + // MAIN GAME LOOP + while (true) { + mapui.move(); + mapui.repaint(); + Thread.sleep(100/12); // Controls the speed of the game (currently 120 frames/second) + } } } diff --git a/MerchantRPGCSE2102/src/sprites/PlayerSprite.java b/MerchantRPGCSE2102/src/sprites/PlayerSprite.java index 134d742..ec33a2a 100644 --- a/MerchantRPGCSE2102/src/sprites/PlayerSprite.java +++ b/MerchantRPGCSE2102/src/sprites/PlayerSprite.java @@ -106,6 +106,14 @@ public void keyReleased(KeyEvent e) { if (upBeingPressed == false) // Sprite will stop only when the UP key is not being pressed dy = 0; } + if (e.getKeyCode() == KeyEvent.VK_F){ + if(collision()){ + mapui.game.createTransaction(null, null);//RPGame initialize Trade + } + else{ + return; + } + } // This fixes some bugs with holding three keys down at once and letting go of two (Basically ensures that dx and dy match which keys are currently being held) if(leftBeingPressed) diff --git a/MerchantRPGCSE2102/src/view/MapUI.java b/MerchantRPGCSE2102/src/view/MapUI.java index 044fec6..bb04f55 100644 --- a/MerchantRPGCSE2102/src/view/MapUI.java +++ b/MerchantRPGCSE2102/src/view/MapUI.java @@ -11,6 +11,8 @@ import javax.swing.JPanel; +import controller.RPGame; + import model.Map; import sprites.MerchantSprite; import sprites.PlayerSprite; @@ -19,12 +21,14 @@ public class MapUI extends JPanel { private Map map; + public RPGame game; private PlayerSprite player; private ArrayList merchants = new ArrayList(); - public MapUI(Map map) { + public MapUI(Map map,RPGame Game) { this.map = map; + this.game= Game; addKeyListener(new KeyListener() { @Override @@ -70,7 +74,7 @@ public void paint(Graphics g) { for (MerchantSprite merchant : merchants) merchant.paint(g2d); - // For testing purposes. Showes the Player's current x and y position as well as the current Vertex + // For testing purposes. Shows the Player's current x and y position as well as the current Vertex g2d.setColor(Color.GRAY); g2d.setFont(new Font("Verdana", Font.BOLD, 20)); g2d.drawString("x: " + player.getX() + " y : " + player.getY(), 10, 20); @@ -87,7 +91,7 @@ public void addMerchantSprite(int row, int col) { MerchantSprite merchant = new MerchantSprite(row, col); merchants.add(merchant); } - + /** * Creates a player sprite to be painted on the canvas * @param row The row of the player