Yahoo Interview Question
Software Engineer / DevelopersOne int variable storing current position of user. Hash Table for snake such that key = Snake'Mouth and Value = Snake Tail. So if user_position == x and if (SnakeHT.get(x) != null) then user_position = SnakeHT.get(x). Similarly another hash table for Ladder. User everytime dices, a random Number [1 6] gets generated and x = x + Random_Number and the snake and ladder position is checked as descibed above
Lets create simple structure and create the array of structure.
#define FinishNum 100;
int startNum = 1;
struct cell {
int snake = NULL;
int ladder = NULL;
};
int create_snake_ladder_game_board() {
static struct cell cells[FinishNum];
create_snakes(); //Create snakes in any random places and also create the num below the current num.
create_ladders(); // Create ladder in any random places and also create the num to get the push in the game.
}
int throw_dice() {
return (rand()%6)+1;
}
//Based on current position and the move, identify the position, u never know this may be snake bite or ladder up!
int make_a_move(int player1_curr_pos, int move){
}
int main() {
int player1;
int player1_curr_pos = 0;
create_snake_ladder_game_board();
while(1) {
int move = throw_dice();
player1_curr_pos = make_a_move(player1_curr_pos, move);
if(player1_curr_pos >= FinishNum) {
printf("Win ... Game Over!!!");
}
sleep(1);
}
}
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.Scanner;
public class GameBoard {
private static Scanner scanner = new Scanner(System.in);
private static Random random = new Random();
private static int noOfPlayers;
private static Map<Integer, Integer> ladderPositionMap = new HashMap<>();
private static Map<Integer, Integer> snakePositionMap = new HashMap<>();
private static Map<Integer, Player> playerMap = new HashMap<>();
public static void main(String[] args) {
constructSnakePostion();
constructLadderPostion();
noOfPlayers = setUpNoOfPlayers();
playGame();
}
private static void constructLadderPostion() {
ladderPositionMap.put(3, 16);
ladderPositionMap.put(5, 7);
ladderPositionMap.put(15, 25);
ladderPositionMap.put(18, 20);
ladderPositionMap.put(21, 32);
}
private static void constructSnakePostion() {
snakePositionMap.put(12, 2);
snakePositionMap.put(14, 11);
snakePositionMap.put(17, 4);
snakePositionMap.put(31, 19);
snakePositionMap.put(35, 22);
}
private static int setUpNoOfPlayers() {
System.out.println("Input the no of player...");
int noOfUsers = 0;
try {
noOfUsers = scanner.nextInt();
for (int i = 1; i <= noOfUsers; i++) {
Player player = new Player();
player.playerName = "Player: " + i;
playerMap.put(i, player);
}
} catch (Exception e) {
e.printStackTrace();
}
return noOfUsers;
}
private static void playGame() {
int currentPlayer = 1;
for (;;) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
scanner.nextLine();
System.out.println("Its Player: " + currentPlayer
+ " chance to play, Role the dice by pressing enter...");
Player player = playerMap.get(currentPlayer);
player.oldPosition = player.currentPosition;
scanner.nextLine();
int currentPosition = random.nextInt(6) + 1;
System.out.println(player.playerName + " has rolled no "
+ currentPosition + " in the dice");
player.currentPosition = player.oldPosition + currentPosition;
Integer newLadderPosition = checkIfLadderExists(player,
player.currentPosition);
Integer newSnakePosition = checkIfSnakeExists(player,
player.currentPosition);
if (newLadderPosition == null && newSnakePosition == null) {
System.out.println(player.playerName
+ " has moved from the position: " + player.oldPosition
+ " to position: " + player.currentPosition);
}
if (player.currentPosition >= 36) {
System.out.println(player.playerName
+ " has finished the game...");
break;
}
if (noOfPlayers == currentPlayer) {
currentPlayer = 1;
continue;
}
currentPlayer++;
}
}
private static Integer checkIfLadderExists(Player player,
int currentPosition) {
Integer newLadderPosition = ladderPositionMap.get(currentPosition);
if (newLadderPosition != null) {
player.currentPosition = newLadderPosition;
System.out.println(player.playerName + " has found a ladder: "
+ "at position: " + currentPosition
+ " hence moving up to a new position: "
+ player.currentPosition + " from position: "
+ currentPosition);
}
return newLadderPosition;
}
private static Integer checkIfSnakeExists(Player player, int currentPosition) {
Integer newSnakePosition = snakePositionMap.get(currentPosition);
if (newSnakePosition != null) {
player.currentPosition = newSnakePosition;
System.out.println(player.playerName + " has found a snake: "
+ "at position: " + currentPosition
+ " hence moving down to a new position: "
+ newSnakePosition + " from position: " + currentPosition);
}
return newSnakePosition;
}
}
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.Scanner;
public class GameBoard {
private static Scanner scanner = new Scanner(System.in);
private static Random random = new Random();
private static int noOfPlayers;
private static Map<Integer, Integer> ladderPositionMap = new HashMap<>();
private static Map<Integer, Integer> snakePositionMap = new HashMap<>();
private static Map<Integer, Player> playerMap = new HashMap<>();
public static void main(String[] args) {
constructSnakePostion();
constructLadderPostion();
noOfPlayers = setUpNoOfPlayers();
playGame();
}
private static void constructLadderPostion() {
ladderPositionMap.put(3, 16);
ladderPositionMap.put(5, 7);
ladderPositionMap.put(15, 25);
ladderPositionMap.put(18, 20);
ladderPositionMap.put(21, 32);
}
private static void constructSnakePostion() {
snakePositionMap.put(12, 2);
snakePositionMap.put(14, 11);
snakePositionMap.put(17, 4);
snakePositionMap.put(31, 19);
snakePositionMap.put(35, 22);
}
private static int setUpNoOfPlayers() {
System.out.println("Input the no of player...");
int noOfUsers = 0;
try {
noOfUsers = scanner.nextInt();
for (int i = 1; i <= noOfUsers; i++) {
Player player = new Player();
player.playerName = "Player: " + i;
playerMap.put(i, player);
}
} catch (Exception e) {
e.printStackTrace();
}
return noOfUsers;
}
private static void playGame() {
int currentPlayer = 1;
for (;;) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
scanner.nextLine();
System.out.println("Its Player: " + currentPlayer
+ " chance to play, Role the dice by pressing enter...");
Player player = playerMap.get(currentPlayer);
player.oldPosition = player.currentPosition;
scanner.nextLine();
int currentPosition = random.nextInt(6) + 1;
System.out.println(player.playerName + " has rolled no "
+ currentPosition + " in the dice");
player.currentPosition = player.oldPosition + currentPosition;
Integer newLadderPosition = checkIfLadderExists(player,
player.currentPosition);
Integer newSnakePosition = checkIfSnakeExists(player,
player.currentPosition);
if (newLadderPosition == null && newSnakePosition == null) {
System.out.println(player.playerName
+ " has moved from the position: " + player.oldPosition
+ " to position: " + player.currentPosition);
}
if (player.currentPosition >= 36) {
System.out.println(player.playerName
+ " has finished the game...");
break;
}
if (noOfPlayers == currentPlayer) {
currentPlayer = 1;
continue;
}
currentPlayer++;
}
}
private static Integer checkIfLadderExists(Player player,
int currentPosition) {
Integer newLadderPosition = ladderPositionMap.get(currentPosition);
if (newLadderPosition != null) {
player.currentPosition = newLadderPosition;
System.out.println(player.playerName + " has found a ladder: "
+ "at position: " + currentPosition
+ " hence moving up to a new position: "
+ player.currentPosition + " from position: "
+ currentPosition);
}
return newLadderPosition;
}
private static Integer checkIfSnakeExists(Player player, int currentPosition) {
Integer newSnakePosition = snakePositionMap.get(currentPosition);
if (newSnakePosition != null) {
player.currentPosition = newSnakePosition;
System.out.println(player.playerName + " has found a snake: "
+ "at position: " + currentPosition
+ " hence moving down to a new position: "
+ newSnakePosition + " from position: " + currentPosition);
}
return newSnakePosition;
}
}
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.Scanner;
public class GameBoard {
private static Scanner scanner = new Scanner(System.in);
private static Random random = new Random();
private static int noOfPlayers;
private static Map<Integer, Integer> ladderPositionMap = new HashMap<>();
private static Map<Integer, Integer> snakePositionMap = new HashMap<>();
private static Map<Integer, Player> playerMap = new HashMap<>();
public static void main(String[] args) {
constructSnakePostion();
constructLadderPostion();
noOfPlayers = setUpNoOfPlayers();
playGame();
}
private static void constructLadderPostion() {
ladderPositionMap.put(3, 16);
ladderPositionMap.put(5, 7);
ladderPositionMap.put(15, 25);
ladderPositionMap.put(18, 20);
ladderPositionMap.put(21, 32);
}
private static void constructSnakePostion() {
snakePositionMap.put(12, 2);
snakePositionMap.put(14, 11);
snakePositionMap.put(17, 4);
snakePositionMap.put(31, 19);
snakePositionMap.put(35, 22);
}
private static int setUpNoOfPlayers() {
System.out.println("Input the no of player...");
int noOfUsers = 0;
try {
noOfUsers = scanner.nextInt();
for (int i = 1; i <= noOfUsers; i++) {
Player player = new Player();
player.playerName = "Player: " + i;
playerMap.put(i, player);
}
} catch (Exception e) {
e.printStackTrace();
}
return noOfUsers;
}
private static void playGame() {
int currentPlayer = 1;
for (;;) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
scanner.nextLine();
System.out.println("Its Player: " + currentPlayer
+ " chance to play, Role the dice by pressing enter...");
Player player = playerMap.get(currentPlayer);
player.oldPosition = player.currentPosition;
scanner.nextLine();
int currentPosition = random.nextInt(6) + 1;
System.out.println(player.playerName + " has rolled no "
+ currentPosition + " in the dice");
player.currentPosition = player.oldPosition + currentPosition;
Integer newLadderPosition = checkIfLadderExists(player,
player.currentPosition);
Integer newSnakePosition = checkIfSnakeExists(player,
player.currentPosition);
if (newLadderPosition == null && newSnakePosition == null) {
System.out.println(player.playerName
+ " has moved from the position: " + player.oldPosition
+ " to position: " + player.currentPosition);
}
if (player.currentPosition >= 36) {
System.out.println(player.playerName
+ " has finished the game...");
break;
}
if (noOfPlayers == currentPlayer) {
currentPlayer = 1;
continue;
}
currentPlayer++;
}
}
private static Integer checkIfLadderExists(Player player,
int currentPosition) {
Integer newLadderPosition = ladderPositionMap.get(currentPosition);
if (newLadderPosition != null) {
player.currentPosition = newLadderPosition;
System.out.println(player.playerName + " has found a ladder: "
+ "at position: " + currentPosition
+ " hence moving up to a new position: "
+ player.currentPosition + " from position: "
+ currentPosition);
}
return newLadderPosition;
}
private static Integer checkIfSnakeExists(Player player, int currentPosition) {
Integer newSnakePosition = snakePositionMap.get(currentPosition);
if (newSnakePosition != null) {
player.currentPosition = newSnakePosition;
System.out.println(player.playerName + " has found a snake: "
+ "at position: " + currentPosition
+ " hence moving down to a new position: "
+ newSnakePosition + " from position: " + currentPosition);
}
return newSnakePosition;
}
}
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.Scanner;
public class GameBoard {
private static Scanner scanner = new Scanner(System.in);
private static Random random = new Random();
private static int noOfPlayers;
private static Map<Integer, Integer> ladderPositionMap = new HashMap<>();
private static Map<Integer, Integer> snakePositionMap = new HashMap<>();
private static Map<Integer, Player> playerMap = new HashMap<>();
public static void main(String[] args) {
constructSnakePostion();
constructLadderPostion();
noOfPlayers = setUpNoOfPlayers();
playGame();
}
private static void constructLadderPostion() {
ladderPositionMap.put(3, 16);
ladderPositionMap.put(5, 7);
ladderPositionMap.put(15, 25);
ladderPositionMap.put(18, 20);
ladderPositionMap.put(21, 32);
}
private static void constructSnakePostion() {
snakePositionMap.put(12, 2);
snakePositionMap.put(14, 11);
snakePositionMap.put(17, 4);
snakePositionMap.put(31, 19);
snakePositionMap.put(35, 22);
}
private static int setUpNoOfPlayers() {
System.out.println("Input the no of player...");
int noOfUsers = 0;
try {
noOfUsers = scanner.nextInt();
for (int i = 1; i <= noOfUsers; i++) {
Player player = new Player();
player.playerName = "Player: " + i;
playerMap.put(i, player);
}
} catch (Exception e) {
e.printStackTrace();
}
return noOfUsers;
}
private static void playGame() {
int currentPlayer = 1;
for (;;) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
scanner.nextLine();
System.out.println("Its Player: " + currentPlayer
+ " chance to play, Role the dice by pressing enter...");
Player player = playerMap.get(currentPlayer);
player.oldPosition = player.currentPosition;
scanner.nextLine();
int currentPosition = random.nextInt(6) + 1;
System.out.println(player.playerName + " has rolled no "
+ currentPosition + " in the dice");
player.currentPosition = player.oldPosition + currentPosition;
Integer newLadderPosition = checkIfLadderExists(player,
player.currentPosition);
Integer newSnakePosition = checkIfSnakeExists(player,
player.currentPosition);
if (newLadderPosition == null && newSnakePosition == null) {
System.out.println(player.playerName
+ " has moved from the position: " + player.oldPosition
+ " to position: " + player.currentPosition);
}
if (player.currentPosition >= 36) {
System.out.println(player.playerName
+ " has finished the game...");
break;
}
if (noOfPlayers == currentPlayer) {
currentPlayer = 1;
continue;
}
currentPlayer++;
}
}
private static Integer checkIfLadderExists(Player player,
int currentPosition) {
Integer newLadderPosition = ladderPositionMap.get(currentPosition);
if (newLadderPosition != null) {
player.currentPosition = newLadderPosition;
System.out.println(player.playerName + " has found a ladder: "
+ "at position: " + currentPosition
+ " hence moving up to a new position: "
+ player.currentPosition + " from position: "
+ currentPosition);
}
return newLadderPosition;
}
private static Integer checkIfSnakeExists(Player player, int currentPosition) {
Integer newSnakePosition = snakePositionMap.get(currentPosition);
if (newSnakePosition != null) {
player.currentPosition = newSnakePosition;
System.out.println(player.playerName + " has found a snake: "
+ "at position: " + currentPosition
+ " hence moving down to a new position: "
+ newSnakePosition + " from position: " + currentPosition);
}
return newSnakePosition;
}
}
Implement the Snakes and Ladder game
Base Assumptions
- Input can be read in from the terminal (UI not a must)
- Each player can play on the same terminal taking turns (NO network/multi-machine based logic required)
Required:
- Configurable board size
- Configurable number of players
- Configurable snake and ladder locations
Here's python solution using linear array for board
{{
class Player:
def __init__(self, name):
self._name = name
self._position = 1
@property
def name(self):
return self._name
@property
def position(self):
return self._position
@position.setter
def position(self, position):
self._position = position
class Game:
BOARD_SIZE = 101
def __init__(self, players):
self.players = players
self.turn = 0
self.board = [0]*Game.BOARD_SIZE
self.winner = None
@property
def player_count(self):
return len(self.players)
def add_ladder(self, on, to):
if to < 0:
raise TypeError('to must be greater than 0')
self.board[on] = to
def add_snake(self, on, to):
if to > 0:
raise TypeError('to must be less than 0')
self.board[on] = to
def roll_dice(self, player=None):
if self.winner:
print 'game finished player %s won' % player.name
return
from random import randint
dice = randint(1, 6)
print 'dice rolled', dice
player = player or self.get_player_turn()
player.position += dice
if player.position >= Game.BOARD_SIZE:
self.winner = player
print(player.name, ' wins')
return
player.position += self.board[player.position]
if dice == 6:
print(player.name, 'turn again')
self.roll_dice(player)
self.print_positions_of_players()
def print_positions_of_players(self):
for player in self.players:
print '%s position: %s' % (player.name, player.position)
def get_player_turn(self):
player = self.players[self.turn]
self.turn += 1
if self.turn >= self.player_count:
self.turn = 0
return player
p1 = Player('ekluv')
p2 = Player('singh')
game = Game([p1, p2])
game.roll_dice()
game.roll_dice()
game.roll_dice()
game.roll_dice()
}}
Here's python solution using linear array as board
{{class Player:
def __init__(self, name):
self._name = name
self._position = 1
@property
def name(self):
return self._name
@property
def position(self):
return self._position
@position.setter
def position(self, position):
self._position = position
class Game:
BOARD_SIZE = 101
def __init__(self, players):
self.players = players
self.turn = 0
self.board = [0]*Game.BOARD_SIZE
self.winner = None
@property
def player_count(self):
return len(self.players)
def add_ladder(self, on, to):
if to < 0:
raise TypeError('to must be greater than 0')
self.board[on] = to
def add_snake(self, on, to):
if to > 0:
raise TypeError('to must be less than 0')
self.board[on] = to
def roll_dice(self, player=None):
if self.winner:
print 'game finished player %s won' % player.name
return
from random import randint
dice = randint(1, 6)
print 'dice rolled', dice
player = player or self.get_player_turn()
player.position += dice
if player.position >= Game.BOARD_SIZE:
self.winner = player
print(player.name, ' wins')
return
player.position += self.board[player.position]
if dice == 6:
print(player.name, 'turn again')
self.roll_dice(player)
self.print_positions_of_players()
def print_positions_of_players(self):
for player in self.players:
print '%s position: %s' % (player.name, player.position)
def get_player_turn(self):
player = self.players[self.turn]
self.turn += 1
if self.turn >= self.player_count:
self.turn = 0
return player
p1 = Player('ekluv')
p2 = Player('singh')
game = Game([p1, p2])
game.roll_dice()
game.roll_dice()
game.roll_dice()
game.roll_dice()}}
Here's python solution using linear array for board
class Player:
def __init__(self, name):
self._name = name
self._position = 1
@property
def name(self):
return self._name
@property
def position(self):
return self._position
@position.setter
def position(self, position):
self._position = position
class Game:
BOARD_SIZE = 101
def __init__(self, players):
self.players = players
self.turn = 0
self.board = [0]*Game.BOARD_SIZE
self.winner = None
@property
def player_count(self):
return len(self.players)
def add_ladder(self, on, to):
if to < 0:
raise TypeError('to must be greater than 0')
self.board[on] = to
def add_snake(self, on, to):
if to > 0:
raise TypeError('to must be less than 0')
self.board[on] = to
def roll_dice(self, player=None):
if self.winner:
print 'game finished player %s won' % player.name
return
from random import randint
dice = randint(1, 6)
print 'dice rolled', dice
player = player or self.get_player_turn()
player.position += dice
if player.position >= Game.BOARD_SIZE:
self.winner = player
print(player.name, ' wins')
return
player.position += self.board[player.position]
if dice == 6:
print(player.name, 'turn again')
self.roll_dice(player)
self.print_positions_of_players()
def print_positions_of_players(self):
for player in self.players:
print '%s position: %s' % (player.name, player.position)
def get_player_turn(self):
player = self.players[self.turn]
self.turn += 1
if self.turn >= self.player_count:
self.turn = 0
return player
p1 = Player('ekluv')
p2 = Player('singh')
game = Game([p1, p2])
game.roll_dice()
game.roll_dice()
game.roll_dice()
game.roll_dice()
class Player:
def __init__(self, name):
self._name = name
self._position = 1
@property
def name(self):
return self._name
@property
def position(self):
return self._position
@position.setter
def position(self, position):
self._position = position
class Game:
BOARD_SIZE = 101
def __init__(self, players):
self.players = players
self.turn = 0
self.board = [0]*Game.BOARD_SIZE
self.winner = None
@property
def player_count(self):
return len(self.players)
def add_ladder(self, on, to):
if to < 0:
raise TypeError('to must be greater than 0')
self.board[on] = to
def add_snake(self, on, to):
if to > 0:
raise TypeError('to must be less than 0')
self.board[on] = to
def roll_dice(self, player=None):
if self.winner:
print 'game finished player %s won' % player.name
return
from random import randint
dice = randint(1, 6)
print 'dice rolled', dice
player = player or self.get_player_turn()
player.position += dice
if player.position >= Game.BOARD_SIZE:
self.winner = player
print(player.name, ' wins')
return
player.position += self.board[player.position]
if dice == 6:
print(player.name, 'turn again')
self.roll_dice(player)
self.print_positions_of_players()
def print_positions_of_players(self):
for player in self.players:
print '%s position: %s' % (player.name, player.position)
def get_player_turn(self):
player = self.players[self.turn]
self.turn += 1
if self.turn >= self.player_count:
self.turn = 0
return player
p1 = Player('ekluv')
p2 = Player('singh')
game = Game([p1, p2])
game.roll_dice()
game.roll_dice()
game.roll_dice()
game.roll_dice()
package javaapplication3;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Map;
import java.util.Random;
import java.util.Scanner;
public class JavaApplication3 {
private static class Player{
String playerName;
int oldPosition;
int currentPosition;
}
private static Scanner scanner = new Scanner(System.in);
private static Random random = new Random();
private static int noOfPlayers;
private static Map<Integer, Integer> ladderPositionMap = new HashMap<>();
private static Map<Integer, Integer> snakePositionMap = new HashMap<>();
private static Map<Integer, Player> playerMap = new HashMap<>();
public static void main(String[] args) {
constructSnakePostion();
constructLadderPostion();
noOfPlayers = setUpNoOfPlayers();
playGame();
}
private static void constructLadderPostion() {
ladderPositionMap.put(3, 16);
ladderPositionMap.put(5, 7);
ladderPositionMap.put(15, 25);
ladderPositionMap.put(18, 20);
ladderPositionMap.put(21, 32);
}
private static void constructSnakePostion() {
snakePositionMap.put(12, 2);
snakePositionMap.put(14, 11);
snakePositionMap.put(17, 4);
snakePositionMap.put(31, 19);
snakePositionMap.put(35, 22);
}
private static int setUpNoOfPlayers() {
System.out.println("Input the no of player...");
int noOfUsers = 0;
try {
noOfUsers = scanner.nextInt();
for (int i = 1; i <= noOfUsers; i++) {
Player player = new Player();
player.playerName = "Player: " + i;
playerMap.put(i, player);
}
} catch (Exception e) {
e.printStackTrace();
}
return noOfUsers;
}
private static void playGame() {
int currentPlayer = 1;
while(true) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
//scanner.nextLine();
System.out.println("Its Player: " + currentPlayer
+ " chance to play, Role the dice by pressing enter...");
Player player = playerMap.get(currentPlayer);
player.oldPosition = player.currentPosition;
//scanner.nextLine();
int currentPosition = random.nextInt(6) + 1;
System.out.println(player.playerName + " has rolled no "
+ currentPosition + " in the dice");
player.currentPosition = player.oldPosition + currentPosition;
Integer newLadderPosition = checkIfLadderExists(player,
player.currentPosition);
Integer newSnakePosition = checkIfSnakeExists(player,
player.currentPosition);
if (newLadderPosition == null && newSnakePosition == null) {
System.out.println(player.playerName
+ " has moved from the position: " + player.oldPosition
+ " to position: " + player.currentPosition);
}
if (player.currentPosition >= 36) {
System.out.println(player.playerName
+ " has finished the game...");
break;
}
if (noOfPlayers == currentPlayer) {
currentPlayer = 1;
continue;
}
currentPlayer++;
}
}
private static Integer checkIfLadderExists(Player player,
int currentPosition) {
Integer newLadderPosition = ladderPositionMap.get(currentPosition);
if (newLadderPosition != null) {
player.currentPosition = newLadderPosition;
System.out.println(player.playerName + " has found a ladder: "
+ "at position: " + currentPosition
+ " hence moving up to a new position: "
+ player.currentPosition + " from position: "
+ currentPosition);
}
return newLadderPosition;
}
private static Integer checkIfSnakeExists(Player player, int currentPosition) {
Integer newSnakePosition = snakePositionMap.get(currentPosition);
if (newSnakePosition != null) {
player.currentPosition = newSnakePosition;
System.out.println(player.playerName + " has found a snake: "
+ "at position: " + currentPosition
+ " hence moving down to a new position: "
+ newSnakePosition + " from position: " + currentPosition);
}
return newSnakePosition;
}
}
- dmanasvi11 May 03, 2012