View Javadoc
1 package net.mlw.gfw.ext.basic.server; 2 3 import net.mlw.gfw.ext.basic.exception.SeatTakenException; 4 5 /*** 6 * @author Matthew L. Wilson 7 * @version $Revision: 1.4 $ $Date: 2004/05/20 17:08:32 $ 8 */ 9 public abstract class AbstractTurnBasedGame implements TurnBasedGame 10 { 11 /*** All the players sitting at the table. **/ 12 private Player[] players; 13 14 /*** Gets the number of players. **/ 15 private int numberOfSeats; 16 17 /*** Gets the number of players seated. **/ 18 private int numberSeated = 0; 19 20 /*** The seat of the current turn. **/ 21 private int currentTurn = 0; 22 23 /*** The seat of the Player that started this round. **/ 24 private int leader = currentTurn; 25 26 /*** The number of players per team. **/ 27 private int numberOfPlayersPerTeam; 28 29 /*** 30 * @param numberOfSeats 31 */ 32 public AbstractTurnBasedGame(int numberOfSeats, int numberOfPlayersPerTeam) 33 { 34 this.numberOfSeats = numberOfSeats; 35 this.numberOfPlayersPerTeam = numberOfPlayersPerTeam; 36 this.players = new Player[numberOfSeats]; 37 } 38 39 /*** 40 * @see net.mlw.gfw.ext.basic.server.TurnBasedGame#getPlayerSeatedAt(int) 41 */ 42 public Player getPlayerSeatedAt(int seat) 43 { 44 return players[seat]; 45 } 46 47 /*** 48 * @see net.mlw.gfw.ext.basic.server.TurnBasedGame#setPlayerSeatedAt(net.mlw.gfw.ext.basic.server.Player, int) 49 */ 50 public void setPlayerSeatedAt(Player player, int seat) 51 { 52 if (players[seat] != null) 53 { 54 throw new SeatTakenException(); 55 } 56 57 players[seat] = player; 58 numberSeated++; 59 } 60 61 /*** 62 * @see net.mlw.gfw.ext.basic.server.TurnBasedGame#getNumberOfSeats() 63 */ 64 public int getNumberOfSeats() 65 { 66 return numberOfSeats; 67 } 68 69 /*** 70 * @see net.mlw.gfw.ext.basic.server.TurnBasedGame#getNumberSeated() 71 */ 72 public int getNumberSeated() 73 { 74 return numberSeated; 75 } 76 77 /*** 78 * @see net.mlw.gfw.ext.basic.server.TurnBasedGame#getCurrentTurn() 79 */ 80 public int getCurrentTurn() 81 { 82 return currentTurn; 83 } 84 85 /*** 86 * @see net.mlw.gfw.ext.basic.server.TurnBasedGame#setCurrentTurn(int) 87 */ 88 public void setCurrentTurn(int turn) 89 { 90 currentTurn = turn; 91 } 92 93 /*** 94 * @see net.mlw.gfw.ext.basic.server.TurnBasedGame#getLeader() 95 */ 96 public int getLeader() 97 { 98 return leader; 99 } 100 101 /*** 102 * @see net.mlw.gfw.ext.basic.server.TurnBasedGame#getSeatOfPlayer(java.lang.String) 103 */ 104 public int getSeatOfPlayer(String userName) 105 { 106 for (int i = 0; i < numberOfSeats; i++) 107 { 108 if (userName != null && players[i] != null && userName.equals(players[i].getUserName())) 109 { 110 return i; 111 } 112 } 113 return -1; 114 } 115 116 /*** 117 * @see net.mlw.gfw.ext.basic.server.TurnBasedGame#getNumberOfPlayersPerTeam() 118 */ 119 public int getNumberOfPlayersPerTeam() 120 { 121 return numberOfPlayersPerTeam; 122 } 123 124 /*** 125 * @see net.mlw.gfw.ext.basic.server.TurnBasedGame#setLeader(int) 126 */ 127 public void setLeader(int leader) 128 { 129 this.leader = leader; 130 } 131 132 }

This page was automatically generated by Maven