Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
Synchronet
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Main
Synchronet
Commits
eae44576
Commit
eae44576
authored
14 years ago
by
mcmlxxix
Browse files
Options
Downloads
Patches
Plain Diff
many, many updates.
functional.
parent
ef0ca5d5
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
exec/ircbots/poker/poker_commands.js
+27
-17
27 additions, 17 deletions
exec/ircbots/poker/poker_commands.js
exec/ircbots/poker/poker_functions.js
+72
-25
72 additions, 25 deletions
exec/ircbots/poker/poker_functions.js
exec/ircbots/poker/pokerbot.js
+7
-14
7 additions, 14 deletions
exec/ircbots/poker/pokerbot.js
with
106 additions
and
56 deletions
exec/ircbots/poker/poker_commands.js
+
27
−
17
View file @
eae44576
...
@@ -44,18 +44,14 @@ Bot_Commands["GO"].command = function (target,onick,ouh,srv,lvl,cmd) {
...
@@ -44,18 +44,14 @@ Bot_Commands["GO"].command = function (target,onick,ouh,srv,lvl,cmd) {
Bot_Commands
[
"
FOLD
"
]
=
new
Bot_Command
(
0
,
false
,
false
);
Bot_Commands
[
"
FOLD
"
]
=
new
Bot_Command
(
0
,
false
,
false
);
Bot_Commands
[
"
FOLD
"
].
command
=
function
(
target
,
onick
,
ouh
,
srv
,
lvl
,
cmd
)
{
Bot_Commands
[
"
FOLD
"
].
command
=
function
(
target
,
onick
,
ouh
,
srv
,
lvl
,
cmd
)
{
if
(
!
poker_verify_game_status
(
target
,
srv
,
onick
))
return
;
if
(
!
poker_verify_user_status
(
target
,
srv
,
onick
))
return
;
poker_fold_player
(
target
,
srv
,
onick
);
poker_games
[
target
].
bet
+=
poker_games
[
target
].
users
[
onick
].
bet
;
poker_games
[
target
].
users
[
onick
].
active
=
false
;
srv
.
o
(
target
,
onick
+
"
folded their hand.
"
);
poker_next_turn
(
target
,
srv
);
return
;
return
;
}
}
Bot_Commands
[
"
CHECK
"
]
=
new
Bot_Command
(
0
,
false
,
false
);
Bot_Commands
[
"
CHECK
"
]
=
new
Bot_Command
(
0
,
false
,
false
);
Bot_Commands
[
"
CHECK
"
].
command
=
function
(
target
,
onick
,
ouh
,
srv
,
lvl
,
cmd
)
{
Bot_Commands
[
"
CHECK
"
].
command
=
function
(
target
,
onick
,
ouh
,
srv
,
lvl
,
cmd
)
{
if
(
!
poker_verify_
game
_status
(
target
,
srv
,
onick
))
return
;
if
(
!
poker_verify_
user
_status
(
target
,
srv
,
onick
))
return
;
var
poker
=
poker_games
[
target
];
var
poker
=
poker_games
[
target
];
var
current_player
=
poker
.
users
[
onick
];
var
current_player
=
poker
.
users
[
onick
];
if
(
poker
.
current_bet
>
current_player
.
bet
)
{
if
(
poker
.
current_bet
>
current_player
.
bet
)
{
...
@@ -70,7 +66,7 @@ Bot_Commands["CHECK"].command = function (target,onick,ouh,srv,lvl,cmd) {
...
@@ -70,7 +66,7 @@ Bot_Commands["CHECK"].command = function (target,onick,ouh,srv,lvl,cmd) {
Bot_Commands
[
"
BET
"
]
=
new
Bot_Command
(
0
,
false
,
false
);
Bot_Commands
[
"
BET
"
]
=
new
Bot_Command
(
0
,
false
,
false
);
Bot_Commands
[
"
BET
"
].
command
=
function
(
target
,
onick
,
ouh
,
srv
,
lvl
,
cmd
)
{
Bot_Commands
[
"
BET
"
].
command
=
function
(
target
,
onick
,
ouh
,
srv
,
lvl
,
cmd
)
{
if
(
!
poker_verify_
game
_status
(
target
,
srv
,
onick
))
return
;
if
(
!
poker_verify_
user
_status
(
target
,
srv
,
onick
))
return
;
if
(
!
cmd
[
1
])
{
if
(
!
cmd
[
1
])
{
srv
.
o
(
onick
,
"
You must specify an amount to bet!
"
,
"
NOTICE
"
);
srv
.
o
(
onick
,
"
You must specify an amount to bet!
"
,
"
NOTICE
"
);
return
;
return
;
...
@@ -88,8 +84,8 @@ Bot_Commands["BET"].command = function (target,onick,ouh,srv,lvl,cmd) {
...
@@ -88,8 +84,8 @@ Bot_Commands["BET"].command = function (target,onick,ouh,srv,lvl,cmd) {
srv
.
o
(
onick
,
"
You don't have that much money! Balance: $
"
+
poker
.
users
[
onick
].
money
,
"
NOTICE
"
);
srv
.
o
(
onick
,
"
You don't have that much money! Balance: $
"
+
poker
.
users
[
onick
].
money
,
"
NOTICE
"
);
return
;
return
;
}
}
if
(
cmd
[
1
]
<
poker
.
current
_bet
)
{
if
(
cmd
[
1
]
<
poker
.
min
_bet
)
{
srv
.
o
(
onick
,
"
You must meet the minimum
bet
! Minimum bet: $
"
+
poker
.
current
_bet
,
"
NOTICE
"
);
srv
.
o
(
onick
,
"
You
r bet
must meet the minimum! Minimum bet: $
"
+
poker
.
min
_bet
,
"
NOTICE
"
);
return
;
return
;
}
}
srv
.
o
(
target
,
onick
+
"
bets $
"
+
cmd
[
1
]);
srv
.
o
(
target
,
onick
+
"
bets $
"
+
cmd
[
1
]);
...
@@ -103,20 +99,21 @@ Bot_Commands["BET"].command = function (target,onick,ouh,srv,lvl,cmd) {
...
@@ -103,20 +99,21 @@ Bot_Commands["BET"].command = function (target,onick,ouh,srv,lvl,cmd) {
Bot_Commands
[
"
CALL
"
]
=
new
Bot_Command
(
0
,
false
,
false
);
Bot_Commands
[
"
CALL
"
]
=
new
Bot_Command
(
0
,
false
,
false
);
Bot_Commands
[
"
CALL
"
].
command
=
function
(
target
,
onick
,
ouh
,
srv
,
lvl
,
cmd
)
{
Bot_Commands
[
"
CALL
"
].
command
=
function
(
target
,
onick
,
ouh
,
srv
,
lvl
,
cmd
)
{
if
(
!
poker_verify_
game
_status
(
target
,
srv
,
onick
))
return
;
if
(
!
poker_verify_
user
_status
(
target
,
srv
,
onick
))
return
;
var
poker
=
poker_games
[
target
];
var
poker
=
poker_games
[
target
];
var
current_player
=
poker
.
users
[
onick
];
var
current_player
=
poker
.
users
[
onick
];
if
(
poker
.
current_bet
<
=
current_player
.
bet
)
{
if
(
poker
.
current_bet
=
=
current_player
.
bet
)
{
srv
.
o
(
target
,
onick
+
"
checks.
"
);
srv
.
o
(
target
,
onick
+
"
checks.
"
);
}
else
if
(
poker
.
current_bet
>
current_player
.
money
+
current_player
.
bet
)
{
}
else
if
(
poker
.
current_bet
>
current_player
.
money
+
current_player
.
bet
)
{
srv
.
o
(
onick
,
"
You don't have enough to call!
"
,
"
NOTICE
"
);
srv
.
o
(
onick
,
"
You don't have enough to call!
"
,
"
NOTICE
"
);
srv
.
o
(
onick
,
"
Balance: $
"
+
current_player
.
money
,
"
NOTICE
"
);
srv
.
o
(
onick
,
"
Balance: $
"
+
current_player
.
money
,
"
NOTICE
"
);
return
;
return
;
}
else
{
}
else
{
var
difference
=
poker
.
current_bet
-
current_player
.
bet
;
srv
.
o
(
target
,
onick
+
"
calls the bet: $
"
+
poker
.
current_bet
);
srv
.
o
(
target
,
onick
+
"
calls the bet: $
"
+
poker
.
current_bet
);
current_player
.
money
-=
poker
.
current_bet
;
current_player
.
money
-=
difference
;
current_player
.
bet
+=
poker
.
current_bet
;
current_player
.
bet
+=
difference
;
srv
.
o
(
onick
,
"
Balance: $
"
+
current_player
.
money
,
"
NOTICE
"
);
srv
.
o
(
onick
,
"
Balance: $
"
+
current_player
.
money
,
"
NOTICE
"
);
}
}
poker_next_turn
(
target
,
srv
);
poker_next_turn
(
target
,
srv
);
...
@@ -125,7 +122,7 @@ Bot_Commands["CALL"].command = function (target,onick,ouh,srv,lvl,cmd) {
...
@@ -125,7 +122,7 @@ Bot_Commands["CALL"].command = function (target,onick,ouh,srv,lvl,cmd) {
Bot_Commands
[
"
RAISE
"
]
=
new
Bot_Command
(
0
,
false
,
false
);
Bot_Commands
[
"
RAISE
"
]
=
new
Bot_Command
(
0
,
false
,
false
);
Bot_Commands
[
"
RAISE
"
].
command
=
function
(
target
,
onick
,
ouh
,
srv
,
lvl
,
cmd
)
{
Bot_Commands
[
"
RAISE
"
].
command
=
function
(
target
,
onick
,
ouh
,
srv
,
lvl
,
cmd
)
{
if
(
!
poker_verify_
game
_status
(
target
,
srv
,
onick
))
return
;
if
(
!
poker_verify_
user
_status
(
target
,
srv
,
onick
))
return
;
var
bet
=
Number
(
cmd
[
1
]);
var
bet
=
Number
(
cmd
[
1
]);
if
(
!
bet
)
{
if
(
!
bet
)
{
srv
.
o
(
onick
,
"
You must specify an amount to raise!
"
,
"
NOTICE
"
);
srv
.
o
(
onick
,
"
You must specify an amount to raise!
"
,
"
NOTICE
"
);
...
@@ -140,14 +137,16 @@ Bot_Commands["RAISE"].command = function (target,onick,ouh,srv,lvl,cmd) {
...
@@ -140,14 +137,16 @@ Bot_Commands["RAISE"].command = function (target,onick,ouh,srv,lvl,cmd) {
return
;
return
;
}
}
var
poker
=
poker_games
[
target
];
var
poker
=
poker_games
[
target
];
if
(
poker
.
current_bet
+
bet
>
poker
.
users
[
onick
].
money
)
{
var
difference
=
poker
.
current_bet
-
poker
.
users
[
onick
].
bet
;
if
(
difference
+
bet
>
poker
.
users
[
onick
].
money
)
{
srv
.
o
(
onick
,
"
You don't have that much money! Balance: $
"
+
poker
.
users
[
onick
].
money
,
"
NOTICE
"
);
srv
.
o
(
onick
,
"
You don't have that much money! Balance: $
"
+
poker
.
users
[
onick
].
money
,
"
NOTICE
"
);
return
;
return
;
}
}
srv
.
o
(
target
,
onick
+
"
raises the bet to $
"
+
(
poker
.
current_bet
+
bet
));
poker
.
users
[
onick
].
money
-=
bet
;
poker
.
users
[
onick
].
money
-=
bet
;
poker
.
users
[
onick
].
bet
+=
difference
;
poker
.
users
[
onick
].
bet
+=
bet
;
poker
.
users
[
onick
].
bet
+=
bet
;
poker
.
current_bet
+=
bet
;
poker
.
current_bet
+=
bet
;
srv
.
o
(
target
,
onick
+
"
raises the bet to $
"
+
(
poker
.
current_bet
));
srv
.
o
(
onick
,
"
Balance: $
"
+
poker
.
users
[
onick
].
money
,
"
NOTICE
"
);
srv
.
o
(
onick
,
"
Balance: $
"
+
poker
.
users
[
onick
].
money
,
"
NOTICE
"
);
poker_next_turn
(
target
,
srv
);
poker_next_turn
(
target
,
srv
);
return
;
return
;
...
@@ -217,3 +216,14 @@ Bot_Commands["HOLE"].command = function (target,onick,ouh,srv,lvl,cmd) {
...
@@ -217,3 +216,14 @@ Bot_Commands["HOLE"].command = function (target,onick,ouh,srv,lvl,cmd) {
,
"
NOTICE
"
);
,
"
NOTICE
"
);
}
}
Bot_Commands
[
"
INVITE
"
]
=
new
Bot_Command
(
0
,
1
,
false
);
Bot_Commands
[
"
INVITE
"
].
command
=
function
(
target
,
onick
,
ouh
,
srv
,
lvl
,
cmd
)
{
cmd
.
shift
();
if
(
srv
.
users
[
cmd
[
0
].
toUpperCase
()])
{
srv
.
o
(
target
,
cmd
[
0
]
+
"
is already here!
"
);
return
;
}
srv
.
o
(
cmd
[
0
],
onick
+
"
invited you to play poker in
"
+
target
+
"
! /J
"
+
target
+
"
to join.
"
);
return
;
}
This diff is collapsed.
Click to expand it.
exec/ircbots/poker/poker_functions.js
+
72
−
25
View file @
eae44576
...
@@ -15,8 +15,17 @@ function poker_deal_hole_cards(target,srv) {
...
@@ -15,8 +15,17 @@ function poker_deal_hole_cards(target,srv) {
function
poker_next_turn
(
target
,
srv
)
{
function
poker_next_turn
(
target
,
srv
)
{
var
poker
=
poker_games
[
target
];
var
poker
=
poker_games
[
target
];
poker
.
turn
=
get_next_player
(
poker
.
users_map
,
poker
.
turn
);
var
current_turn
=
poker
.
turn
;
poker
.
users
[
poker
.
users_map
[
current_turn
]].
has_bet
=
true
;
poker
.
turn
=
get_next_player
(
poker
,
poker
.
turn
);
var
next_turn_user
=
poker
.
users
[
poker
.
users_map
[
poker
.
turn
]];
if
(
poker_count_active_players
(
poker
)
==
1
)
{
poker
.
round
=
3
;
poker
.
deal_next
=
true
;
}
else
if
(
poker
.
current_bet
==
next_turn_user
.
bet
&&
next_turn_user
.
has_bet
)
{
poker
.
deal_next
=
true
;
}
if
(
poker
.
deal_next
)
{
if
(
poker
.
deal_next
)
{
poker_load_pot
(
poker
);
poker_load_pot
(
poker
);
switch
(
++
poker
.
round
)
{
switch
(
++
poker
.
round
)
{
...
@@ -36,20 +45,53 @@ function poker_next_turn(target,srv) {
...
@@ -36,20 +45,53 @@ function poker_next_turn(target,srv) {
poker
.
current_bet
=
0
;
poker
.
current_bet
=
0
;
poker
.
deal_next
=
false
;
poker
.
deal_next
=
false
;
if
(
poker
.
round
<
4
)
{
if
(
poker
.
round
<
4
)
{
poker
.
turn
=
get_next_player
(
poker
,
poker
.
dealer
);
poker_game_status
(
target
,
srv
);
poker_game_status
(
target
,
srv
);
}
}
}
else
{
var
turn_user
=
poker
.
users
[
poker
.
users_map
[
poker
.
turn
]];
if
(
poker
.
current_bet
==
turn_user
.
bet
)
poker
.
deal_next
=
true
;
}
}
if
(
poker
.
round
<
4
)
{
if
(
poker
.
round
<
4
)
{
poker_prompt_player
(
target
,
srv
);
poker_prompt_player
(
target
,
srv
);
}
}
}
}
function
get_next_player
(
map
,
turn
)
{
function
poker_count_active_players
(
poker_game
)
{
var
count
=
0
;
for
(
var
u
in
poker_game
.
users
)
{
if
(
poker_game
.
users
[
u
].
active
)
count
++
;
}
return
count
;
}
function
poker_verify_game_status
(
poker_game
)
{
var
active_users
=
false
;
for
(
var
u
in
srv
.
users
)
{
if
(
poker
.
users
[
u
]
&&
poker
.
users
[
u
].
active
)
{
if
(
time
()
-
srv
.
users
[
u
].
last_spoke
<
activity_timeout
){
active_users
=
true
;
break
;
}
else
{
delete
poker
.
users
[
u
];
srv
.
o
(
u
,
"
You have been idle too long.
"
+
"
Type 'DEAL' here to resume playing poker.
"
,
"
NOTICE
"
);
}
}
}
if
(
!
active_users
)
return
;
}
function
poker_fold_player
(
target
,
srv
,
onick
)
{
poker_games
[
target
].
pot
+=
poker_games
[
target
].
users
[
onick
].
bet
;
poker_games
[
target
].
users
[
onick
].
active
=
false
;
srv
.
o
(
target
,
onick
+
"
folded their hand.
"
);
poker_next_turn
(
target
,
srv
);
}
function
get_next_player
(
poker_game
,
turn
)
{
turn
++
;
turn
++
;
if
(
turn
==
map
.
length
)
turn
=
0
;
if
(
turn
==
poker_game
.
users_map
.
length
)
turn
=
0
;
if
(
!
poker_game
.
users
[
poker_game
.
users_map
[
turn
]].
active
)
{
turn
=
get_next_player
(
poker_game
,
turn
);
}
return
turn
;
return
turn
;
}
}
...
@@ -59,14 +101,16 @@ function poker_compare_hands(target,srv) {
...
@@ -59,14 +101,16 @@ function poker_compare_hands(target,srv) {
var
winning_player
=-
1
;
var
winning_player
=-
1
;
for
(
var
p
in
poker
.
users
)
{
for
(
var
p
in
poker
.
users
)
{
var
player
=
poker
.
users
[
p
];
var
player
=
poker
.
users
[
p
];
var
hand
=
poker
.
community_cards
.
concat
(
player
.
cards
)
if
(
player
.
active
)
{
var
rank
=
Rank
(
hand
);
var
hand
=
poker
.
community_cards
.
concat
(
player
.
cards
)
if
(
rank
>
winning_hand
)
{
var
rank
=
Rank
(
hand
);
winning_hand
=
rank
;
if
(
rank
>
winning_hand
)
{
winning_player
=
p
;
winning_hand
=
rank
;
winning_player
=
p
;
}
}
}
}
}
srv
.
o
(
target
,
winning_player
+
"
won this hand
with
"
+
RANKS
[
winning_hand
]
);
srv
.
o
(
target
,
winning_player
+
"
won this hand
! Winnings: $
"
+
poker
.
pot
);
poker
.
users
[
winning_player
].
money
+=
poker
.
pot
;
poker
.
users
[
winning_player
].
money
+=
poker
.
pot
;
poker
.
winner
=
winning_player
;
poker
.
winner
=
winning_player
;
...
@@ -97,6 +141,7 @@ function poker_load_pot(poker_game) {
...
@@ -97,6 +141,7 @@ function poker_load_pot(poker_game) {
for
(
var
p
in
poker_game
.
users
)
{
for
(
var
p
in
poker_game
.
users
)
{
poker_game
.
pot
+=
poker_game
.
users
[
p
].
bet
;
poker_game
.
pot
+=
poker_game
.
users
[
p
].
bet
;
poker_game
.
users
[
p
].
bet
=
0
;
poker_game
.
users
[
p
].
bet
=
0
;
poker_game
.
users
[
p
].
has_bet
=
false
;
}
}
return
;
return
;
}
}
...
@@ -109,7 +154,7 @@ function poker_prompt_player(target,srv) {
...
@@ -109,7 +154,7 @@ function poker_prompt_player(target,srv) {
srv
.
o
(
turn
,
"
It is your turn. Minimum bet to call: $
"
+
min_bet
,
"
NOTICE
"
);
srv
.
o
(
turn
,
"
It is your turn. Minimum bet to call: $
"
+
min_bet
,
"
NOTICE
"
);
}
}
function
poker_verify_
game
_status
(
target
,
srv
,
onick
)
{
function
poker_verify_
user
_status
(
target
,
srv
,
onick
)
{
var
poker
=
poker_games
[
target
];
var
poker
=
poker_games
[
target
];
if
(
!
poker
)
{
if
(
!
poker
)
{
srv
.
o
(
target
,
"
No poker game in progress. Type '
"
+
get_cmd_prefix
()
srv
.
o
(
target
,
"
No poker game in progress. Type '
"
+
get_cmd_prefix
()
...
@@ -138,15 +183,15 @@ function poker_init_hand(target,srv) {
...
@@ -138,15 +183,15 @@ function poker_init_hand(target,srv) {
for
(
var
u
in
poker
.
users
)
{
for
(
var
u
in
poker
.
users
)
{
poker
.
users_map
.
push
(
u
);
poker
.
users_map
.
push
(
u
);
}
}
var
small_blind
=
get_next_player
(
poker
.
users_map
,
poker
.
dealer
);
var
small_blind
=
get_next_player
(
poker
,
poker
.
dealer
);
var
large_blind
=
get_next_player
(
poker
.
users_map
,
small_blind
);
var
large_blind
=
get_next_player
(
poker
,
small_blind
);
srv
.
o
(
target
,
poker
.
users_map
[
poker
.
dealer
]
+
"
is the dealer for this hand.
"
);
srv
.
o
(
target
,
poker
.
users_map
[
poker
.
dealer
]
+
"
is the dealer for this hand.
"
);
poker
.
users
[
poker
.
users_map
[
small_blind
]].
bet
+=
poker
.
sm_blind
;
poker
.
users
[
poker
.
users_map
[
small_blind
]].
bet
+=
poker
.
sm_blind
;
srv
.
o
(
target
,
"
Small blind:
"
+
poker
.
users_map
[
small_blind
]
+
"
$
"
+
poker
.
sm_blind
);
srv
.
o
(
target
,
"
Small blind:
"
+
poker
.
users_map
[
small_blind
]
+
"
$
"
+
poker
.
sm_blind
);
poker
.
users
[
poker
.
users_map
[
large_blind
]].
bet
+=
poker
.
lg_blind
;
poker
.
users
[
poker
.
users_map
[
large_blind
]].
bet
+=
poker
.
lg_blind
;
srv
.
o
(
target
,
"
Large blind:
"
+
poker
.
users_map
[
large_blind
]
+
"
$
"
+
poker
.
lg_blind
);
srv
.
o
(
target
,
"
Large blind:
"
+
poker
.
users_map
[
large_blind
]
+
"
$
"
+
poker
.
lg_blind
);
poker
.
turn
=
get_next_player
(
poker
,
large_blind
);
poker
.
min_bet
=
poker
.
lg_blind
;
poker
.
min_bet
=
poker
.
lg_blind
;
}
}
...
@@ -168,6 +213,9 @@ function poker_game_status(target,srv) {
...
@@ -168,6 +213,9 @@ function poker_game_status(target,srv) {
var
state
=
""
;
var
state
=
""
;
var
cards
=
""
;
var
cards
=
""
;
for
(
var
c
in
poker
.
community_cards
)
{
if
(
poker
.
community_cards
[
c
])
cards
+=
poker_show_card
(
poker
.
community_cards
[
c
]);
}
switch
(
poker
.
round
)
{
switch
(
poker
.
round
)
{
case
-
1
:
case
-
1
:
state
=
"
Status: waiting for players
"
;
state
=
"
Status: waiting for players
"
;
...
@@ -176,13 +224,13 @@ function poker_game_status(target,srv) {
...
@@ -176,13 +224,13 @@ function poker_game_status(target,srv) {
state
=
"
Status: First round betting
"
;
state
=
"
Status: First round betting
"
;
break
;
break
;
case
1
:
case
1
:
state
=
"
The Flop:
"
;
state
=
"
The Flop:
"
+
cards
;
break
;
break
;
case
2
:
case
2
:
state
=
"
The Turn:
"
;
state
=
"
The Turn:
"
+
cards
;
break
;
break
;
case
3
:
case
3
:
state
=
"
The River:
"
;
state
=
"
The River:
"
+
cards
;
break
;
break
;
case
4
:
case
4
:
state
=
"
Hand complete. Winner:
"
+
poker
.
winner
;
state
=
"
Hand complete. Winner:
"
+
poker
.
winner
;
...
@@ -190,15 +238,12 @@ function poker_game_status(target,srv) {
...
@@ -190,15 +238,12 @@ function poker_game_status(target,srv) {
default
:
default
:
break
;
break
;
}
}
for
(
var
c
in
poker
.
community_cards
)
{
if
(
poker
.
round
>=
0
&&
poker
.
round
<
4
)
{
if
(
poker
.
community_cards
[
c
])
cards
+=
poker_show_card
(
poker
.
community_cards
[
c
]);
}
if
(
poker
.
round
>=
0
)
{
srv
.
o
(
target
,
"
Current pot: $
"
+
poker
.
pot
);
srv
.
o
(
target
,
"
Current pot: $
"
+
poker
.
pot
);
srv
.
o
(
target
,
"
Current bet: $
"
+
poker
.
current_bet
);
srv
.
o
(
target
,
"
Current bet: $
"
+
poker
.
current_bet
);
srv
.
o
(
target
,
"
Current turn:
"
+
poker
.
users_map
[
poker
.
turn
]);
srv
.
o
(
target
,
"
Current turn:
"
+
poker
.
users_map
[
poker
.
turn
]);
}
}
srv
.
o
(
target
,
state
+
cards
);
srv
.
o
(
target
,
state
);
}
}
function
poker_reset_game
(
target
,
srv
)
{
function
poker_reset_game
(
target
,
srv
)
{
...
@@ -207,9 +252,11 @@ function poker_reset_game(target,srv) {
...
@@ -207,9 +252,11 @@ function poker_reset_game(target,srv) {
poker
.
users
[
u
].
cards
=
[];
poker
.
users
[
u
].
cards
=
[];
poker
.
users
[
u
].
bet
=
0
;
poker
.
users
[
u
].
bet
=
0
;
poker
.
users
[
u
].
active
=
true
;
poker
.
users
[
u
].
active
=
true
;
poker
.
users
[
u
].
has_bet
=
false
;
}
}
poker
.
dealer
=
get_next_player
(
poker
.
users_map
,
poker
.
dealer
);
poker
.
dealer
=
get_next_player
(
poker
,
poker
.
dealer
);
poker
.
round
=-
1
;
poker
.
round
=-
1
;
poker
.
current_bet
=
poker
.
min_bet
/
2
;
poker
.
pot
=
0
;
poker
.
pot
=
0
;
}
}
...
...
This diff is collapsed.
Click to expand it.
exec/ircbots/poker/pokerbot.js
+
7
−
14
View file @
eae44576
...
@@ -19,23 +19,15 @@ function main(srv,target)
...
@@ -19,23 +19,15 @@ function main(srv,target)
{
{
var
poker
=
poker_games
[
target
];
var
poker
=
poker_games
[
target
];
if
(
!
poker
||
poker
.
paused
)
return
;
if
(
!
poker
||
poker
.
paused
)
return
;
var
active_users
=
false
;
for
(
var
u
in
srv
.
users
)
{
for
(
var
u
in
srv
.
users
)
{
if
(
poker
.
users
[
u
])
{
if
(
poker
.
users
[
u
]
&&
poker
.
users
[
u
].
active
)
{
if
(
time
()
-
srv
.
users
[
u
].
last_spoke
<
activity_timeout
){
if
(
time
()
-
srv
.
users
[
u
].
last_spoke
>=
activity_timeout
){
active_users
=
true
;
poker_fold_player
(
target
,
srv
,
u
);
break
;
}
else
{
delete
poker
.
users
[
u
];
srv
.
o
(
u
,
"
You have been idle too long.
"
srv
.
o
(
u
,
"
You have been idle too long.
"
+
"
Type 'DEAL' here to resume playing poker.
"
,
"
NOTICE
"
);
+
"
Type 'DEAL' here to resume playing poker.
"
,
"
NOTICE
"
);
}
}
}
}
}
}
if
(
!
active_users
)
return
;
if
(
poker
.
cycle
())
{
}
}
}
// Game objects
// Game objects
...
@@ -44,11 +36,11 @@ function Poker_Game()
...
@@ -44,11 +36,11 @@ function Poker_Game()
this
.
last_update
=
0
;
this
.
last_update
=
0
;
this
.
turn
=
0
;
this
.
turn
=
0
;
this
.
pot
=
0
;
this
.
pot
=
0
;
this
.
lg_blind
=
10
;
this
.
sm_blind
=
5
;
this
.
dealer
=
0
;
this
.
dealer
=
0
;
this
.
min_bet
=
this
.
sm_blind
;
this
.
min_bet
=
10
;
this
.
current_bet
=
this
.
min_bet
;
this
.
current_bet
=
this
.
min_bet
;
this
.
lg_blind
=
this
.
min_bet
;
this
.
sm_blind
=
this
.
min_bet
/
2
;
this
.
round
=-
1
;
this
.
round
=-
1
;
this
.
deck
=
new
Deck
();
this
.
deck
=
new
Deck
();
this
.
community_cards
=
new
Array
();
this
.
community_cards
=
new
Array
();
...
@@ -71,6 +63,7 @@ function Poker_Player()
...
@@ -71,6 +63,7 @@ function Poker_Player()
this
.
cards
=
[];
this
.
cards
=
[];
this
.
money
=
100
;
this
.
money
=
100
;
this
.
bet
=
0
;
this
.
bet
=
0
;
this
.
has_bet
=
false
;
this
.
active
=
true
;
this
.
active
=
true
;
}
}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment