日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

用打怪游戏实例,深度理解python面向过程

發(fā)布時(shí)間:2024/3/26 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用打怪游戏实例,深度理解python面向过程 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

python更其他的大多數(shù)計(jì)算機(jī)語(yǔ)言更擅長(zhǎng)的是面向?qū)ο蟮木幊?#xff0c;在理解面向?qū)ο笾?#xff0c;有必要先了解或理解一下什么是面向過(guò)程。

簡(jiǎn)而言之,面向過(guò)程就是根據(jù)現(xiàn)實(shí)中的需求,將所要解決的問(wèn)題分解成步驟,然后用函數(shù)的形式一步步實(shí)現(xiàn),差不多就是函數(shù)式編程的概念,就是通過(guò)調(diào)用一個(gè)個(gè)函數(shù)的形式來(lái)完成程序的執(zhí)行,以實(shí)現(xiàn)現(xiàn)實(shí)中的需求。

面向過(guò)程的開(kāi)發(fā),特別使用python這種語(yǔ)言,可能比較繁瑣,下面就是鄙人用的python的面向過(guò)程的編程思想來(lái)開(kāi)發(fā)的一個(gè)打怪小游戲,思路是這樣的:設(shè)計(jì)一個(gè)主函數(shù),來(lái)調(diào)用其他的處理各類事件的函數(shù)。代碼如下:

python面向過(guò)程打怪游戲?qū)嵗?/h1> def hero(se=1,hp=10):hp -= sereturn hpdef boss(se=2,hp=5):hp -= sereturn hp#hero函數(shù)和boss函數(shù)是英雄和boss的兩個(gè)函數(shù),參數(shù)se為武力值,hp為血量 #注意:hero中的hp為boss的血量,boss函數(shù)中的hp為英雄的血量def upexp(se,money):se = se+moneyreturn se#升級(jí)經(jīng)驗(yàn)值以增加武力值的函數(shù)def beat(a,b,c): #英雄和怪物boss交戰(zhàn)的函數(shù)import timeh_hp = a #hero血量b_hp = b #boss血量h_se = c #hero打怪武力值while h_hp > 0 and b_hp > 0: #while的條件為英雄血量大于0并且boss血量大于0,因此當(dāng)任何一方小于0,while結(jié)束,游戲結(jié)束if h_hp <= 2: #當(dāng)英雄血量低于或等于2print('英雄,你的血量為%s'%h_hp)uphp_inp = input('英雄是否要先撤退補(bǔ)充血量(y/n)?')if uphp_inp == 'n':b_hp = hero(se=h_se,hp=b_hp) #注意,hero返回的是boss的血量,傳入的參數(shù)也是boss的血量if b_hp > 0: #當(dāng)boss的還有血量print('英雄攻擊,boss的血量還剩下%s'%b_hp)time.sleep(1)h_hp = boss(hp=h_hp)if h_hp <= 0:print('英雄血量小于0,game over')returnelse: #當(dāng)boss沒(méi)有血量print('boss已經(jīng)被消滅,恭喜英雄!')return else:h_hp = 5 #當(dāng)用戶選擇y之后,我們這里直接將英雄的血量重新賦值為5b_hp = hero(se=h_se,hp=b_hp) #這里的代碼表示的是英雄的血量大于2的情況if b_hp <= 0:print('boss血量小于0,已經(jīng)被消滅')breakelse:print('英雄攻擊,boss血量還剩下%s'%b_hp)time.sleep(1) #之所以要延遲一秒,主要是為了讓打怪顯得有次序感h_hp = boss(hp=h_hp)if h_hp <= 0:print('英雄血量小于0,game over')else:print('boss攻擊,英雄血量還剩下%s'%h_hp)time.sleep(1)def outup():h_hp = 5b_hp = 10 #boss血量h_se = 1beat(h_hp, b_hp, h_se) #outup沒(méi)有升級(jí)經(jīng)驗(yàn)值,也就是沒(méi)有升級(jí)武力值就打怪的函數(shù)def withup():upexp_inp = input('升級(jí)經(jīng)驗(yàn)以增加武力值之前需要財(cái)富值,請(qǐng)問(wèn)1+1=幾:')while upexp_inp != '2':upexp_inp = input('回答錯(cuò)誤,請(qǐng)問(wèn)1+1=幾:') money = 2h_se = upexp(se=1, money=2) h_hp = 5b_hp = 10 #boss血量 beat(h_hp, b_hp, h_se)#withup是升級(jí)武力值的函數(shù)#這里我們模仿c語(yǔ)言的面向過(guò)程的編程模式,寫個(gè)主入口函數(shù)main def main():print('歡迎來(lái)到大器編程x1y1z1.com的python面向過(guò)程的打怪游戲?qū)嵗?..')import timetime.sleep(1)print('游戲開(kāi)始')time.sleep(1)yn_inp = input('boss扛著棒槌過(guò)來(lái)了,英雄是否決定戰(zhàn)斗(y/n):')if yn_inp == 'n':print('英雄選擇退隱江湖,游戲退出!')returnelse:print('boss的武力值為2,血量為10,英雄你的武力值為1,血量為5')time.sleep(1)up_inp = input('英雄是否要升級(jí)自己的武力值(y/n)')if up_inp == 'n':outup()else:withup()#記得調(diào)用主函數(shù)main() main()#原創(chuàng)代碼,轉(zhuǎn)載請(qǐng)注明來(lái)源“大器編程x1y1z1.com”

更多的游戲代碼的解析以及面向過(guò)程的編程思想的內(nèi)容可以參考如下內(nèi)容:

python面向過(guò)程的編程思想,打怪游戲?qū)嵗?/span>https://www.x1y1z1.com/python/pypop.html

總結(jié)

以上是生活随笔為你收集整理的用打怪游戏实例,深度理解python面向过程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。