本文带大家用Python做Roguelike 游戏《骰子骑士》
所谓 roguelike (肉鸽) 游戏是现在很广泛的一个游戏品种,大致就是:打怪,拣装备(强化),打怪,拣装备(强化)... 这样的无限循环
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #coding:utf-8 import win32com.client ip = 0 while ip != '34' : ip = input() print(ip) #处理输入 if ip == 'w' : print( 'up' ) elif ip == 'a' : print( 'left' ) elif ip == 'd' : print( 'right' ) elif ip == 's' : print( 'down' ) |
因为我们设计地图是蛇与梯子的循环模式,就直接套用上次的 story 模式:
1 | story = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24] |
设计主角:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #骰子骑士 roughkilike? #水桶初始值 hp = 100 mp = 100 sp = 100 ap = 100 exp = 0 lv = 1 |
设计怪物的信息:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #根据不同的值指定不同的敌人, #0 表示空地 area = [0,0,0,1,0,0,0,1,1,0,1,0,0,0,0,0,2,0,0,0,0,0,0,2] emeny = [{ 'name' : '空白' , 'basehp' : 0, 'baseap' :0, 'baselv' :0}, { 'name' : '哥布林' , 'basehp' : 50, 'baseap' : 10, 'baselv' : 1}, { 'name' : '狼人' , 'basehp' : 40, 'baseap' : 30, 'baselv' : 1}] #制定规则 rules = [] |
然后加上遇敌的部分:
1 2 3 | print( "遇到" + str( emeny[ area[cp] ][ 'name' ]) ) cemeny = emeny[area[cp]] |
然后设计战斗公式:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #战斗公式 #假设 aap bap 根据 aap:bap 的比值消减生命值至一方为0 #假设 遇到哥布林 # ap100 : bap:10 = 10:1 比例 100>10 # 100 -10=90 ? 10-10 =0 while hp * cemeny[ 'hp' ] > 0: hp -= cemeny[ 'baseap' ] cemeny[ 'hp' ] -= ap #强制归零 if hp<0 : hp =0 if cemeny[ 'hp' ]<0: #设置怪物生命为负值,避开地板 cemeny[ 'hp' ] = -1 |
设计好的战斗的部分其实就是一个穷举攻击,看谁最先0血。
下一步,就是升级,商店,然后掉装备,在此基础上扩充即可
以上就是“用python做Roguelike 游戏《骰子骑士》”的详细内容,想要了解更多Python教程欢迎持续关注编程学习网
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/8535/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取