Python實驗 大富翁(偽)

2021-10-11 05:25:36 字數 2724 閱讀 6451

# 規則

'''1、遊戲開始

每位玩家有1500元作為資產或每位玩家有15000元作為資產

2、擲骰

每次同時擲出兩顆骰子,兩顆骰子的點數相同的話可以多乙個回合,若在此回合入獄,則多出來的回合取消。連續三次點數相同直接入獄。

3、物業

玩家到達無人擁有的地皮,玩家可選擇要不要購買。如不買則銀行立刻拍賣之。銀行的錢是無限,但建築物有限(32間房子及12間旅館)。玩家之間可以進行金錢、物業和保釋卡之間的交易。

4、房子與旅館

如擁有全部同色未抵押地皮,則可以在任何玩家擲骰前選擇蓋房子,因擲出相同點數而得額外的回合除外。房子必須蓋在同組中目前房子最少的地上,也就是說房子得平均地蓋。

5、套取現金

玩家可以半價把房子賣給銀行,賣的時候依然得保持同色地房子數量的平均,也就是說得賣房子最多的地。玩家可在任何玩家擲骰前贖回地皮,因擲出相同點數而得額外的回合除外。贖地時要加付抵押值10%的利息,遇小數無條件進入。

6、交易

在任何時間,玩家可與對手交易沒有建築物的地皮,先商談的交易先處理。玩家間不得借貸。

7、入獄

入獄時仍可以收租、蓋房子或是交易,只是不能移動。入獄時,玩家可在擲骰前選擇用監獄通行證或是付50元罰金以馬上出獄。在入獄時,唯有擲出相同的點數才能移動(出獄),此時並不會有額外的回合。

8、破產

如在賣出或抵押所有資產後仍無足夠的現金以支付債務,則玩家宣告破產。所有資產直接轉讓給債主,其已抵押地皮轉讓給債主時,債主要馬上付抵押值10%的交易稅。

9、勝利條件

最後一位沒有破產的玩家得勝。限時結束時,總資產最高者得勝。

'''import random

import time

event = ["起點","北京","上海","廣州","深圳","向前五步","天津","成都","西安","重慶","向後兩步","石家莊","幸運","監獄","瀋陽","大連","炸彈","哈爾濱","齊齊哈爾"]

city = ["北京","上海","廣州","深圳","天津","成都","西安","重慶","瀋陽","大連","哈爾濱","齊齊哈爾"]

def dice():

point = random.randint(1, 6)

#point = random.randint(2, 12)

return point

def city_event(people,i):

people[i]["num"] = people[i]["num"] + dice()

event = event[people[i]["num"]%len(event)]

if event in city:

if event in people[(i+1)%3]["city"] or event in people[(i+2)%3]["city"]:

people[i]["money"]=people[i]["money"]-500

print("{}花費過路費500".format(people[i]["name"]))

else:

people[i]["money"] = people[i]["money"] - 2000

people[i]["city"] = people[i]["city"] + event

print("{}花費2000買了城市{}".format(people[i]["name"],event))

return people

def checkboardinit():

checkboard =

for i in event:

def personinit(num):

name = ["李華","小玲","小明","小紅"]

people =

for i in range(0,num):

person =

name.remove(person["name"])

return people

def trigger_event(person):

point = dice()

person["num"] = person["num"]+point

print("{}擲骰子擲出了{},當前點數變為{}".format(person["name"],point,person["num"]))

print("{}當前錢數為{}".format(person["name"],person["money"]))

#person["num"] = person["num"]+point

if person["num"]%3 ==0:

person["money"] = person["money"]+10000

elif person["num"]%3 == 1:

person["money"] = person["money"] - 1100

elif person["num"]%3 == 2:

person["money"] = person["money"] - 9000

return person

people =

people = personinit(3)

while true:

for i in range(0, 3):

time.sleep(1)

if people[i]["money"]<0:

continue

else:

city_event(people,i)

尋找大富翁

015年胡潤研究院的調查顯示,截至2014年9月,個人資產在600萬元以上高淨值人群達290萬人。假設給出n個人的個人資產值,請快速找出資產排前m位的大富翁。輸入首先給出兩個正整數n 10 6 和 m 1 0 其中 n為總人數,m為需要找出的大富翁數 接下來一行給出 n個人的個人資產值,以百萬元為單...

尋找大富翁

胡潤研究院的調查顯示,截至2017年底,中國個人資產超過1億元的高淨值人群達15萬人。假設給出n個人的個人資產值,請快速找出資產排前m位的大富翁。輸入首先給出兩個正整數n 10 6 和 m 1 0 其中 n為總人數,m為需要找出的大富翁數 接下來一行給出 n個人的個人資產值,以百萬元為單位,為不超過...

尋找大富翁

7 16 尋找大富翁 25 分 胡潤研究院的調查顯示,截至2017年底,中國個人資產超過1億元的高淨值人群達15萬人。假設給出n個人的個人資產值,請快速找出資產排前m位的大富翁。輸入首先給出兩個正整數n 10 6 和m 10 其中n為總人數,m為需要找出的大富翁數 接下來一行給出n個人的個人資產值,...