import numpy as np
class mono:
def makedata(self):
self.a[self.mode]=self.a[self.mode]+self.dice()
if self.a[self.mode]>40:
self.a[self.mode]=self.a[self.mode]-40
self.m[self.mode]=self.m[self.mode]+200
self.sell(self.mode,self.a[self.mode])
self.buy(self.mode,self.a[self.mode])
self.mode=self.mode+1
if self.mode>3:
self.mode=0
def dice(self):
d=[1,2,3,4,5,6]
d1=np.random.choice(d)
d2=np.random.choice(d)
return d1+d2
def sell(self,m1,x1):
se=[2,4,7,9,10,12,14,15,17,19,20,22,24,25,27,28,30,32,33,35,38,40]
for b1 in se:
if x1==b1:
self.subsell(m1,x1)
def subsell(self,m1,x1):
q=self.x[x1]
if q>0:
self.m[m1]=self.m[m1]-self.rent[x1]
self.m[q]=self.m[q]+self.rent[x1]
def buy(self,m1,x1):
b=[2,4,7,9,10,12,14,15,17,19,20,22,24,25,27,28,30,32,33,35,38,40]
for b1 in b:
if x1==b1:
self.subbuy(m1,x1)
def subbuy(self,m1,x1):
if self.x[x1]==0:
self.x[x1]=m1
self.m[m1]=self.m[m1]-self.price[x1]
import mono
price=[0,0,60,0,60,0,200,100,0,100,120,0,140,150,140,160,200,180,0,180,200,0,220,0,220,240,200,260,260,150,280,0,300,300,0,320,200,0,350,0,400,0]
rent=[0]
for i in range(40):
rent.append(0)
rent[ 2 ]= 2
rent[ 4 ]= 4
rent[ 7 ]= 6
rent[ 9 ]= 6
rent[ 10 ]= 8
rent[ 12 ]= 10
rent[ 14 ]= 10
rent[ 15 ]= 12
rent[ 17 ]= 14
rent[ 19 ]= 14
rent[ 20 ]= 16
rent[ 22 ]= 18
rent[ 24 ]= 18
rent[ 25 ]= 20
rent[ 27 ]= 22
rent[ 28 ]= 22
rent[ 30 ]= 24
rent[ 32 ]= 26
rent[ 33 ]= 26
rent[ 35 ]= 28
rent[ 38 ]= 35
rent[ 40 ]= 50
card=[""]
for i in range(40):
card.append("")
card[1]="GO"
card[2]="地中海通り"
card[3]="共同基金"
card[4]="バルティック通り"
card[5]="所得税"
card[6]="リーディング鉄道"
card[7]="オリエンタル通り"
card[8]="チャンス"
card[9]="バーモント通り"
card[10]="コネチカット通り"
card[11]="刑務所、刑務所見学"
card[12]="セントチャールズプレース"
card[13]="電力会社"
card[14]="ステーツ通り"
card[15]="バージニア通り"
card[16]="ペンシルバニア鉄道"
card[17]="セントジェームスプレース"
card[18]="共同基金"
card[19]="テネシー通り"
card[20]="ニューヨーク通り"
card[21]="フリーパーキング"
card[22]="ケンタッキー通り"
card[23]="チャンス"
card[24]="インディアナ通り"
card[25]="イリノイ通り"
card[26]="B&O 鉄道"
card[27]="アトランティック通り"
card[28]="ベントノール通り"
card[29]="水道会社"
card[30]="マービンガーデン"
card[31]="GO TO JAIL"
card[32]="パシフィック通り"
card[33]="ノースキャロライナ通り"
card[34]="共同基金"
card[35]="ペンシルバニア通り"
card[36]="ショートライン鉄道"
card[37]="チャンス"
card[38]="パークプレース"
card[39]="物品税"
card[40]="ボードウォーク"
def dice():
d=[1,2,3,4,5,6]
d1=np.random.choice(d)
d2=np.random.choice(d)
return d1+d2
def sell(m1,x1):
se=[2,4,7,9,10,12,14,15,17,19,20,22,24,25,27,28,30,32,33,35,38,40]
for b1 in se:
if x1==b1:
subsell(m1,x1)
def subsell(m1,x1):
q=x[x1]
if q>0:
m[m1]=m[m1]-rent[x1]
m[q]=m[q]+rent[x1]
def buy(m1,x1):
b=[2,4,7,9,10,12,14,15,17,19,20,22,24,25,27,28,30,32,33,35,38,40]
for b1 in b:
if x1==b1:
subbuy(m1,x1)
def subbuy(m1,x1):
if x[x1]==0:
x[x1]=m1
m[m1]=m[m1]-price[x1]
mode=0
a=[1,1,1,1]
m=[1500,1500,1500,1500]
x=[]
for i in range(41):
x.append(0)
game=0
while game<100:
game=game+1
sub=mono.mono()
sub.price=price
sub.rent=rent
sub.m=m
sub.a=a
sub.x=x
sub.mode=mode
sub.makedata()
mode=sub.mode
x=sub.x
m=sub.m
a=sub.a
最終更新:2018年01月23日 15:03