python學習之擲骰子游戲


"""
通過學習的python知識,寫一個簡單的python小游戲
游戲名字:擲骰子比大小
游戲規則:
1、玩家可以選擇玩擲幾個骰子游戲(默認3個)
2、玩家可以設置雙方初始的游戲金額(默認10)
3、玩家可以設置每次投入金額(默認1)
4、通過比大小決定比賽勝負
5、一方金額歸0則游戲結束
"""
import random


# 首先讓玩家通過輸入的方式將游戲規則設置好,也可以讓其不設置,直接使用默認條件開始游戲
def setRule():
    istoSet = input('是否開始設置游戲相關規則:(輸入"是"則進入設置,其他則使用默認)')
    game_Num = 3
    game_Money = 10
    one_Game = 1
    if istoSet == '是':
        # 讓玩家設置使用幾個骰子游戲
        gameNum = input("請設置玩幾個骰子:(請輸入數字且大於0,輸入其他則使用默認)")
        if gameNum.isdigit():
            if int(gameNum) > 0:
                game_Num = int(gameNum)
        # 讓玩家設置雙方的初始金額
        gameMoney = input("請設置初始金額:(請輸入數字且大於0,輸入其他則使用默認)")
        if gameMoney.isdigit():
            if int(gameMoney) > 0:
                game_Money = int(gameMoney)
        # 讓玩家設置每次比賽投入金額
        oneGame = input("請設置每次比賽投入金額:(請輸入數字不僅要大於0還需要小於等於初始金額,輸入其他則使用默認)")
        if oneGame.isdigit():
            if int(oneGame) > 0 and oneGame <= game_Money:
                one_Game = int(oneGame)
    else:
        print("恭喜您完成設置!")
    data = [game_Num,game_Money,one_Game]
    return data


# 通過比較大小決定游戲勝負,如果一方金額歸0則游戲結束,判斷輸贏
def myGame():
    data=setRule()
    game_Num = data[0]
    game_Money1 = data[1]
    game_Money2 = data[1]
    one_Game = data[2]
    print(str(game_Num) + '個骰子比大小游戲開始')
    while game_Money1 > 0 and game_Money2 > 0:
        print("您的目前資產:",game_Money1,",AI的目前資產:",game_Money2)
        choice = ['大', '小']
        user_choice = input('買大買小,買定離手:')
        number = game_Num
        if user_choice in choice:
            points = []
            bigest = game_Num * 6
            smallest = game_Num
            data = get_median(smallest, bigest)
            # print(data)
            while number > 0:
                point = random.randrange(1, 7)
                points.append(point)
                number = number - 1
            total = sum(points)
            big = data[0] <= total <= bigest
            small = smallest <= total <= data[1]
            win = (big and user_choice == '大') or (small and user_choice == '小')
            if win:
                print('點數是:' + str(total) + '你贏咯~')
                game_Money1 = game_Money1 + one_Game
                game_Money2 = game_Money2 - one_Game
            else:
                print('點數是:' + str(total) + '你輸啦!')
                game_Money1 = game_Money1 - one_Game
                game_Money2 = game_Money2 + one_Game
        else:
            print('請輸入‘大’或‘小’')
    else:
        if game_Money1 < 0:
            print("抱歉您輸啦")
        else:
            print("您贏了!666")

# 獲取中間數
def get_median(number1, number2):
    data = []
    while number1 <= number2:
        data.append(number1)
        number1 = number1 + 1
    # print(data)
    data.sort()
    half = len(data) // 2
    lists = [data[half], data[~half]]
    return lists


if __name__ == '__main__':
    myGame()

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM