-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbakara.py
173 lines (158 loc) · 6.84 KB
/
bakara.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
import random
def draw(deck):
card=deck.pop()
return card
def calc(hand):
s =0
for card in hand:
if 9<card[1]:
s+=0
else:
s+=card[1]
return s
def make_deck():
deck =[]
marks =["♡","♤","♢","♧"]
for mark in marks:
for kazu in range(1,14):
deck.append([mark,kazu])
random.shuffle(deck)
return deck
mydict = {"player":2, "banker":1.95, "tie":9} #倍率計算
deck = make_deck()
player =[]
banker =[]
money = 1000
while True :
print("現在の所持金は"+str(money)+"円です。")
if money<=0:
print("所持金は0円になりました。")
break
predict = int(input("[誰に賭けますか?プレイヤー;0、バンカー;1、引き分け;2]"))
bet = int(input("いくら賭けますか?"))
if money<bet:
bet = money
print("全財産を賭け金とします。")
money-=bet
if len(deck)<=10:
deck = make_deck()
#プレーヤー・バンカーの順番で2枚ずつ交互に配布
for i in range(2):
player.append(draw(deck))
banker.append(draw(deck))
print(player)
print(banker)
pghyouka = (int(str(calc(player))[-1]))
bghyouka = (int(str(calc(banker))[-1]))
print(pghyouka)
print(bghyouka)
#プレーヤーの合計 (1の位のみ)がどれに当てはまるかを見て2枚または3枚のプレーヤーの値を決める。
if 8<=pghyouka<10 or 8<=bghyouka<10: #プレーヤーの合計 8・9 勝負判定
if pghyouka>bghyouka:
result="player"
elif pghyouka<bghyouka:
result="banker"
elif pghyouka==bghyouka:
result="tie"
else:
if pghyouka>bghyouka:
result="player"
elif pghyouka<bghyouka:
result="banker"
elif pghyouka==bghyouka:
result="tie"
elif 6<=pghyouka<8 and bghyouka<6: #プレーヤーの合計6・7 もう引かない
banker.append(draw(deck)) #プレーヤーが2枚目で終了の場合、バンカーが、0~5の場合はバンカーはもう一枚引く。
print("バンカーの2枚での合計が、0~5でバンカーはもう一枚引く。")
print(banker)
print((int(str(calc(banker))[-1])))
if pghyouka>(int(str(calc(banker))[-1])):
result="player"
elif pghyouka<(int(str(calc(banker))[-1])):
result="banker"
elif pghyouka==(int(str(calc(banker))[-1])):
result="tie"
else:
if pghyouka>(int(str(calc(banker))[-1])):
result="player"
elif pghyouka<(int(str(calc(banker))[-1])):
result="banker"
elif pghyouka==(int(str(calc(banker))[-1])):
result="tie"
elif pghyouka<6: #プレーヤーの2枚での合計が0~5
player.append(draw(deck))#もう一枚引く、プレーヤーが3枚目で終了の場合
print("プレーヤーの2枚での合計が0~5でプレイヤーはもう一枚引く")
print(player)
print((int(str(calc(player))[-1])))
if bghyouka<3: #バンカー0〜2
banker.append(draw(deck))
print("バンカーの2枚での合計が0〜2で、バンカーはもう一枚引く")
print(banker)
print((int(str(calc(banker))[-1])))
if (int(str(calc(player))[-1]))>(int(str(calc(banker))[-1])):
result="player"
elif (int(str(calc(player))[-1]))<(int(str(calc(banker))[-1])):
result="banker"
elif (int(str(calc(player))[-1]))==(int(str(calc(banker))[-1])):
result="tie"
elif bghyouka ==3 and 0<=pghyouka<8: #バンカー3(プレイヤーの3枚目が0〜7の時はバンカーはもう一枚引く)
banker.append(draw(deck))
print("banker3のルールでバンカーがもう一枚引く")
print(banker)
print((int(str(calc(banker))[-1])))
if (int(str(calc(player))[-1]))>(int(str(calc(banker))[-1])):
result="player"
elif (int(str(calc(player))[-1]))<(int(str(calc(banker))[-1])):
result="banker"
elif (int(str(calc(player))[-1]))==(int(str(calc(banker))[-1])):
result="tie"
elif bghyouka ==4 and 2<=pghyouka<8: #バンカー4(プレイヤー3枚目が2〜7の時はバンカーはもう一枚引く)
banker.append(draw(deck))
print("バンカー3のルールでバンカーがもう一枚引く")
print(banker)
print((int(str(calc(banker))[-1])))
if (int(str(calc(player))[-1]))>(int(str(calc(banker))[-1])):
result="player"
elif (int(str(calc(player))[-1]))<(int(str(calc(banker))[-1])):
result="banker"
elif (int(str(calc(player))[-1]))==(int(str(calc(banker))[-1])):
result="tie"
elif bghyouka ==5 and 4<=pghyouka<8: #バンカ−5(プレイヤーの3枚目が4〜7の時はバンカーはもう一枚引く)
banker.append(draw(deck))
print("バンカー5のルールでバンカーがもう一枚引く")
print(banker)
print(((int(str(calc(banker))[-1]))))
if (int(str(calc(player))[-1]))>((int(str(calc(banker))[-1]))):
result="player"
elif (int(str(calc(player))[-1]))<((int(str(calc(banker))[-1]))):
result="banker"
elif (int(str(calc(player))[-1]))==((int(str(calc(banker))[-1]))):
result="tie"
elif bghyouka ==6 and 6<=pghyouka<8: #バンカー6(プレイヤー3枚目が6、7の時バンカーはもう一枚引く)
banker.append(draw(deck))
print("バンカー6のルールでバンカーがもう一枚引く")
print(banker)
print(((int(str(calc(banker))[-1]))))
if (int(str(calc(player))[-1]))>((int(str(calc(banker))[-1]))):
result="player"
elif (int(str(calc(player))[-1]))<((int(str(calc(banker))[-1]))):
result="banker"
elif (int(str(calc(player))[-1]))==((int(str(calc(banker))[-1]))):
result="tie"
else:
if (int(str(calc(player))[-1]))>bghyouka:
result="player"
elif (int(str(calc(player))[-1]))<bghyouka:
result="banker"
elif (int(str(calc(player))[-1]))==bghyouka:
result="tie"
else:
if pghyouka>bghyouka:
result="player"
elif pghyouka<bghyouka:
result="banker"
elif pghyouka==bghyouka:
result="tie"
if result ==
player.clear()
banker.clear()