Hatena::ブログ(Diary)

hanmaiwaoの日記

2012-07-03 世界1のEA

f:id:hanmaiwao:20120703141338g:image

2012-04-28 ZULU分析ツール

f:id:hanmaiwao:20120428215822g:image

Zulu社のCSVファイルから、詳しいバックテストを作っている。

2012-04-18 半間巌事務所はおかげさまで、毎月にダウンロード販売の製品がこんな

f:id:hanmaiwao:20120418102139g:image

半間巌事務所はおかげさまで、毎月にダウンロード販売の製品がこんなに売れて利益だしています。

2012-03-04 ポーカーの得点計算方法

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

#packopt type 0

#packopt name "ポーカ確率計算2"

#packopt runtime "hsprt"

#packopt hide 1

gsel 0,-1

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

#module

#deffunc カード表示 int d00,int x, int y

;--------------------------------------------------

d0=d00/13: d1=d00\13: x0=42*x: y0=58*y

gmode 2,42,58: pos x0,y0

gcopy 6,d1*42,d0*58,42,58

; gzoom 21,29,6,d1*42,d0*58,42,58,0

return

#global

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

#module

#deffunc マーク表示 int d00,int x, int y

;--------------------------------------------------

gmode 2,12,18: pos x,y

if d00=0: gcopy 6,00,00,12,18; A 0,0 12,18

if d00=1: gcopy 6,42,00,12,18; 2 42,0 54,18

if d00=2: gcopy 6,84,00,12,18; 3 84,0 96,18

if d00=3: gcopy 6,128,0,12,18; 4 126,0 138,18

if d00=4: gcopy 6,168,0,12,18; 5 168,0 180,18

if d00=5: gcopy 6,210,0,12,18; 6 210,0 222,18

if d00=6: gcopy 6,252,0,12,18; 7 252,0 264,18

if d00=7: gcopy 6,294,0,12,18; 8 294,0 306,18

if d00=8: gcopy 6,336,0,12,18; 9 336,0 348,18

if d00=9: gcopy 6,378,0,12,18; T 378,0 390,18

if d00=10: gcopy 6,420,0,12,18; J 420,0 432,18

if d00=11: gcopy 6,462,0,12,18; Q 462,0 474,18

if d00=12: gcopy 6,504,0,12,18; K 504,0 516,18

return

#global

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

#module

#deffunc TXT表示 array d00

;--------------------------------------------------

s00=""

repeat 52: s00+=strf("%02d",d00.cnt): loop

title ""+s00

await 1

return

#global

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

#module

#deffunc カード全表示 array d00

;--------------------------------------------------

redraw 0

カード表示 d00.0,0,0: カード表示 d00.1,1,0

カード表示 d00.2,3,0: カード表示 d00.3,4,0

カード表示 d00.4,6,0: カード表示 d00.5,7,0

カード表示 d00.6,9,0: カード表示 d00.7,10,0

カード表示 d00.8,12,0: カード表示 d00.9,13,0

カード表示 d00.10,0,1: カード表示 d00.11,1,1

カード表示 d00.12,3,1: カード表示 d00.13,4,1

カード表示 d00.14,6,1: カード表示 d00.15,7,1

カード表示 d00.16,9,1: カード表示 d00.17,10,1

カード表示 d00.18,12,1: カード表示 d00.19,13,1

カード表示 d00.20,0,2

カード表示 d00.21,1,2

カード表示 d00.22,2,2

カード表示 d00.23,3,2

カード表示 d00.24,4,2

redraw 1

return

#global

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

#module

#deffunc マーク全表示

;--------------------------------------------------

redraw 0

マーク表示 0,390,130

マーク表示 1,405,130

マーク表示 2,420,130

マーク表示 3,435,130

マーク表示 4,450,130

マーク表示 5,465,130

マーク表示 6,480,130

マーク表示 7,495,130

マーク表示 8,510,130

マーク表示 9,525,130

マーク表示 10,540,130

マーク表示 11,555,130

マーク表示 12,570,130

redraw 1

return

#global

; ハート

; ダイヤ

; スペード

; クラブ

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

#module; 52枚のカードきり

#deffunc オールカード切 array d00

;--------------------------------------------------

dim d00,52

repeat 52: d00.cnt=cnt: loop

repeat 52: d0=d00.cnt: k=rnd(52): d00.cnt=d00.k: d00.k=d0: loop

return

#global

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

#module

#deffunc ワンペアーカード array d00,int M0

mref r0,64

;--------------------------------------------------

if*1: r0=0: return

d2=d00.20\13: d3=d00.21\13: d4=d00.22\13: d5=d00.23\13: d6=d00.24\13

if M0=0: d0=d00.00\13: d1=d00.01\13

if M0=1: d0=d00.02\13: d1=d00.03\13

if M0=2: d0=d00.04\13: d1=d00.05\13

if M0=3: d0=d00.06\13: d1=d00.07\13

if M0=4: d0=d00.08\13: d1=d00.09\13

if M0=5: d0=d00.10\13: d1=d00.11\13

if M0=6: d0=d00.12\13: d1=d00.13\13

if M0=7: d0=d00.14\13: d1=d00.15\13

if M0=8: d0=d00.16\13: d1=d00.17\13

if M0=9: d0=d00.18\13: d1=d00.19\13

;--------------------------------------------------

dd0=0: dd1=0

k=0

if d0=d1: k++

if d0=d2: k++

if d0=d3: k++

if d0=d4: k++

if d0=d5: k++

if d0=d6: k++

if k=1{

if d0==0: dd0=13: else: dd0=d0

if dd0>dd1: dd1=dd0

}

k=0

if d1=d2: k++

if d1=d3: k++

if d1=d4: k++

if d1=d5: k++

if d1=d6: k++

if k=1{

if d1==0: dd0=13: else: dd0=d1

if dd0>dd1: dd1=dd0

}

k=0

if d2=d3: k++

if d2=d4: k++

if d2=d5: k++

if d2=d6: k++

if k=1{

if d2==0: dd0=13: else: dd0=d2

if dd0>dd1: dd1=dd0

}

k=0

if d3=d4: k++

if d3=d5: k++

if d3=d6: k++

if k=1{

if d3==0: dd0=13: else: dd0=d3

if dd0>dd1: dd1=dd0

}

k=0

if d4=d5: k++

if d4=d6: k++

if k=1{

if d4==0: dd0=13: else: dd0=d4

if dd0>dd1: dd1=dd0

}

k=0

if d5=d6: k++

if k=1{

if d5==0: dd0=13: else: dd0=d5

if dd0>dd1: dd1=dd0

}

r0=dd1

return

#global

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

#module

#deffunc スリーカード array d00,int M0

mref r0,64

;--------------------------------------------------

if*2: r0=0: return

d2=d00.20\13: d3=d00.21\13: d4=d00.22\13: d5=d00.23\13: d6=d00.24\13

if M0=0: d0=d00.00\13: d1=d00.01\13

if M0=1: d0=d00.02\13: d1=d00.03\13

if M0=2: d0=d00.04\13: d1=d00.05\13

if M0=3: d0=d00.06\13: d1=d00.07\13

if M0=4: d0=d00.08\13: d1=d00.09\13

if M0=5: d0=d00.10\13: d1=d00.11\13

if M0=6: d0=d00.12\13: d1=d00.13\13

if M0=7: d0=d00.14\13: d1=d00.15\13

if M0=8: d0=d00.16\13: d1=d00.17\13

if M0=9: d0=d00.18\13: d1=d00.19\13

;--------------------------------------------------

dd0=0: dd1=0

k=0

if d0=d1: k++

if d0=d2: k++

if d0=d3: k++

if d0=d4: k++

if d0=d5: k++

if d0=d6: k++

if k=2{

if d0==0: dd0=13: else: dd0=d0

if dd0>dd1: dd1=dd0

}

k=0

if d1=d0: k++

if d1=d2: k++

if d1=d3: k++

if d1=d4: k++

if d1=d5: k++

if d1=d6: k++

if k=2{

if d1==0: dd0=13: else: dd0=d1

if dd0>dd1: dd1=dd0

}

k=0

if d2=d0: k++

if d2=d1: k++

if d2=d3: k++

if d2=d4: k++

if d2=d5: k++

if d2=d6: k++

if k=2{

if d2==0: dd0=13: else: dd0=d2

if dd0>dd1: dd1=dd0

}

k=0

if d3=d0: k++

if d3=d1: k++

if d3=d2: k++

if d3=d4: k++

if d3=d5: k++

if d3=d6: k++

if k=2{

if d3==0: dd0=13: else: dd0=d3

if dd0>dd1: dd1=dd0

}

k=0

if d4=d0: k++

if d4=d1: k++

if d4=d2: k++

if d4=d3: k++

if d4=d5: k++

if d4=d6: k++

if k=2{

if d4==0: dd0=13: else: dd0=d4

if dd0>dd1: dd1=dd0

}

k=0

if d5=d0: k++

if d5=d1: k++

if d5=d2: k++

if d5=d3: k++

if d5=d4: k++

if d5=d6: k++

if k=2{

if d5==0: dd0=13: else: dd0=d5

if dd0>dd1: dd1=dd0

}

k=0

if d6=d0: k++

if d6=d1: k++

if d6=d2: k++

if d6=d3: k++

if d6=d4: k++

if d6=d5: k++

if k=2{

if d6==0: dd0=13: else: dd0=d6

if dd0>dd1: dd1=dd0

}

r0=dd1

return

#global

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

#module

#deffunc フォーカード array d00,int M0

mref r0,64

;--------------------------------------------------

if*3: r0=0: return

d2=d00.20\13: d3=d00.21\13: d4=d00.22\13: d5=d00.23\13: d6=d00.24\13

if M0=0: d0=d00.00\13: d1=d00.01\13

if M0=1: d0=d00.02\13: d1=d00.03\13

if M0=2: d0=d00.04\13: d1=d00.05\13

if M0=3: d0=d00.06\13: d1=d00.07\13

if M0=4: d0=d00.08\13: d1=d00.09\13

if M0=5: d0=d00.10\13: d1=d00.11\13

if M0=6: d0=d00.12\13: d1=d00.13\13

if M0=7: d0=d00.14\13: d1=d00.15\13

if M0=8: d0=d00.16\13: d1=d00.17\13

if M0=9: d0=d00.18\13: d1=d00.19\13

;--------------------------------------------------

dd0=0: dd1=0

k=0

if d0=d1: k++

if d0=d2: k++

if d0=d3: k++

if d0=d4: k++

if d0=d5: k++

if d0=d6: k++

if k=3{

if d0==0: dd0=13: else: dd0=d0

if dd0>dd1: dd1=dd0

r0=dd1: return

}

k=0

if d1=d0: k++

if d1=d2: k++

if d1=d3: k++

if d1=d4: k++

if d1=d5: k++

if d1=d6: k++

if k=3{

if d1==0: dd0=13: else: dd0=d1

if dd0>dd1: dd1=dd0

r0=dd1: return

}

k=0

if d2=d0: k++

if d2=d1: k++

if d2=d3: k++

if d2=d4: k++

if d2=d5: k++

if d2=d6: k++

if k=3{

if d2==0: dd0=13: else: dd0=d2

if dd0>dd1: dd1=dd0

r0=dd1: return

}

k=0

if d3=d0: k++

if d3=d1: k++

if d3=d2: k++

if d3=d4: k++

if d3=d5: k++

if d3=d6: k++

if k=3{

if d3==0: dd0=13: else: dd0=d3

if dd0>dd1: dd1=dd0

r0=dd1: return

}

k=0

if d4=d0: k++

if d4=d1: k++

if d4=d2: k++

if d4=d3: k++

if d4=d5: k++

if d4=d6: k++

if k=3{

if d4==0: dd0=13: else: dd0=d4

if dd0>dd1: dd1=dd0

r0=dd1: return

}

k=0

if d5=d0: k++

if d5=d1: k++

if d5=d2: k++

if d5=d3: k++

if d5=d4: k++

if d5=d6: k++

if k=3{

if d5==0: dd0=13: else: dd0=d5

if dd0>dd1: dd1=dd0

r0=dd1: return

}

k=0

if d6=d0: k++

if d6=d1: k++

if d6=d2: k++

if d6=d3: k++

if d6=d4: k++

if d6=d5: k++

if k=3{

if d6==0: dd0=13: else: dd0=d6

if dd0>dd1: dd1=dd0

r0=dd1: return

}

r0=0

return

#global

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

#module

#deffunc ストレートカード array d00,int M0

mref r0,64

;--------------------------------------------------

if*4: r0=0: return

d2=d00.20\13: d3=d00.21\13: d4=d00.22\13: d5=d00.23\13: d6=d00.24\13

if M0=0: d0=d00.00\13: d1=d00.01\13

if M0=1: d0=d00.02\13: d1=d00.03\13

if M0=2: d0=d00.04\13: d1=d00.05\13

if M0=3: d0=d00.06\13: d1=d00.07\13

if M0=4: d0=d00.08\13: d1=d00.09\13

if M0=5: d0=d00.10\13: d1=d00.11\13

if M0=6: d0=d00.12\13: d1=d00.13\13

if M0=7: d0=d00.14\13: d1=d00.15\13

if M0=8: d0=d00.16\13: d1=d00.17\13

if M0=9: d0=d00.18\13: d1=d00.19\13

;--------------------------------------------------

r0=0

k=0

if(d0=00 || d1=00 || d2=00 || d3=00 || d4=00 || d5=00 || d6=00): k++

if(d0=01 || d1=01 || d2=01 || d3=01 || d4=01 || d5=01 || d6=01): k++

if(d0=02 || d1=02 || d2=02 || d3=02 || d4=02 || d5=02 || d6=02): k++

if(d0=03 || d1=03 || d2=03 || d3=03 || d4=03 || d5=03 || d6=03): k++

if(d0=04 || d1=04 || d2=04 || d3=04 || d4=04 || d5=04 || d6=04): k++

if(k=5): r0=4

k=0

if(d0=01 || d1=01 || d2=01 || d3=01 || d4=01 || d5=01 || d6=01): k++

if(d0=02 || d1=02 || d2=02 || d3=02 || d4=02 || d5=02 || d6=02): k++

if(d0=03 || d1=03 || d2=03 || d3=03 || d4=03 || d5=03 || d6=03): k++

if(d0=04 || d1=04 || d2=04 || d3=04 || d4=04 || d5=04 || d6=04): k++

if(d0=05 || d1=05 || d2=05 || d3=05 || d4=05 || d5=05 || d6=05): k++

if(k=5): r0=5

k=0

if(d0=02 || d1=02 || d2=02 || d3=02 || d4=02 || d5=02 || d6=02): k++

if(d0=03 || d1=03 || d2=03 || d3=03 || d4=03 || d5=03 || d6=03): k++

if(d0=04 || d1=04 || d2=04 || d3=04 || d4=04 || d5=04 || d6=04): k++

if(d0=05 || d1=05 || d2=05 || d3=05 || d4=05 || d5=05 || d6=05): k++

if(d0=06 || d1=06 || d2=06 || d3=06 || d4=06 || d5=06 || d6=06): k++

if(k=5): r0=6

k=0

if(d0=03 || d1=03 || d2=03 || d3=03 || d4=03 || d5=03 || d6=03): k++

if(d0=04 || d1=04 || d2=04 || d3=04 || d4=04 || d5=04 || d6=04): k++

if(d0=05 || d1=05 || d2=05 || d3=05 || d4=05 || d5=05 || d6=05): k++

if(d0=06 || d1=06 || d2=06 || d3=06 || d4=06 || d5=06 || d6=06): k++

if(d0=07 || d1=07 || d2=07 || d3=07 || d4=07 || d5=07 || d6=07): k++

if(k=5): r0=7

k=0

if(d0=04 || d1=04 || d2=04 || d3=04 || d4=04 || d5=04 || d6=04): k++

if(d0=05 || d1=05 || d2=05 || d3=05 || d4=05 || d5=05 || d6=05): k++

if(d0=06 || d1=06 || d2=06 || d3=06 || d4=06 || d5=06 || d6=06): k++

if(d0=07 || d1=07 || d2=07 || d3=07 || d4=07 || d5=07 || d6=07): k++

if(d0=08 || d1=08 || d2=08 || d3=08 || d4=08 || d5=08 || d6=08): k++

if(k=5): r0=8

k=0

if(d0=05 || d1=05 || d2=05 || d3=05 || d4=05 || d5=05 || d6=05): k++

if(d0=06 || d1=06 || d2=06 || d3=06 || d4=06 || d5=06 || d6=06): k++

if(d0=07 || d1=07 || d2=07 || d3=07 || d4=07 || d5=07 || d6=07): k++

if(d0=08 || d1=08 || d2=08 || d3=08 || d4=08 || d5=08 || d6=08): k++

if(d0=09 || d1=09 || d2=09 || d3=09 || d4=09 || d5=09 || d6=09): k++

if(k=5): r0=9

k=0

if(d0=06 || d1=06 || d2=06 || d3=06 || d4=06 || d5=06 || d6=06): k++

if(d0=07 || d1=07 || d2=07 || d3=07 || d4=07 || d5=07 || d6=07): k++

if(d0=08 || d1=08 || d2=08 || d3=08 || d4=08 || d5=08 || d6=08): k++

if(d0=09 || d1=09 || d2=09 || d3=09 || d4=09 || d5=09 || d6=09): k++

if(d0=10 || d1=10 || d2=10 || d3=10 || d4=10 || d5=10 || d6=10): k++

if(k=5): r0=10

k=0

if(d0=07 || d1=07 || d2=07 || d3=07 || d4=07 || d5=07 || d6=07): k++

if(d0=08 || d1=08 || d2=08 || d3=08 || d4=08 || d5=08 || d6=08): k++

if(d0=09 || d1=09 || d2=09 || d3=09 || d4=09 || d5=09 || d6=09): k++

if(d0=10 || d1=10 || d2=10 || d3=10 || d4=10 || d5=10 || d6=10): k++

if(d0=11 || d1=11 || d2=11 || d3=11 || d4=11 || d5=11 || d6=11): k++

if(k=5): r0=11

k=0

if(d0=08 || d1=08 || d2=08 || d3=08 || d4=08 || d5=08 || d6=08): k++

if(d0=09 || d1=09 || d2=09 || d3=09 || d4=09 || d5=09 || d6=09): k++

if(d0=10 || d1=10 || d2=10 || d3=10 || d4=10 || d5=10 || d6=10): k++

if(d0=11 || d1=11 || d2=11 || d3=11 || d4=11 || d5=11 || d6=11): k++

if(d0=12 || d1=12 || d2=12 || d3=12 || d4=12 || d5=12 || d6=12): k++

if(k=5): r0=12

k=0

if(d0=09 || d1=09 || d2=09 || d3=09 || d4=09 || d5=09 || d6=09): k++

if(d0=10 || d1=10 || d2=10 || d3=10 || d4=10 || d5=10 || d6=10): k++

if(d0=11 || d1=11 || d2=11 || d3=11 || d4=11 || d5=11 || d6=11): k++

if(d0=12 || d1=12 || d2=12 || d3=12 || d4=12 || d5=12 || d6=12): k++

if(d0=00 || d1=00 || d2=00 || d3=00 || d4=00 || d5=00 || d6=00): k++

if(k=5): r0=13

return

#global

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

#module

#deffunc ツーペアーカード array d00,int M0

mref r0,64

;--------------------------------------------------

if*5: r0=0: return

d2=d00.20\13: d3=d00.21\13: d4=d00.22\13: d5=d00.23\13: d6=d00.24\13

if M0=0: d0=d00.00\13: d1=d00.01\13

if M0=1: d0=d00.02\13: d1=d00.03\13

if M0=2: d0=d00.04\13: d1=d00.05\13

if M0=3: d0=d00.06\13: d1=d00.07\13

if M0=4: d0=d00.08\13: d1=d00.09\13

if M0=5: d0=d00.10\13: d1=d00.11\13

if M0=6: d0=d00.12\13: d1=d00.13\13

if M0=7: d0=d00.14\13: d1=d00.15\13

if M0=8: d0=d00.16\13: d1=d00.17\13

if M0=9: d0=d00.18\13: d1=d00.19\13

;--------------------------------------------------

f0=0: dim dd0,6

k=0

if d0=d1: k++

if d0=d2: k++

if d0=d3: k++

if d0=d4: k++

if d0=d5: k++

if d0=d6: k++

if k=1: f0++: dd0.0=d0: if dd0.0=0: dd0.0=13

k=0

if d1=d2: k++

if d1=d3: k++

if d1=d4: k++

if d1=d5: k++

if d1=d6: k++

if k=1: f0++: dd0.1=d1: if dd0.1=0: dd0.1=13

k=0

if d2=d3: k++

if d2=d4: k++

if d2=d5: k++

if d2=d6: k++

if k=1: f0++: dd0.2=d2: if dd0.2=0: dd0.2=13

k=0

if d3=d4: k++

if d3=d5: k++

if d3=d6: k++

if k=1: f0++: dd0.3=d3: if dd0.3=0: dd0.3=13

k=0

if d4=d5: k++

if d4=d6: k++

if k=1: f0++: dd0.4=d4: if dd0.4=0: dd0.4=13

k=0

if d5=d6: k++

if k=1: f0++: dd0.5=d5: if dd0.5=0: dd0.5=13

;--------------------------------------------------

if f0<2: r0=0: return

dx0=0: repeat 6: if dd0.cnt>dx0: dx0=dd0.cnt; 先頭から1番目のカードの採点

loop

dx1=0: repeat 6: if dd0.cnt<dx0: if dd0.cnt>dx1: dx1=dd0.cnt; 先頭から2番目のカードの採点

loop

r0=int(strf("%02d",dx0)+strf("%02d",dx1))

return

#global

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

#module

#deffunc フラッシュカード array d00,int M0; 採点は頭だけでなく後半のカードも採点するべきだ

mref r0,64

;--------------------------------------------------

if*6: r0=0: return

d2=d00.20/13: d3=d00.21/13: d4=d00.22/13: d5=d00.23/13: d6=d00.24/13

e2=d00.20\13: e3=d00.21\13: e4=d00.22\13: e5=d00.23\13: e6=d00.24\13

if M0=0: d0=d00.00/13: d1=d00.01/13: e0=d00.00\13: e1=d00.01\13

if M0=1: d0=d00.02/13: d1=d00.03/13: e0=d00.02\13: e1=d00.03\13

if M0=2: d0=d00.04/13: d1=d00.05/13: e0=d00.04\13: e1=d00.05\13

if M0=3: d0=d00.06/13: d1=d00.07/13: e0=d00.06\13: e1=d00.07\13

if M0=4: d0=d00.08/13: d1=d00.09/13: e0=d00.08\13: e1=d00.09\13

if M0=5: d0=d00.10/13: d1=d00.11/13: e0=d00.10\13: e1=d00.11\13

if M0=6: d0=d00.12/13: d1=d00.13/13: e0=d00.12\13: e1=d00.13\13

if M0=7: d0=d00.14/13: d1=d00.15/13: e0=d00.14\13: e1=d00.15\13

if M0=8: d0=d00.16/13: d1=d00.17/13: e0=d00.16\13: e1=d00.17\13

if M0=9: d0=d00.18/13: d1=d00.19/13: e0=d00.18\13: e1=d00.19\13

;--------------------------------------------------

dd=0: dim dd0,7

k=0: dd0.k=e0: if dd0.k=0: dd0.k=13

if d0=d1: k++: dd0.k=e1: if dd0.k=0: dd0.k=13

if d0=d2: k++: dd0.k=e2: if dd0.k=0: dd0.k=13

if d0=d3: k++: dd0.k=e3: if dd0.k=0: dd0.k=13

if d0=d4: k++: dd0.k=e4: if dd0.k=0: dd0.k=13

if d0=d5: k++: dd0.k=e5: if dd0.k=0: dd0.k=13

if d0=d6: k++: dd0.k=e6: if dd0.k=0: dd0.k=13

if k>=4: goto *@f

k=0: dd0.k=e1: if dd0.k=0: dd0.k=13

if d1=d0: k++: dd0.k=e0: if dd0.k=0: dd0.k=13

if d1=d2: k++: dd0.k=e2: if dd0.k=0: dd0.k=13

if d1=d3: k++: dd0.k=e3: if dd0.k=0: dd0.k=13

if d1=d4: k++: dd0.k=e4: if dd0.k=0: dd0.k=13

if d1=d5: k++: dd0.k=e5: if dd0.k=0: dd0.k=13

if d1=d6: k++: dd0.k=e6: if dd0.k=0: dd0.k=13

if k>=4: dd=e1: goto *@f

k=0: dd0.k=e2: if dd0.k=0: dd0.k=13

if d2=d0: k++: dd0.k=e0: if dd0.k=0: dd0.k=13

if d2=d1: k++: dd0.k=e1: if dd0.k=0: dd0.k=13

if d2=d3: k++: dd0.k=e3: if dd0.k=0: dd0.k=13

if d2=d4: k++: dd0.k=e4: if dd0.k=0: dd0.k=13

if d2=d5: k++: dd0.k=e5: if dd0.k=0: dd0.k=13

if d2=d6: k++: dd0.k=e6: if dd0.k=0: dd0.k=13

if k>=4: dd=e2: goto *@f

k=0: dd0.k=e3: if dd0.k=0: dd0.k=13

if d3=d0: k++: dd0.k=e0: if dd0.k=0: dd0.k=13

if d3=d1: k++: dd0.k=e1: if dd0.k=0: dd0.k=13

if d3=d2: k++: dd0.k=e2: if dd0.k=0: dd0.k=13

if d3=d4: k++: dd0.k=e4: if dd0.k=0: dd0.k=13

if d3=d5: k++: dd0.k=e5: if dd0.k=0: dd0.k=13

if d3=d6: k++: dd0.k=e6: if dd0.k=0: dd0.k=13

if k>=4: dd=e3: goto *@f

k=0: dd0.k=e4: if dd0.k=0: dd0.k=13

if d4=d0: k++: dd0.k=e0: if dd0.k=0: dd0.k=13

if d4=d1: k++: dd0.k=e1: if dd0.k=0: dd0.k=13

if d4=d2: k++: dd0.k=e2: if dd0.k=0: dd0.k=13

if d4=d3: k++: dd0.k=e3: if dd0.k=0: dd0.k=13

if d4=d5: k++: dd0.k=e5: if dd0.k=0: dd0.k=13

if d4=d6: k++: dd0.k=e6: if dd0.k=0: dd0.k=13

if k>=4: dd=e4: goto *@f

k=0: dd0.k=e5: if dd0.k=0: dd0.k=13

if d5=d0: k++: dd0.k=e0: if dd0.k=0: dd0.k=13

if d5=d1: k++: dd0.k=e1: if dd0.k=0: dd0.k=13

if d5=d2: k++: dd0.k=e2: if dd0.k=0: dd0.k=13

if d5=d3: k++: dd0.k=e3: if dd0.k=0: dd0.k=13

if d5=d4: k++: dd0.k=e4: if dd0.k=0: dd0.k=13

if d5=d6: k++: dd0.k=e6: if dd0.k=0: dd0.k=13

if k>=4: dd=e5: goto *@f

k=0: dd0.k=e6: if dd0.k=0: dd0.k=13

if d6=d0: k++: dd0.k=e0: if dd0.k=0: dd0.k=13

if d6=d1: k++: dd0.k=e1: if dd0.k=0: dd0.k=13

if d6=d2: k++: dd0.k=e2: if dd0.k=0: dd0.k=13

if d6=d3: k++: dd0.k=e3: if dd0.k=0: dd0.k=13

if d6=d4: k++: dd0.k=e4: if dd0.k=0: dd0.k=13

if d6=d5: k++: dd0.k=e5: if dd0.k=0: dd0.k=13

if k>=4: dd=e6: goto *@f

r0=0

return

;-------------------------------------------------

@ 12:58

dx0=0: repeat 7: if dd0.cnt>dx0: dx0=dd0.cnt; 先頭から1番目のカードの採点

loop

dx1=0: repeat 7: if dd0.cnt<dx0: if dd0.cnt>dx1: dx1=dd0.cnt; 先頭から2番目のカードの採点

loop

dx2=0: repeat 7: if dd0.cnt<dx1: if dd0.cnt>dx2: dx2=dd0.cnt; 先頭から3番目のカードの採点

loop

dx3=0: repeat 7: if dd0.cnt<dx2: if dd0.cnt>dx3: dx3=dd0.cnt; 先頭から4番目のカードの採点

loop

dx4=0: repeat 7: if dd0.cnt<dx3: if dd0.cnt>dx4: dx4=dd0.cnt; 先頭から5番目のカードの採点

loop

r0=int(strf("%02d",dx0)+strf("%02d",dx1)+strf("%02d",dx2)+strf("%02d",dx3)+strf("%02d",dx4))

return

#global

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

#module

#deffunc フルハウス array d00,int M0

mref r0,64

;--------------------------------------------------

if*7: r0=0: return

d2=d00.20\13: d3=d00.21\13: d4=d00.22\13: d5=d00.23\13: d6=d00.24\13

if M0=0: d0=d00.00\13: d1=d00.01\13

if M0=1: d0=d00.02\13: d1=d00.03\13

if M0=2: d0=d00.04\13: d1=d00.05\13

if M0=3: d0=d00.06\13: d1=d00.07\13

if M0=4: d0=d00.08\13: d1=d00.09\13

if M0=5: d0=d00.10\13: d1=d00.11\13

if M0=6: d0=d00.12\13: d1=d00.13\13

if M0=7: d0=d00.14\13: d1=d00.15\13

if M0=8: d0=d00.16\13: d1=d00.17\13

if M0=9: d0=d00.18\13: d1=d00.19\13

;--------------------------------------------------

f0=0: f1=0: dim dd0,6: dim dd1,6

k=0

if d0=d1: k++

if d0=d2: k++

if d0=d3: k++

if d0=d4: k++

if d0=d5: k++

if d0=d6: k++

if k=1: f0+: dd0.0=d0: if dd0.0=0: dd0.0=13

if k=2: f1+: dd1.0=d0: if dd1.0=0: dd1.0=13

k=0

if d1=d0: k++

if d1=d2: k++

if d1=d3: k++

if d1=d4: k++

if d1=d5: k++

if d1=d6: k++

if k=1: f0+: dd0.1=d1: if dd0.1=0: dd0.1=13

if k=2: f1+: dd1.1=d1: if dd1.1=0: dd1.1=13

k=0

if d2=d1: k++

if d2=d0: k++

if d2=d3: k++

if d2=d4: k++

if d2=d5: k++

if d2=d6: k++

if k=1: f0+: dd0.2=d2: if dd0.2=0: dd0.2=13

if k=2: f1+: dd1.2=d2: if dd1.2=0: dd1.2=13

k=0

if d3=d1: k++

if d3=d2: k++

if d3=d0: k++

if d3=d4: k++

if d3=d5: k++

if d3=d6: k++

if k=1: f0+: dd0.3=d3: if dd0.3=0: dd0.3=13

if k=2: f1+: dd1.3=d3: if dd1.3=0: dd1.3=13

k=0

if d4=d1: k++

if d4=d2: k++

if d4=d3: k++

if d4=d0: k++

if d4=d5: k++

if d4=d6: k++

if k=1: f0+: dd0.4=d4: if dd0.4=0: dd0.4=13

if k=2: f1+: dd1.4=d4: if dd1.4=0: dd1.4=13

k=0

if d5=d1: k++

if d5=d2: k++

if d5=d3: k++

if d5=d4: k++

if d5=d0: k++

if d5=d6: k++

if k=1: f0+: dd0.5=d5: if dd0.5=0: dd0.5=13

if k=2: f1+: dd1.5=d5: if dd1.5=0: dd1.5=13

k=0

if d6=d1: k++

if d6=d2: k++

if d6=d3: k++

if d6=d4: k++

if d6=d5: k++

if d6=d0: k++

if k=1: f0+: dd0.6=d6: if dd0.6=0: dd0.6=13

if k=2: f1+: dd1.6=d6: if dd1.6=0: dd1.6=13

;--------------------------------------------------

if f0<1: r0=0: return

if f1<2: r0=0: return

dx0=0: repeat 6: if dd1.cnt>dx0: dx0=dd1.cnt; 先頭から1番目のカードの採点

loop

dx1=0: repeat 6: if dd0.cnt>dx1: dx1=dd0.cnt; 先頭から1番目のカードの採点

loop

r0=int(strf("%02d",dx0)+strf("%02d",dx1))

return

#global

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

#module

#deffunc ロイヤルカード array d00,int M0

mref r0,64

;--------------------------------------------------

if*8: r0=0: return

d2=d00.20\13: d3=d00.21\13: d4=d00.22\13: d5=d00.23\13: d6=d00.24\13

if M0=0: d0=d00.00\13: d1=d00.01\13

if M0=1: d0=d00.02\13: d1=d00.03\13

if M0=2: d0=d00.04\13: d1=d00.05\13

if M0=3: d0=d00.06\13: d1=d00.07\13

if M0=4: d0=d00.08\13: d1=d00.09\13

if M0=5: d0=d00.10\13: d1=d00.11\13

if M0=6: d0=d00.12\13: d1=d00.13\13

if M0=7: d0=d00.14\13: d1=d00.15\13

if M0=8: d0=d00.16\13: d1=d00.17\13

if M0=9: d0=d00.18\13: d1=d00.19\13

;--------------------------------------------------

k=0

if(d0=00 || d1=00 || d2=00 || d3=00 || d4=00 || d5=00 || d6=00): k++

if(d0=09 || d1=09 || d2=09 || d3=09 || d4=09 || d5=09 || d6=09): k++

if(d0=10 || d1=10 || d2=10 || d3=10 || d4=10 || d5=10 || d6=10): k++

if(d0=11 || d1=11 || d2=11 || d3=11 || d4=11 || d5=11 || d6=11): k++

if(d0=12 || d1=12 || d2=12 || d3=12 || d4=12 || d5=12 || d6=12): k++

if(k=5): r0=1: return

r0=0

return

#global

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

#module

#deffunc ノーペアーカード array d00,int M0

mref r0,64

;--------------------------------------------------

if*9: r0=0: return

d0=d00.00\13: d1=d00.01\13

if M0=0: d0=d00.00\13: d1=d00.01\13

if M0=1: d0=d00.02\13: d1=d00.03\13

if M0=2: d0=d00.04\13: d1=d00.05\13

if M0=3: d0=d00.06\13: d1=d00.07\13

if M0=4: d0=d00.08\13: d1=d00.09\13

if M0=5: d0=d00.10\13: d1=d00.11\13

if M0=6: d0=d00.12\13: d1=d00.13\13

if M0=7: d0=d00.14\13: d1=d00.15\13

if M0=8: d0=d00.16\13: d1=d00.17\13

if M0=9: d0=d00.18\13: d1=d00.19\13

;--------------------------------------------------

if d0=0: d0=13

if d1=0: d1=13

if d0>d1: r0=int(strf("%02d",d0)+strf("%02d",d1))

if d1>d0: r0=int(strf("%02d",d1)+strf("%02d",d0))

return

#global

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

#module

#deffunc ポーカ役判定 array d00; 持ち札に揃ったのでない役には、自分のカードの採点が無い ???????????????????

mref r0,64

mref r1,65

;--------------------------------------------------

r0=0: f0=0: f1=0: f2=0: f3=0: f4=0: f5=0: f6=0: f7=0: f8=0

ワンペアーカード d00,0: f0=stat; 1,2桁

ツーペアーカード d00,0: f1=stat; 3,4桁

スリーカード d00,0: f2=stat; 1,2桁

ストレートカード d00,0: f3=stat; 1,2桁

フラッシュカード d00,0: f4=stat; 9,10桁

フルハウス d00,0: f5=stat; 3,4桁

フォーカード d00,0: f6=stat; 1,2桁

ロイヤルカード d00,0: f7=stat; 1桁

ノーペアーカード d00,0: f8=stat; 3,4桁

if f0>0: r0=f0: r1="ワンペアー"

if f1>0: r0=f1: r1="ツーペアー"

if f2>0: r0=f2: r1="スリー"

if f3>0: r0=f3: r1="ストレート"

if f4>0: r0=f4: r1="フラッシュ"

if f5>0: r0=f5: r1="フルハウス"

if f6>0: r0=f6: r1="フォーカード"

if(f4>0 && f3>0): r0=f3: r1="ストレートフラッシュ"

if(f7>0 && f4>0 && f3>0): r0=f7: r1="ロイヤルフラッシュ"

if*10: r0=f8: r1="ノーペアー"

return

#global

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

dim d00,52: sdim ss,100

randomize: buffer 6,546,232: picload "tp.gif"

screen 0,588,174,0: cls 3: title "ポーカ確率計算 Ver 1.02"

マーク全表示

@ 12:58

オールカード切 d00: カード全表示 d00: ポーカ役判定 d00: title ""+refstr+"("+stat+")"

bk00 12:58

await 1: getkey D0,1: if D0==1: goto *bk00

goto *@b

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

*1:M0<0)||(M0>9

*2:M0<0)||(M0>9

*3:M0<0)||(M0>9

*4:M0<0)||(M0>9

*5:M0<0)||(M0>9

*6:M0<0)||(M0>9

*7:M0<0)||(M0>9

*8:M0<0)||(M0>9

*9:M0<0)||(M0>9

*10:f0=0)&&(f1=0)&&(f2=0)&&(f3=0)&&(f4=0)&&(f5=0)&&(f6=0)&&(f7=0

2012-02-27 全日本無料大会で8位でした。

f:id:hanmaiwao:20120227100314g:image

ポーカーの試合(全日本大会)で8位でした。

40ドル賞金いただきました、有難う御座います。