public void DropItem(Character player, bool isWeapon, int inventoryIndex, int[] square) { int currentlyAllowedSquares = player.SquaresToMove; Items item; if (currentlyAllowedSquares >= dropItem) { currentlyAllowedSquares -= dropItem; if (isWeapon) { item = player.weapons[inventoryIndex]; player.weapons[inventoryIndex] = null; grid[square[0], square[1]].itemList.Add(item); } else { item = player.inventory.ElementAt(inventoryIndex); player.inventory.RemoveAt(inventoryIndex); grid[square[0], square[1]].itemList.Add(item); } } else { Console.WriteLine("Player Does not currently have enough squares to Drop Item at Index " + inventoryIndex); } }
public void MoveCharacter(Character player, int[] currentLocation, int[] moveTo) { //moveTo = new int[2]; //moveTo[0] = 7; //moveTo[1] = 9; int selectedX = moveTo[0]; int selectedY = moveTo[1]; if (grid[selectedX, selectedY].c != null) { Console.WriteLine("Square Occupied"); return; } int currentX = currentLocation[0]; int currentY = currentLocation[1]; int xSquaresToMove = moveTo[0] - currentLocation[0]; int ySquaresToMove = moveTo[1] - currentLocation[1]; int xSquaresBeforeDiagonal = xSquaresToMove; int ySquaresBeforeDiagonal = ySquaresToMove; int diagonalSquaresThisTurn = 0; int squaresPerTurn = player.SquaresToMove; int currentlyAllowedSquares = squaresPerTurn; int attemptedSquaresToMove = 0; for (int i = 0; i < xSquaresBeforeDiagonal; i++) { if (ySquaresToMove > 0) { --xSquaresToMove; --ySquaresToMove; ++diagonalSquaresThisTurn; } } for (int i = 1; i < diagonalSquaresThisTurn; i++) { if (i % 2 == 0) { if ((attemptedSquaresToMove + 2) <= squaresPerTurn) { attemptedSquaresToMove += 2; currentlyAllowedSquares -= 2; } else { int k = (diagonalSquaresThisTurn - i); i = diagonalSquaresThisTurn; xSquaresToMove += k; ySquaresToMove += k; } } else { if ((attemptedSquaresToMove + 1) <= squaresPerTurn) { ++attemptedSquaresToMove; currentlyAllowedSquares -= 1; } else { int k = (diagonalSquaresThisTurn - i); i = diagonalSquaresThisTurn; xSquaresToMove += k; ySquaresToMove += k; } } } if (currentlyAllowedSquares != 0 && xSquaresToMove > 0) { for (int i = xSquaresToMove; i > 0; i--) { if (currentlyAllowedSquares > 0) { --xSquaresToMove; --currentlyAllowedSquares; } else { i = 0; } } } if (currentlyAllowedSquares != 0 && ySquaresToMove > 0) { for (int i = ySquaresToMove; i > 0; i--) { if (currentlyAllowedSquares > 0) { --ySquaresToMove; --currentlyAllowedSquares; } else { i = 0; } } } if (xSquaresToMove == 0 && ySquaresToMove == 0) { grid[selectedX, selectedY].c = player; grid[currentX, currentY].c = null; Console.WriteLine("Move Successful"); } else { Console.WriteLine("Impossible of movement"); } }
public void StartTurn(Character player) { int squares = player.SquaresToMove; }
public void genChar(int i) { c = new Character(); c.Inititative = i; }
public void PickUpItem(Character player, Items item, bool isWeapon, int[] square) { int currentlyAllowedSquares = player.SquaresToMove; if (currentlyAllowedSquares >= pickUpItem) { currentlyAllowedSquares -= pickUpItem; if (isWeapon) { for (int i = 5; i > 0; i--) { if (i == 5 && player.weapons[4] != null) { return; } else if (i == 1) { player.weapons[0] = item; grid[square[0], square[1]].itemList.Remove(item); return; } else if (player.weapons[i - 1] == null) { } else if (player.weapons[i - 1] != null) { player.weapons[i] = item; grid[square[0], square[1]].itemList.Remove(item); return; } } } else { player.inventory.Add(item); grid[square[0], square[1]].itemList.Remove(item); } } }
public void MoveCharacter(Character player, int[] currentLocation, int[] moveTo) { int selectedX = moveTo[0]; int selectedY = moveTo[1]; if (grid[selectedX, selectedY].c != null) { Console.WriteLine("Character at [" + currentLocation[0] + ", " + currentLocation[1] + "] Requested to \nmove to [" + moveTo[0] + ", " + moveTo[1] + "] which was an occupied square \n\n"); return; } int currentX = currentLocation[0]; int currentY = currentLocation[1]; int xSquaresToMove = moveTo[0] - currentLocation[0]; int ySquaresToMove = moveTo[1] - currentLocation[1]; int xSquaresBeforeDiagonal = xSquaresToMove; int ySquaresBeforeDiagonal = ySquaresToMove; int diagonalSquaresThisTurn = 0; int squaresPerTurn = player.SquaresToMove; int currentlyAllowedSquares = squaresPerTurn; int attemptedSquaresToMove = 0; for (int i = 0; i < xSquaresBeforeDiagonal; i++) { if (ySquaresToMove > 0) { --xSquaresToMove; --ySquaresToMove; ++diagonalSquaresThisTurn; } } for (int i = 1; i < diagonalSquaresThisTurn; i++) { if (i % 2 == 0) { if ((attemptedSquaresToMove + 2) <= squaresPerTurn) { attemptedSquaresToMove += 2; currentlyAllowedSquares -= 2; } else { int k = (diagonalSquaresThisTurn - i); i = diagonalSquaresThisTurn; xSquaresToMove += k; ySquaresToMove += k; } } else { if ((attemptedSquaresToMove + 1) <= squaresPerTurn) { ++attemptedSquaresToMove; currentlyAllowedSquares -= 1; } else { int k = (diagonalSquaresThisTurn - i); i = diagonalSquaresThisTurn; xSquaresToMove += k; ySquaresToMove += k; } } } if (currentlyAllowedSquares != 0 && xSquaresToMove > 0) { for (int i = xSquaresToMove; i > 0; i--) { if (currentlyAllowedSquares > 0) { --xSquaresToMove; --currentlyAllowedSquares; } else { i = 0; } } } if (currentlyAllowedSquares != 0 && ySquaresToMove > 0) { for (int i = ySquaresToMove; i > 0; i--) { if (currentlyAllowedSquares > 0) { --ySquaresToMove; --currentlyAllowedSquares; } else { i = 0; } } } if (xSquaresToMove == 0 && ySquaresToMove == 0) { grid[selectedX, selectedY].c = player; grid[currentX, currentY].c = null; Console.WriteLine("Character at [" + currentLocation[0] + ", " + currentLocation[1] + "] Requested to\n move to [" + moveTo[0] + ", " + moveTo[1] + "] and was granted the movement \n\n"); } else { Console.WriteLine("Character at [" + currentLocation[0] + ", " + currentLocation[1] + "] Requested to\n move to [" + moveTo[0] + ", " + moveTo[1] + "] and was denied due to lack of squares possible per turn"); Console.WriteLine("Squares per turn:" + player.SquaresToMove.ToString()); Console.WriteLine("\n\n"); } }
public void MakeUnAimedRangeAttack(Character player) { int totalSquares = player.SquaresToMove; int currentlyAvailableSquares = player.SquaresToMove; if ((totalSquares / 2) > currentlyAvailableSquares) { Console.WriteLine("Player does not have enough squares to perform this action"); } else { currentlyAvailableSquares -= (totalSquares / 2); /* * Kind of need david's logic in order to do this. * */ } }
public void GiveItem(Character giver, Character givee, int inventoryIndex, bool isWeapon) { Items item; int currentlyAllowedSquares = giver.SquaresToMove; if (currentlyAllowedSquares >= giveItem) { currentlyAllowedSquares -= giveItem; if (isWeapon) { item = giver.weapons[inventoryIndex]; for (int i = 5; i > 0; i--) { if (i == 5 && givee.weapons[4] != null) { return; } else if (i == 1) { givee.weapons[0] = item; giver.weapons[inventoryIndex] = null; return; } else if (givee.weapons[i - 1] == null) { } else if (givee.weapons[i - 1] != null) { givee.weapons[i] = item; giver.weapons[inventoryIndex] = null; return; } } } else { item = giver.inventory.ElementAt(inventoryIndex); givee.inventory.Add(item); giver.inventory.RemoveAt(inventoryIndex); } } else { Console.WriteLine("The Giver does not have enought available squares to perform said action"); } }
public void genChar() { c = new Character(); c.Inititative = UnitMovement.Program.setCharacterInitiative(); }