Casio50 » fx-3x50P » Programs 程式集 » Games 遊戲 »

Blackjack Pro
廿一點

遊戲目的: 與莊家競賽, 使手上的點數和最近 21 而不過之.

<COMP>
Lbl 1 : Norm1 : M ◢
? → X : .1 → C :
Fix0 : 10 Ran# + .5 : Rnd : Ans → A ◢
A = 1 => .2 → C => 11 → A :
0 → B : 2.1 → Y :
Lbl 2 : 10 Ran# + .5 : Rnd : Ans → D ◢
D = 1 => 1 + C → C => 11 → D :
D + B → B : B > 21 => Goto 3 :
Lbl 4 : B = 21 => Goto 8 : B ◢
Y – 1 → Y : Y > 1 => Goto 2 :
Y = .2 => Goto 5 : Y ≥ .3 => Goto 6 :
? → Y : Y = 2 => 2 X → X => 1.2 → Y :
Y => Goto 2 : Goto 5 :
Lbl 3 : C ≥ 1 => B – 10 → B => C – 1 → C => Goto 4 :
Y ≥ 1.3 => Goto 6 :
2 X M– : B ◢
Lbl 5 : Y = 1.1 => 1.5 X → X :
C – .1 : Rnd : .01 B + 10 ( C – .1 – Ans → C :
A → B : 1.3 ° → Y ◢
- X → X : Goto 2 :
Lbl 6 : 17 > B => 1.3 → Y => Goto 2 :
C : Rnd : 10 2 ( C – Ans → A :
B > 21 => 2 X M– : B > A => X M+ : A > B => X M– : Goto 1 :
Lbl 8 : 1.2 ≥ Y => Goto 5 : Goto 6
338 Bytes

操作方法

一般操作 例子
啟動程式 Prog 1
顯示目前剩餘金額
m EXE
[M] 0 EXE
(例)
輸入賭注
b EXE
[X?] 100 EXE
顯示莊家 (Dealer / House) 第一張牌
d1 EXE
[Ans→A] 6 EXE
顯示玩家第一張牌及當時的總和
p1 EXE P EXE
[Ans→D] 1 EXE
[B] 11 EXE
顯示玩家第二張牌及當時的總和
p2 EXE P EXE
[Ans→D] 1 EXE
[B] 12 EXE

輸入想做的動作.

  • 0 = 不再要牌 (Stand)
  • 1 = 要多一張牌 (Hit)
  • 2 = 雙倍下注並只要多一張牌 (Doubling Down)

α EXE

[Y?] 1 EXE
繼續顯示玩家之後張牌及當時的總和, 及要求輸入動作... [Ans→D] 5 EXE [B] 17 EXE
[Y?] 0 EXE
顯示「1°18°0」, 表示到莊家拿牌.
1°18°0 EXE
[1.3°→Y] 1°18°0 EXE
顯示莊家之後張牌及當時的總和... [Ans→D] 3 EXE [B] 9 EXE
[Ans→D] 9 EXE [B] 18 EXE
顯示目前剩餘金額
m EXE
[M] -100 EXE
回到第2步

記憶體

A P
B D
C P / 100 + AD
D d-1
X - bM
Y 0.3
M m

其他資料

牌面「1」代表「A」、「2」代表「2」, 如此類推, 而「10」則代表「10」、「J」、「Q」和「K」.

若玩家首兩張牌便得 21 點 (Blackjack) 且勝則得 1.5 倍賠率.

莊家必須在其點數低於 17 時拿牌, 高於或等於時停止.

本程式不設分列 (Pair Splitting) 或保險 (Insurance).

本程式抽得「10」的機會率可較正式的為低.

若玩家「爆」(超過 21 點) (Bust) 則會自動到莊家拿牌.

若玩家與莊家皆「爆」可能不會當和.

「五龍」(連拿五隻牌都不「爆」) (Charlies) 不會當成自動勝出.

有時候點數總和並不會顯示.