Page 1 of 2

Знатокам PHP и/или Perl

Posted: Mon Oct 09, 2006 11:12 am
by PaleMan
В общем испытываю острую нужду в написании довольно простенького скрипта для покерного сайта.

А именно нужен скрипт, в который вводится текст с информацией о сдаче.
Например, такого вида:


----------------------------------------------------------------------


Game # 440833966 - Texas Hold'em No Limit EUR 0,25/0,50 - Table "Halmstad"
Game ended 2006-10-08 21:30:27 GMT+01:00

Players:
swe_tilt (EUR 45,65 in seat 3)
atochesden (EUR 60,35 in seat 4)
Pa1eMan (EUR 74,45 in seat 5)
*wuillan* (EUR 48,00 in seat 6)
Kirek (EUR 50,40 in seat 7)

Dealer: swe_tilt
Small Blind: atochesden (0,25)
Big Blind: Pa1eMan (0,50)

Pa1eMan was dealt: Ah - 7c

*wuillan* Fold
Kirek Call (0,50)
swe_tilt Fold
atochesden Fold
Pa1eMan Check

Flop 5s - 9d - Jc

Pa1eMan Check
Kirek Check

Turn 5s - 9d - Jc - 2c

Pa1eMan Check
Kirek Check

River 5s - 9d - Jc - 2c - 9s

Pa1eMan Bet (0,50)
Kirek Call (0,50)

Pa1eMan shows: Ah - 7c (a pair of nines)
Kirek didn't show: Qc - Kc (a pair of nines, with king as kicker)

Pa1eMan wins: EUR 2,15 (with a pair of nines)
Rake: EUR 0,10

Что нужно на выходе.

Текст может оставаться прежним, только вместо Ah 7c (ace of hearts - туз червей, seven of clubs - семерка треф) должны появлятся картинки с их изображением, а именно:
ImageImage

Фишка еще в том, что на разных сайтах хэнд-хистори пишется немного в разном формате. Было бы круто, чтобы при вводе текста в окошко, человек из дропбокса мог бы выбрать сайт, на котором играет, чтоб скрипт понял как ему конвертировать.

Есть умельцы?

Posted: Mon Oct 09, 2006 11:33 pm
by GANDJUBAS
Для данного варианта:

пример



[HTML]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Poker converter</title>
</head>
<body bgcolor="#dddddd">
<form method="POST" action="pconv.php">
<textarea name="sometext">
</textarea>

<input type=submit value="Convert given shit">
</form>
<hr>[/HTML]

Code: Select all

<?
if (isset($_POST['sometext'])) {
    $text = $_POST['sometext'];    
    
    $text = preg_replace('/\s(([2-9AKQJ]|10)[sdch])\s/', '<img src="images/$1.gif" width=50 height=75 alt="$1">', $text);
    
    $text = str_replace("\n", "
", $text);
    $text = str_replace('\"', """, $text);
    $text = str_replace("\'", "'", $text);
    echo $text;
    
}

?>
[HTML]</body>
</html>[/HTML]

единственно, что в подпапке images должны лежать картинки с именами типа 2s.gif и т.д.

Posted: Tue Oct 10, 2006 12:24 am
by PaleMan
ух ты, супер...

я может чего не понял, но по-моему десятка в скрипте никак не задействована?
вообще она обозначается как T (Ts, Tc, Th, Td)

Posted: Tue Oct 10, 2006 12:37 am
by PaleMan
а вот такой примерчик:

Red Star Poker - Game Number: 7074841
No Limit Texas Hold'em ($0.25/$0.50) - Real Money
Start time of game: 07/01/06 21:44
Table'Las Vegas' Seat #6 is the button
Seat 1: PaleMan ($29.50 in chips)
Seat 2: albertini ($15.80 in chips)
Seat 3: Sanya27 ($30.45 in chips)
Seat 4: Svata32 ($29.20 in chips)
Seat 6: SashiStar ($5.30 in chips)
PaleMan posts small blind $0.25
albertini posts big blind $0.50
Dealt to PaleMan [d9c9]
Dealt to albertini
Dealt to Sanya27
Dealt to Svata32
Dealt to SashiStar
Sanya27: folded
Svata32: calls $0.50
SashiStar: folded
PaleMan raises to $2.00
albertini: calls $2.00
Svata32: calls $2.00
*** Flop ***
Dealing: (hj, dk, ha)
PaleMan: folded
albertini: opened betting at $1.00
Svata32: folded
PaleMan: folded
albertini: mucked
albertini collected $5.70 from the pot
Rake collected: $0.30
Seat 1: PaleMan ($27.50 in chips)
Seat 2: albertini ($19.50 in chips)
Seat 3: Sanya27 ($30.45 in chips)
Seat 4: Svata32 ($27.20 in chips)
Seat 6: SashiStar ($5.30 in chips)
End time of game: 07/01/06 21:45

тут все наоборот, сначала масть, потом сама карта

как быть?

Posted: Tue Oct 10, 2006 12:54 am
by GANDJUBAS
PaleMan wrote:ух ты, супер...

я может чего не понял, но по-моему десятка в скрипте никак не задействована?
вообще она обозначается как T (Ts, Tc, Th, Td)
я не знал, как 10, поэтому она там как 10s берет

разница только тут
\s(([2-9AKQJ]|10)[sdch])\s
меняется на
\s([2-9AKQJT][sdch])\s

Posted: Tue Oct 10, 2006 1:37 am
by GANDJUBAS
еще какие варианты есть?
чтобы не переписывать несколько раз

Posted: Tue Oct 10, 2006 2:54 am
by uvak
Ганджу скучно :)

Posted: Tue Oct 10, 2006 8:56 am
by PaleMan
сейчас понарою

там разновидности 3-4 не более

в идеале очень хотелось бы то же самое, что и вот здесь:
http://www.liquidpoker.net

только там конвертор понимает только одну разновидность (которая, впрочем работает на несколько покер румов)

Posted: Tue Oct 10, 2006 6:38 pm
by PaleMan
вот из Cryptologic network

Game #2101821763: Hold'em FL ($2/$4) - 2006/08/02 - 19:26:17 (GMT)
Table "Magnolia" Seat 1 is the button.
Seat 1: garethf ($62.37 in chips)
Seat 2: Yura ($117.76 in chips)
Seat 3: bkboy ($49 in chips)
Seat 4: Mikemagic ($68.47 in chips)
Seat 5: Jazzy007 ($332.11 in chips)
Seat 6: SarkyBoy ($154 in chips)
Yura: posts small blind $1
bkboy: posts big blind $2
----- HOLE CARDS -----
dealt to Yura [As 9d]
Mikemagic: folds
Jazzy007: folds
SarkyBoy: folds
garethf: calls $2
Yura: raises $3
bkboy: calls $2
garethf: calls $2
----- FLOP ----- [8h Ah 7c]
Yura: bets $2
bkboy: calls $2
garethf: calls $2
----- TURN ----- [8h Ah 7c][4d]
Yura: bets $4
bkboy: calls $4
garethf: calls $4
----- RIVER ----- [8h Ah 7c 4d][9c]
Yura: bets $4
bkboy: folds
garethf: raises $8
Yura: calls $4
----- SHOW DOWN -----
garethf: shows [Jc Th] (A Straight, Jack high)
Yura: mucks hand [As 9d]
garethf collects $43.75 from Main pot
----- SUMMARY -----
Total pot $46 Main pot $43.75 Rake $2.25
Board [8h Ah 7c 4d 9c]
Seat 1: garethf (button) showed [Jc Th] and won ($43.75) with A Straight, Jack high
Seat 2: Yura (small blind) mucked [As 9d]
Seat 3: bkboy (big blind) folded on the River
Seat 4: Mikemagic folded before Flop (didn't bet)
Seat 5: Jazzy007 folded before Flop (didn't bet)
Seat 6: SarkyBoy folded before Flop (didn't bet)

Posted: Tue Oct 10, 2006 6:40 pm
by PaleMan
Bossmedia русская:

Рука #435293861 на столе: Table TH 729
Начало: Tue Oct 10 13:46:33 2006

AarneAnkka находится на месте 2 с 125.50
Я находится на месте 3 с 335.00
BladeAces находится на месте 4 с 49.50
cicero13 находится на месте 5 с 43.00

Я ставит большой блайнд 3.00
AarneAnkka ставит малый блайнд 1.50

AarneAnkka: --, --
Я: 5h, 4s
BladeAces: --, --
cicero13: --, --

префлоп:

BladeAces: Уровнять ставку 3.00
cicero13: Уровнять ставку 3.00
AarneAnkka: Поднять 6.00
Я: Уровнять ставку 6.00
BladeAces: Уровнять ставку 6.00
cicero13: Уровнять ставку 6.00

Флоп (на столе: 9h, 4d, Jd):

AarneAnkka: Поставить 3.00
Я: Уровнять ставку 3.00
BladeAces: Уровнять ставку 3.00
cicero13: Уровнять ставку 3.00

Тёрн (на столе: 9h, 4d, Jd, 4h):

AarneAnkka: Чек
Я: Чек
BladeAces: Чек
cicero13: Поставить 6.00
AarneAnkka: Уровнять ставку 6.00
Я: Поднять 12.00
BladeAces: Спасовать
cicero13: Уровнять ставку 12.00
AarneAnkka: Спасовать

Ривер (на столе: 9h, 4d, Jd, 4h, Ks):

Я: Поставить 6.00
cicero13: Спасовать

Я выигрывает банк 63.00 по умолчанию

(3.00 доля заведения с данного банка)

Английская БоссМедия:

Hand #433682193 at table: Table TH 729
Started: Sun Oct 08 13:16:55 2006

casey97 is at seat 1 with 22.00
Slavko_ is at seat 2 with 311.00
odarkness is at seat 3 with 103.00
drinkwine is at seat 4 with 143.00
Я is at seat 5 with 292.50

drinkwine posts the large blind 3.00
odarkness posts the small blind 1.50

odarkness: --, --
drinkwine: --, --
Я: Qs, Jc
casey97: --, --
Slavko_: --, --

Pre-flop:

Я: Call 3.00
casey97: Fold
Slavko_: Fold
odarkness: Fold
drinkwine: Check

Flop (Board: Jd, Ks, 2h):

drinkwine: Check
Я: Bet 3.00
drinkwine: Call 3.00

Turn (Board: Jd, Ks, 2h, Qc):

drinkwine: Check
Я: Bet 6.00
drinkwine: Raise 12.00
Я: Call 12.00

River (Board: Jd, Ks, 2h, Qc, Jh):

drinkwine: Check
Я: Bet 6.00
drinkwine: Call 6.00

Showdown:

Я shows: Qs, Jc (full house)

Mainpot:
Я wins the pot of 47.50 with full house

(2.00 rake were taken for this hand)


то же самое, в принципе

Posted: Tue Oct 10, 2006 6:42 pm
by PaleMan
Pokerstars:

PokerStars Game #3484869939: Hold'em No Limit ($0.25/$0.50) - 2005/12/30 - 22:01:49 (ET)
Table 'Kama' Seat #7 is the button
Seat 1: ffl1965 ($30.50 in chips)
Seat 2: GIJOE187 ($10.20 in chips)
Seat 3: FinFan2 ($54.75 in chips)
Seat 5: Party Ry ($39.10 in chips)
Seat 6: PaleMan1 ($50 in chips)
Seat 7: thedust2010 ($44.10 in chips)
Seat 8: iberaisen ($21 in chips)
Seat 9: johnnie6 ($39.95 in chips)
iberaisen: posts small blind $0.25
johnnie6: posts big blind $0.50
PaleMan1: posts big blind $0.50
*** HOLE CARDS ***
Dealt to PaleMan1 [7d 3d]
ffl1965: folds
GIJOE187: folds
FinFan2: calls $0.50
Party Ry: folds
PaleMan1: checks
thedust2010: folds
iberaisen: calls $0.25
johnnie6: checks
*** FLOP *** [Kd Qs As]
iberaisen: checks
johnnie6: folds
wosman joins the table at seat #4
FinFan2: bets $1
PaleMan1: folds
iberaisen: folds
FinFan2 collected $1.90 from pot
FinFan2: doesn't show hand
*** SUMMARY ***
Total pot $2 | Rake $0.10
Board [Kd Qs As]
Seat 1: ffl1965 folded before Flop (didn't bet)
Seat 2: GIJOE187 folded before Flop (didn't bet)
Seat 3: FinFan2 collected ($1.90)
Seat 5: Party Ry folded before Flop (didn't bet)
Seat 6: PaleMan1 folded on the Flop
Seat 7: thedust2010 (button) folded before Flop (didn't bet)
Seat 8: iberaisen (small blind) folded on the Flop
Seat 9: johnnie6 (big blind) folded on the Flop

Posted: Tue Oct 10, 2006 6:45 pm
by PaleMan
В общем, везде одна и та же, в принципе, ботва

кроме RedStar

Ганджубас, ты программер вообще?

Posted: Tue Oct 10, 2006 7:00 pm
by ZIgi
Кажется он автослесарем работает...

Posted: Tue Oct 10, 2006 7:02 pm
by Approach
я слышал что гардеробщиком -/

Posted: Tue Oct 10, 2006 7:39 pm
by PaleMan
лол, хитрожопые

я страничку прочитал :)

он учится :)