最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)人生重開(kāi)模擬器小游戲講解

 更新時(shí)間:2023年01月20日 09:31:33   作者:HaiFan.  
這篇文章主要介紹了Python實(shí)現(xiàn)人生重開(kāi)模擬器小游戲,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧

思維導(dǎo)圖

前言

前面我們已經(jīng)學(xué)了python中的順序,選擇,循環(huán)語(yǔ)句以及break和continue的使用,下面根據(jù)這幾個(gè)語(yǔ)句,來(lái)講解一個(gè)代碼案例

一、設(shè)置初始屬性

相信大家都玩過(guò)人生重開(kāi)模擬器這樣類型的小游戲。

在游戲中,一般會(huì)有四個(gè)屬性

  • 顏值(face)
  • 體質(zhì)(strong)
  • 智力(iq)
  • 家境(home)

在這里可以約定一下屬性的范圍,以及4個(gè)屬性的總和不能超過(guò)多少。

我們約定屬性的范圍為1-10,總和不得超過(guò)20.

1.游戲標(biāo)題

在這里可以先把游戲的標(biāo)題打印在開(kāi)頭

print("******************************************")
print("                                          ")
print("            人生重開(kāi)模擬器                   ")
print("                                          ")
print("         花有重開(kāi)日 人無(wú)在少年                ")
print("                                          ")
print("******************************************")

2.屬性的初始化

這四個(gè)屬性可以由玩家自己輸入,這就用到了之前講到的input函數(shù),通過(guò)這個(gè)函數(shù),來(lái)完成屬性的初始化。

 print("請(qǐng)?jiān)O(shè)置初始屬性(可用屬性值:20)")
 face = int(input("設(shè)定顏值(1-10)"))
 iq = int(input("設(shè)定智力(1-10)")) 
 strong = int(input("設(shè)定體質(zhì)(1-10)"))   
 home = int(input("設(shè)定家境(1-10)"))

這樣就完成了屬性的輸入,這樣并不完善,前面我們已經(jīng)約定過(guò)了,屬性不得超過(guò)多少,總和不得超過(guò)多少,所以下面要用我們學(xué)到過(guò)的if-elif-else語(yǔ)句,對(duì)這四個(gè)屬性和總和進(jìn)行判斷。

    if face < 1 or face > 10:
        print("顏值設(shè)置錯(cuò)誤")
        continue
    elif iq < 1 or iq > 10:
        print("智力設(shè)置錯(cuò)誤")
        continue
    elif strong < 1 or strong > 10:
        print("體質(zhì)設(shè)置錯(cuò)誤")
        continue
    elif home < 1 or home > 10:
        print("家境設(shè)置錯(cuò)誤")
        continue
    elif face + iq + strong + home > 20:
        print("總屬性超過(guò)20")
        continue
    print("初始屬性設(shè)置完畢")
    print(f"顏值:{face},體質(zhì):{strong},智力:{iq},家境:{home}")

每當(dāng)某一個(gè)屬性不符合的時(shí)候,就把原因打印的屏幕上并重新輸入屬性值,如果符合約定,則把四個(gè)屬性值打印在屏幕上。

當(dāng)某個(gè)判斷出現(xiàn)錯(cuò)誤的時(shí)候,代碼會(huì)直接結(jié)束程序,而不會(huì)讓玩家循環(huán)輸出,這是因?yàn)槿鄙倭艘粋€(gè)循環(huán),那么我們就要設(shè)置一個(gè)能夠使得屬性初始化但不符合約定,就要讓玩家重新輸入屬性值的功能。這個(gè)時(shí)候就用到了while循環(huán)

while True:
    print("請(qǐng)?jiān)O(shè)置初始屬性(可用屬性值:20)")
    face = int(input("設(shè)定顏值(1-10)"))
    iq = int(input("設(shè)定智力(1-10)"))
    strong = int(input("設(shè)定體質(zhì)(1-10)"))
    home = int(input("設(shè)定家境(1-10)"))

    if face < 1 or face > 10:
        print("顏值設(shè)置錯(cuò)誤")
        continue
    elif iq < 1 or iq > 10:
        print("智力設(shè)置錯(cuò)誤")
        continue
    elif strong < 1 or strong > 10:
        print("體質(zhì)設(shè)置錯(cuò)誤")
        continue
    elif home < 1 or home > 10:
        print("家境設(shè)置錯(cuò)誤")
        continue
    elif face + iq + strong + home > 20:
        print("總屬性超過(guò)20")
        continue
    print("初始屬性設(shè)置完畢")
    print(f"顏值:{face},體質(zhì):{strong},智力:{iq},家境:{home}")

當(dāng)所有判斷都滿足約定的時(shí)候,就不能在繼續(xù)循環(huán)了,要結(jié)束程序,這個(gè)時(shí)候就break就派上了用場(chǎng),滿足判定,直接跳出while循環(huán)。

在上面這個(gè)代碼尾部加上break即可注意break的位置要縮進(jìn)。

二、設(shè)置性別

設(shè)置性別是一個(gè)有意思的話題,性別一定要做到隨機(jī),設(shè)置隨機(jī)數(shù)就用到了一個(gè)函數(shù)random.randint,這個(gè)函數(shù)是python中自帶的模塊,使用前要先調(diào)用一下這個(gè)模塊import random

通過(guò) random.randint(1,6)可以生成一個(gè)1-6的隨機(jī)整數(shù)。

  • 如果是單數(shù):男孩
  • 如果是雙數(shù):女孩

男孩女孩會(huì)遇到不同的事件。

point = random.randint(1,6)
# print(f'隨機(jī)數(shù)為:{point}')
if point % 2 == 1:
    gender = "boy"
    print("你是個(gè)男孩.")
else:
    gender = "girl"
    print("你是個(gè)女孩.")

三、設(shè)置出生點(diǎn)

首先按照家境可以把出生點(diǎn)分為4部分

  • 10是第一部分,家境最好,加成也最高
  • 7-9第二部分,也有一些加成
  • 4-6第三部分,加成較少
  • 1-4第四部分,會(huì)扣掉屬性

當(dāng)然,大家在自己寫(xiě)的時(shí)候,可以多寫(xiě)幾個(gè)部分,讓游戲充滿更多的可能。

然后,在生成1-3之間的隨機(jī)數(shù),每一個(gè)數(shù)字代表一種情況。

point = random.randint(1,3)
if home == 10:
    #第一部分
    print("你出生在帝都,父母是世界首富.")
    home += 1
    face += 1
    iq += 1
elif home >= 7 and home <=9:
    #第二部分
    if point == 1:
        print("你出生在一線城市,父母是醫(yī)生.")
        face += 2
    elif point == 2:
        print("你出生在一線城市,父母是資深程序員.")
        iq += 2
    else:
        print("你出生在一線城市,父母是健身教練.")
        strong += 3
        face += 1
        iq -= 1
elif home >= 4 and home <= 6:
    #第三部分
    if point == 1:
        print("你出生在三線城市,父母是企業(yè)管理.")
        iq += 1
    elif point == 2:
        print("你出生在三線城市,父母是小學(xué)老師.")
        iq += 1
    else:
        print("你出生在三線城市,父母是自己開(kāi)店做生意.")
        home += 1
else:
    #第四部分
   if point == 1:
       print("你出生在農(nóng)村,父母是農(nóng)民.")
       strong += 2
       face -= 1
   elif point == 2:
       print("你出生在山里,父母是獵人.")
       strong += 2
       home -= 1
       face -= 1
   else:
       print("你出生在小鎮(zhèn)上,父母是鎮(zhèn)長(zhǎng).")
       face += 1
       home += 1
print(f"顏值:{face},體量:{strong},智力:{iq},家境:{home}")

四、針對(duì)每一歲自動(dòng)生成人生經(jīng)歷

按照年齡可以把人生分為四個(gè)截?cái)?/p>

  • 幼年
  • 青年
  • 壯年
  • 老年

每個(gè)截?cái)鄷?huì)有不同的事情發(fā)生,也可能會(huì)有一些機(jī)遇。

例如:幼年截?cái)?,智力,顏值,體質(zhì)等會(huì)發(fā)生變化,在這里可以展開(kāi)事件的發(fā)生。

此處只寫(xiě)幼年經(jīng)歷:

因?yàn)槭敲恳荒辏梢杂胒or循環(huán)展開(kāi),把每一年的經(jīng)歷,用字符串進(jìn)行拼接,循環(huán)到最后,輸出字符串即可,針對(duì)事件的發(fā)生,可以用隨機(jī)數(shù),根據(jù)數(shù)字來(lái)發(fā)生事件,也可以根據(jù)性別,顏值,體質(zhì)等來(lái)觸發(fā)事件,不同的事件有不同的影響,如果得病去世,可以直接用sys.exit(0)退出程序,使用time.sleep(1)可以使程序暫停一秒,便于觀察。

for age in range(1,11):
    #把一整年的打印都整理到一個(gè)字符串中,在這一年的結(jié)尾統(tǒng)一打印
    info = f'你今年{age}歲'
    #生成一個(gè)一到三的隨機(jī)整數(shù)
    point = random.randint(1,3)
    #接下來(lái)編寫(xiě)各種事件的代碼
    #性別觸發(fā)的事件
    if gender == 'girl' and home <= 3 and point == 1:
        info += '你的家里人重男輕女思想非常嚴(yán)重,把你丟棄了.'
        print("游戲結(jié)束.")
        sys.exit(0)
    #體質(zhì)觸發(fā)事件
    elif strong < 6 and point < 3:
        info += '你生了一場(chǎng)病.'
        if home >= 5:
            info += '在父母的照顧下,你康復(fù)了.'
            strong += 1
            home -= 1
        else:
            info += '父母沒(méi)時(shí)間管你,你的情況更糟糕了.'
            strong -= 1
    # 顏值觸發(fā)事件
    elif face <= 4 and age >= 7:
        info += '你長(zhǎng)的太丑了,別的小朋友不和你一起玩.'
        if iq > 5:
            info += '你決定用學(xué)習(xí)填充自己.'
            iq += 1
        else:
            if gender == 'boy':
                info += '你和別的小朋友打架.'
                strong += 1
                iq -= 1
            else:
                info += '你經(jīng)常被別的小朋友欺負(fù).'
                strong -= 1
    #智商觸發(fā)的事件
    elif iq < 5:
        info += '你看起來(lái)傻乎乎的.'
        if home >= 8 and age >= 6:
            info += '你的父母把你送到更好的學(xué)校學(xué)習(xí).'
            iq += 1
        elif 4 <= home <= 7:
            if gender == 'boy':
                info += '你的父母鼓勵(lì)你多運(yùn)動(dòng),爭(zhēng)取成為運(yùn)動(dòng)健將.'
                strong += 1
            else:
                info += '你的古父母鼓勵(lì)你多打扮自己.'
                face += 1
        else:
            info += '你的父母經(jīng)常為此吵架.'
            if point == 1:
                strong -= 1
            elif point == 2:
                iq -= 1
            else:
                pass
    #健康成長(zhǎng)
    else:
        info += '你健康成長(zhǎng).'
        if point == 1:
            info += '你看起來(lái)更結(jié)實(shí)了.'
            strong += 1
        elif point == 2:
            info += '你看起來(lái)更好看了.'
            face += 1
        else:
            pass
    #打印這一年發(fā)生的事情
    print(info)
    print(f"顏值:{face},體質(zhì):{strong},智力:{iq},家境:{home}")
    print("---------------------------------------------------------------")
    time.sleep(1)

總結(jié)(附代碼)

在這里,并不把四個(gè)截?cái)嗳繉?xiě)完,只寫(xiě)一個(gè)幼年階段。把這一篇文章看完,相信大家有能力自行實(shí)現(xiàn)后續(xù)內(nèi)容,讓游戲變得更完整。

注:在使用sys.exit和time.sleep的時(shí)候別忘了調(diào)用一下

import sys

import time

"""
                人生重開(kāi)模擬器
                花有重開(kāi)日,人無(wú)在少年
"""
import random
import sys
import time
print("******************************************")
print("                                          ")
print("            人生重開(kāi)模擬器                   ")
print("                                          ")
print("         花有重開(kāi)日 人無(wú)在少年                ")
print("                                          ")
print("******************************************")
while True:
    print("請(qǐng)?jiān)O(shè)置初始屬性(可用屬性值:20)")
    face = int(input("設(shè)定顏值(1-10)"))
    iq = int(input("設(shè)定智力(1-10)"))
    strong = int(input("設(shè)定體質(zhì)(1-10)"))
    home = int(input("設(shè)定家境(1-10)"))
    if face < 1 or face > 10:
        print("顏值設(shè)置錯(cuò)誤")
        continue
    elif iq < 1 or iq > 10:
        print("智力設(shè)置錯(cuò)誤")
        continue
    elif strong < 1 or strong > 10:
        print("體質(zhì)設(shè)置錯(cuò)誤")
        continue
    elif home < 1 or home > 10:
        print("家境設(shè)置錯(cuò)誤")
        continue
    elif face + iq + strong + home > 20:
        print("總屬性超過(guò)20")
        continue
    print("初始屬性設(shè)置完畢")
    print(f"顏值:{face},體質(zhì):{strong},智力:{iq},家境:{home}")
    break
point = random.randint(1,6)
if point % 2 == 1:
    gender = "boy"
    print("你是個(gè)男孩.")
else:
    gender = "girl"
    print("你是個(gè)女孩.")
point = random.randint(1,3)
if home == 10:
    print("你出生在帝都,父母是世界首富.")
    home += 1
    face += 1
    iq += 1
elif home >= 7 and home <=9:
    if point == 1:
        print("你出生在一線城市,父母是醫(yī)生.")
        face += 2
    elif point == 2:
        print("你出生在一線城市,父母是資深程序員.")
        iq += 2
    else:
        print("你出生在一線城市,父母是健身教練.")
        strong += 3
        face += 1
        iq -= 1
elif home >= 4 and home <= 6:
    if point == 1:
        print("你出生在三線城市,父母是企業(yè)管理.")
        iq += 1
    elif point == 2:
        print("你出生在三線城市,父母是小學(xué)老師.")
        iq += 1
    else:
        print("你出生在三線城市,父母是自己開(kāi)店做生意.")
        home += 1
else:
   if point == 1:
       print("你出生在農(nóng)村,父母是農(nóng)民.")
       strong += 2
       face -= 1
   elif point == 2:
       print("你出生在山里,父母是獵人.")
       strong += 2
       home -= 1
       face -= 1
   else:
       print("你出生在小鎮(zhèn)上,父母是鎮(zhèn)長(zhǎng).")
       face += 1
       home += 1
print(f"顏值:{face},體量:{strong},智力:{iq},家境:{home}")
for age in range(1,11):
    info = f'你今年{age}歲'
    point = random.randint(1,3)
    if gender == 'girl' and home <= 3 and point == 1:
        info += '你的家里人重男輕女思想非常嚴(yán)重,把你丟棄了.'
        print("游戲結(jié)束.")
        sys.exit(0)
    elif strong < 6 and point < 3:
        info += '你生了一場(chǎng)病.'
        if home >= 5:
            info += '在父母的照顧下,你康復(fù)了.'
            strong += 1
            home -= 1
        else:
            info += '父母沒(méi)時(shí)間管你,你的情況更糟糕了.'
            strong -= 1
    elif face <= 4 and age >= 7:
        info += '你長(zhǎng)的太丑了,別的小朋友不和你一起玩.'
        if iq > 5:
            info += '你決定用學(xué)習(xí)填充自己.'
            iq += 1
        else:
            if gender == 'boy':
                info += '你和別的小朋友打架.'
                strong += 1
                iq -= 1
            else:
                info += '你經(jīng)常被別的小朋友欺負(fù).'
                strong -= 1
    elif iq < 5:
        info += '你看起來(lái)傻乎乎的.'
        if home >= 8 and age >= 6:
            info += '你的父母把你送到更好的學(xué)校學(xué)習(xí).'
            iq += 1
        elif 4 <= home <= 7:
            if gender == 'boy':
                info += '你的父母鼓勵(lì)你多運(yùn)動(dòng),爭(zhēng)取成為運(yùn)動(dòng)健將.'
                strong += 1
            else:
                info += '你的古父母鼓勵(lì)你多打扮自己.'
                face += 1
        else:
            info += '你的父母經(jīng)常為此吵架.'
            if point == 1:
                strong -= 1
            elif point == 2:
                iq -= 1
            else:
                pass
    else:
        info += '你健康成長(zhǎng).'
        if point == 1:
            info += '你看起來(lái)更結(jié)實(shí)了.'
            strong += 1
        elif point == 2:
            info += '你看起來(lái)更好看了.'
            face += 1
        else:
            pass
    print(info)
    print(f"顏值:{face},體質(zhì):{strong},智力:{iq},家境:{home}")
    print("---------------------------------------------------------------")
    time.sleep(1)

到此這篇關(guān)于Python實(shí)現(xiàn)人生重開(kāi)模擬器小游戲講解的文章就介紹到這了,更多相關(guān)Python人生重開(kāi)模擬器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

东源县| 磐安县| 沅陵县| 靖安县| 廉江市| 句容市| 长汀县| 仪征市| 西乡县| 墨江| 衡阳县| 达拉特旗| 华安县| 宜都市| 额济纳旗| 建平县| 无锡市| 克东县| 乌兰县| 梅州市| 松滋市| 汉中市| 商丘市| 湘潭市| 申扎县| 旌德县| 大宁县| 泾川县| 登封市| 昭觉县| 广西| 桐柏县| 通山县| 渑池县| 横山县| 泸水县| 临高县| 齐齐哈尔市| 清新县| 荣成市| 秦皇岛市|