Skip to content

Commit

Permalink
Fix for issue #138.
Browse files Browse the repository at this point in the history
This should prevent any orphaned IdleOutTasks from being created.
  • Loading branch information
brrr2 committed Mar 15, 2014
1 parent 41bb45b commit 249d8d0
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 0 deletions.
20 changes: 20 additions & 0 deletions blackjack/Blackjack.java
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,8 @@ protected void bet(String nick, String[] params) {
informPlayer(nick, getMsg("no_betting"));
} else if (currentPlayer != findJoined(nick)) {
informPlayer(nick, getMsg("wrong_turn"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else if (params.length < 1){
informPlayer(nick, getMsg("no_parameter"));
} else {
Expand All @@ -305,6 +307,8 @@ protected void allin(String nick, String[] params) {
informPlayer(nick, getMsg("no_betting"));
} else if (currentPlayer != findJoined(nick)) {
informPlayer(nick, getMsg("wrong_turn"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
bet(currentPlayer.get("cash"));
}
Expand All @@ -324,6 +328,8 @@ protected void hit(String nick, String[] params) {
informPlayer(nick, getMsg("no_cards"));
} else if (!(currentPlayer == findJoined(nick))) {
informPlayer(nick, getMsg("wrong_turn"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
hit();
}
Expand All @@ -343,6 +349,8 @@ protected void stand(String nick, String[] params) {
informPlayer(nick, getMsg("no_cards"));
} else if (!(currentPlayer == findJoined(nick))) {
informPlayer(nick, getMsg("wrong_turn"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
stay();
}
Expand All @@ -362,6 +370,8 @@ protected void doubledown(String nick, String[] params) {
informPlayer(nick, getMsg("no_cards"));
} else if (!(currentPlayer == findJoined(nick))) {
informPlayer(nick, getMsg("wrong_turn"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
doubleDown();
}
Expand All @@ -381,6 +391,8 @@ protected void surrender(String nick, String[] params) {
informPlayer(nick, getMsg("no_cards"));
} else if (!(currentPlayer == findJoined(nick))) {
informPlayer(nick, getMsg("wrong_turn"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
surrender();
}
Expand All @@ -400,6 +412,8 @@ protected void insure(String nick, String[] params) {
informPlayer(nick, getMsg("no_cards"));
} else if (!(currentPlayer == findJoined(nick))) {
informPlayer(nick, getMsg("wrong_turn"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else if (params.length < 1){
informPlayer(nick, getMsg("no_parameter"));
} else {
Expand All @@ -425,6 +439,8 @@ protected void split(String nick, String[] params) {
informPlayer(nick, getMsg("no_cards"));
} else if (!(currentPlayer == findJoined(nick))) {
informPlayer(nick, getMsg("wrong_turn"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
split();
}
Expand Down Expand Up @@ -1389,6 +1405,7 @@ public void endGame() {
public void resetGame() {
inProgress = false;
roundEnded = false;
continuingRound = false;
insuranceBets = false;
betting = true;
discardPlayerHand(dealer);
Expand Down Expand Up @@ -1675,16 +1692,19 @@ private void split() {
* Determines what to do when the action falls to a new player/hand
*/
private void quickEval() {
continuingRound = true;
BlackjackPlayer p = (BlackjackPlayer) currentPlayer;
if (p.hasSplit()) {
showTurn(p, p.get("currentindex") + 1);
} else {
showTurn(p, 0);
}
if (p.has("quit")){
continuingRound = false;
stay();
} else {
setIdleOutTask();
continuingRound = false;
}
}

Expand Down
1 change: 1 addition & 0 deletions cardgame/CardGame.java
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ public abstract class CardGame extends ListenerAdapter<PircBotX> {
// Game properties
protected boolean inProgress;
protected boolean roundEnded;
protected boolean continuingRound;
protected int startCount;
protected long lastPing;
protected String name;
Expand Down
1 change: 1 addition & 0 deletions strlib.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ remove_end_round=You will be removed at the end of the round.
stop=All remaining auto-starts have been canceled.
stop_no_autostarts=No auto-starts are scheduled after this round.
no_manual_start=The next round will automatically begin.
game_lagging=The game is lagging. Please wait patiently.
###################
# With parameters #
###################
Expand Down
30 changes: 30 additions & 0 deletions texaspoker/TexasPoker.java
Original file line number Diff line number Diff line change
Expand Up @@ -255,6 +255,8 @@ protected void bet(String nick, String[] params) {
informPlayer(nick, getMsg("no_start"));
} else if (findJoined(nick) != currentPlayer){
informPlayer(nick, getMsg("wrong_turn"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else if (params.length < 1){
informPlayer(nick, getMsg("no_parameter"));
} else {
Expand All @@ -278,6 +280,8 @@ protected void call(String nick, String[] params) {
informPlayer(nick, getMsg("no_start"));
} else if (findJoined(nick) != currentPlayer){
informPlayer(nick, getMsg("wrong_turn"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
call();
}
Expand All @@ -295,6 +299,8 @@ protected void check(String nick, String[] params) {
informPlayer(nick, getMsg("no_start"));
} else if (findJoined(nick) != currentPlayer){
informPlayer(nick, getMsg("wrong_turn"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
check();
}
Expand All @@ -312,6 +318,8 @@ protected void fold(String nick, String[] params) {
informPlayer(nick, getMsg("no_start"));
} else if (findJoined(nick) != currentPlayer){
informPlayer(nick, getMsg("wrong_turn"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
fold();
}
Expand All @@ -329,6 +337,8 @@ protected void raise(String nick, String[] params) {
informPlayer(nick, getMsg("no_start"));
} else if (findJoined(nick) != currentPlayer){
informPlayer(nick, getMsg("wrong_turn"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else if (params.length < 1){
informPlayer(nick, getMsg("no_parameter"));
} else {
Expand All @@ -352,6 +362,8 @@ protected void allin(String nick, String[] params) {
informPlayer(nick, getMsg("no_start"));
} else if (findJoined(nick) != currentPlayer){
informPlayer(nick, getMsg("wrong_turn"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
bet(currentPlayer.get("cash"));
}
Expand Down Expand Up @@ -475,6 +487,8 @@ protected void fbet(User user, String nick, String[] params) {
informPlayer(nick, getMsg("no_start"));
} else if (currentPlayer == null) {
informPlayer(nick, getMsg("no_force_play"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else if (params.length < 1){
informPlayer(nick, getMsg("no_parameter"));
} else {
Expand All @@ -499,6 +513,8 @@ protected void fallin(User user, String nick, String[] params) {
informPlayer(nick, getMsg("no_start"));
} else if (currentPlayer == null) {
informPlayer(nick, getMsg("no_force_play"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
bet(currentPlayer.get("cash"));
}
Expand All @@ -517,6 +533,8 @@ protected void fraise(User user, String nick, String[] params) {
informPlayer(nick, getMsg("no_start"));
} else if (currentPlayer == null) {
informPlayer(nick, getMsg("no_force_play"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else if (params.length < 1){
informPlayer(nick, getMsg("no_parameter"));
} else {
Expand All @@ -541,6 +559,8 @@ protected void fcall(User user, String nick, String[] params) {
informPlayer(nick, getMsg("no_start"));
} else if (currentPlayer == null) {
informPlayer(nick, getMsg("no_force_play"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
call();
}
Expand All @@ -559,6 +579,8 @@ protected void fcheck(User user, String nick, String[] params) {
informPlayer(nick, getMsg("no_start"));
} else if (currentPlayer == null) {
informPlayer(nick, getMsg("no_force_play"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
check();
}
Expand All @@ -577,6 +599,8 @@ protected void ffold(User user, String nick, String[] params) {
informPlayer(nick, getMsg("no_start"));
} else if (currentPlayer == null) {
informPlayer(nick, getMsg("no_force_play"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
fold();
}
Expand Down Expand Up @@ -857,6 +881,8 @@ public void startRound() {

@Override
public void continueRound() {
continuingRound = true;

// Store currentPlayer as firstPlayer and find the next player
Player firstPlayer = currentPlayer;
currentPlayer = getPlayerAfter(currentPlayer);
Expand Down Expand Up @@ -884,6 +910,8 @@ public void continueRound() {

// If all community cards have been dealt, move to end of round
if (stage == 4){
currentPlayer = null;
continuingRound = false;
endRound();
// Otherwise, deal community cards
} else {
Expand Down Expand Up @@ -938,6 +966,7 @@ public void continueRound() {
showMsg(getMsg("tp_turn"), currentPlayer.getNickStr(), currentBet-currentPlayer.get("bet"),
currentPlayer.get("bet"), currentBet, getCashInPlay(), currentPlayer.get("cash")-currentPlayer.get("bet"));
setIdleOutTask();
continuingRound = false;
}
}

Expand Down Expand Up @@ -1072,6 +1101,7 @@ public void resetGame() {
minRaise = 0;
inProgress = false;
roundEnded = false;
continuingRound = false;
discardCommunity();
currentPot = null;
pots.clear();
Expand Down
30 changes: 30 additions & 0 deletions texastourney/TexasTourney.java
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,8 @@ protected void bet(String nick, String[] params) {
informPlayer(nick, getMsg("tt_no_start"));
} else if (findJoined(nick) != currentPlayer){
informPlayer(nick, getMsg("wrong_turn"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else if (params.length < 1){
informPlayer(nick, getMsg("no_parameter"));
} else {
Expand All @@ -375,6 +377,8 @@ protected void call(String nick, String[] params) {
informPlayer(nick, getMsg("tt_no_start"));
} else if (findJoined(nick) != currentPlayer){
informPlayer(nick, getMsg("wrong_turn"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
call();
}
Expand All @@ -388,6 +392,8 @@ protected void check(String nick, String[] params) {
informPlayer(nick, getMsg("tt_no_start"));
} else if (findJoined(nick) != currentPlayer){
informPlayer(nick, getMsg("wrong_turn"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
check();
}
Expand All @@ -401,6 +407,8 @@ protected void fold(String nick, String[] params) {
informPlayer(nick, getMsg("tt_no_start"));
} else if (findJoined(nick) != currentPlayer){
informPlayer(nick, getMsg("wrong_turn"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
fold();
}
Expand All @@ -414,6 +422,8 @@ protected void raise(String nick, String[] params) {
informPlayer(nick, getMsg("tt_no_start"));
} else if (findJoined(nick) != currentPlayer){
informPlayer(nick, getMsg("wrong_turn"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else if (params.length < 1){
informPlayer(nick, getMsg("no_parameter"));
} else {
Expand All @@ -433,6 +443,8 @@ protected void allin(String nick, String[] params) {
informPlayer(nick, getMsg("tt_no_start"));
} else if (findJoined(nick) != currentPlayer){
informPlayer(nick, getMsg("wrong_turn"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
bet(currentPlayer.get("cash"));
}
Expand Down Expand Up @@ -614,6 +626,8 @@ protected void fbet(User user, String nick, String[] params) {
informPlayer(nick, getMsg("tt_no_start"));
} else if (currentPlayer == null) {
informPlayer(nick, getMsg("no_force_play"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else if (params.length < 1){
informPlayer(nick, getMsg("no_parameter"));
} else {
Expand All @@ -633,6 +647,8 @@ protected void fallin(User user, String nick, String[] params) {
informPlayer(nick, getMsg("tt_no_start"));
} else if (currentPlayer == null) {
informPlayer(nick, getMsg("no_force_play"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
bet(currentPlayer.get("cash"));
}
Expand All @@ -646,6 +662,8 @@ protected void fraise(User user, String nick, String[] params) {
informPlayer(nick, getMsg("tt_no_start"));
} else if (currentPlayer == null) {
informPlayer(nick, getMsg("no_force_play"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else if (params.length < 1){
informPlayer(nick, getMsg("no_parameter"));
} else {
Expand All @@ -665,6 +683,8 @@ protected void fcall(User user, String nick, String[] params) {
informPlayer(nick, getMsg("tt_no_start"));
} else if (currentPlayer == null) {
informPlayer(nick, getMsg("no_force_play"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
call();
}
Expand All @@ -678,6 +698,8 @@ protected void fcheck(User user, String nick, String[] params) {
informPlayer(nick, getMsg("tt_no_start"));
} else if (currentPlayer == null) {
informPlayer(nick, getMsg("no_force_play"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
check();
}
Expand All @@ -691,6 +713,8 @@ protected void ffold(User user, String nick, String[] params) {
informPlayer(nick, getMsg("tt_no_start"));
} else if (currentPlayer == null) {
informPlayer(nick, getMsg("no_force_play"));
} else if (continuingRound) {
informPlayer(nick, getMsg("game_lagging"));
} else {
fold();
}
Expand Down Expand Up @@ -852,6 +876,8 @@ public void startRound() {

@Override
public void continueRound() {
continuingRound = true;

// Store currentPlayer as firstPlayer and find the next player
Player firstPlayer = currentPlayer;
currentPlayer = getPlayerAfter(currentPlayer);
Expand Down Expand Up @@ -880,6 +906,8 @@ public void continueRound() {

// If all community cards have been dealt, move to end of round
if (stage == 4){
continuingRound = false;
currentPlayer = null;
endRound();
// Otherwise, deal community cards
} else {
Expand Down Expand Up @@ -935,6 +963,7 @@ public void continueRound() {
showMsg(getMsg("tp_turn"), currentPlayer.getNickStr(), currentBet-currentPlayer.get("bet"),
currentPlayer.get("bet"), currentBet, getCashInPlay(), currentPlayer.get("cash")-currentPlayer.get("bet"));
setIdleOutTask();
continuingRound = false;
}
}

Expand Down Expand Up @@ -1029,6 +1058,7 @@ public void resetGame() {
currentBet = 0;
minRaise = 0;
roundEnded = false;
continuingRound = false;
discardCommunity();
currentPot = null;
pots.clear();
Expand Down

0 comments on commit 249d8d0

Please sign in to comment.