From 466d78ecf16655868855b45fc8a727143c0b19d4 Mon Sep 17 00:00:00 2001 From: John W Bojorquez Date: Sat, 28 Feb 2015 12:54:13 -0500 Subject: [PATCH] Added conditional for null inventory --- MerchantRPGCSE2102/src/model/Map.java | 24 +++++++++-------- MerchantRPGCSE2102/src/model/Player.java | 3 ++- MerchantRPGCSE2102/src/tests/TestMap.java | 32 +++++++++++------------ 3 files changed, 31 insertions(+), 28 deletions(-) diff --git a/MerchantRPGCSE2102/src/model/Map.java b/MerchantRPGCSE2102/src/model/Map.java index 7c61a0b..8d56f36 100644 --- a/MerchantRPGCSE2102/src/model/Map.java +++ b/MerchantRPGCSE2102/src/model/Map.java @@ -6,6 +6,7 @@ public class Map { private Graph _mapGraph; // Graph representation of the map private int _mapSize; // The n*n dimension of the map + private Player _player; public Map(int size) { _mapSize = size; @@ -20,6 +21,7 @@ public Map(int size) { * @param y The y coordinate of the player's location */ public void initializePlayer(Player player, int x, int y) { + _player = player; int vertexNum = y*_mapSize + x; player.setX(x); player.setY(y); @@ -44,16 +46,16 @@ public void initializeMerchant(Merchant merchant, int x, int y) { * @param player The player to be moved * @param String The direction to be moved (north, west, east, or south) */ - public void movePlayer(Player player, String direction) { - int currentX = player.getX(); - int currentY = player.getY(); + public void movePlayer(String direction) { + int currentX = _player.getX(); + int currentY = _player.getY(); if (direction.equals("north")) { if (currentY != 0) { if (!isOccupied(currentX, currentY - 1)) { _mapGraph.getVertex(currentY*_mapSize + currentX).setOccupant(null); - _mapGraph.getVertex((currentY - 1)*_mapSize + currentX).setOccupant(player); - player.setY(currentY - 1); + _mapGraph.getVertex((currentY - 1)*_mapSize + currentX).setOccupant(_player); + _player.setY(currentY - 1); } } } @@ -62,8 +64,8 @@ public void movePlayer(Player player, String direction) { if (currentX != _mapSize - 1) { if (!isOccupied(currentX + 1, currentY)) { _mapGraph.getVertex(currentY*_mapSize + currentX).setOccupant(null); - _mapGraph.getVertex(currentY*_mapSize + (currentX + 1)).setOccupant(player); - player.setX(currentX + 1); + _mapGraph.getVertex(currentY*_mapSize + (currentX + 1)).setOccupant(_player); + _player.setX(currentX + 1); } } } @@ -72,8 +74,8 @@ public void movePlayer(Player player, String direction) { if (currentY != _mapSize - 1) { if (!isOccupied(currentX, currentY + 1)) { _mapGraph.getVertex(currentY*_mapSize + currentX).setOccupant(null); - _mapGraph.getVertex((currentY + 1)*_mapSize + currentX).setOccupant(player); - player.setY(currentY + 1); + _mapGraph.getVertex((currentY + 1)*_mapSize + currentX).setOccupant(_player); + _player.setY(currentY + 1); } } } @@ -82,8 +84,8 @@ public void movePlayer(Player player, String direction) { if (currentX != 0) { if (!isOccupied(currentX - 1, currentY)) { _mapGraph.getVertex(currentY*_mapSize + currentX).setOccupant(null); - _mapGraph.getVertex(currentY*_mapSize + (currentX - 1)).setOccupant(player); - player.setX(currentX - 1); + _mapGraph.getVertex(currentY*_mapSize + (currentX - 1)).setOccupant(_player); + _player.setX(currentX - 1); } } } diff --git a/MerchantRPGCSE2102/src/model/Player.java b/MerchantRPGCSE2102/src/model/Player.java index 7856a9f..f9779e6 100644 --- a/MerchantRPGCSE2102/src/model/Player.java +++ b/MerchantRPGCSE2102/src/model/Player.java @@ -13,7 +13,8 @@ public Player(String playerName, int startingCash, ArrayList startingInv { _name = playerName; _playerCash = startingCash; - generatePlayerInventory(startingInventory); + if (startingInventory != null) + generatePlayerInventory(startingInventory); } /** diff --git a/MerchantRPGCSE2102/src/tests/TestMap.java b/MerchantRPGCSE2102/src/tests/TestMap.java index 4560aa1..0c99c18 100644 --- a/MerchantRPGCSE2102/src/tests/TestMap.java +++ b/MerchantRPGCSE2102/src/tests/TestMap.java @@ -47,22 +47,22 @@ public void testMovePlayer() { Merchant merchant = new Merchant("TestMerchant", 0, null); map.initializePlayer(player, 3, 3); map.initializeMerchant(merchant, 0, 2); - map.movePlayer(player, "west"); - map.movePlayer(player, "south"); - map.movePlayer(player, "north"); - map.movePlayer(player, "east"); - map.movePlayer(player, "east"); - map.movePlayer(player, "north"); - map.movePlayer(player, "north"); - map.movePlayer(player, "north"); - map.movePlayer(player, "west"); - map.movePlayer(player, "west"); - map.movePlayer(player, "west"); - map.movePlayer(player, "west"); - map.movePlayer(player, "south"); - map.movePlayer(player, "south"); - map.movePlayer(player, "south"); - map.movePlayer(player, "south"); + map.movePlayer("west"); + map.movePlayer("south"); + map.movePlayer("north"); + map.movePlayer("east"); + map.movePlayer("east"); + map.movePlayer("north"); + map.movePlayer("north"); + map.movePlayer("north"); + map.movePlayer("west"); + map.movePlayer("west"); + map.movePlayer("west"); + map.movePlayer("west"); + map.movePlayer("south"); + map.movePlayer("south"); + map.movePlayer("south"); + map.movePlayer("south"); assertEquals(player.getX(), 0); assertEquals(player.getY(), 1); assertEquals(map.isOccupied(player.getX(), player.getY()), true);