编程学习网 > 编程语言 > Python > 用python做Roguelike 游戏《骰子骑士》
2021
09-06

用python做Roguelike 游戏《骰子骑士》

本文带大家用Python做Roguelike 游戏《骰子骑士》

所谓 roguelike (肉鸽) 游戏是现在很广泛的一个游戏品种,大致就是:打怪,拣装备(强化),打怪,拣装备(强化)... 这样的无限循环


#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 模式:


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]


设计主角:


#骰子骑士 roughkilike?

#水桶初始值

hp = 100

mp = 100

sp = 100

ap = 100

exp = 0

lv = 1


设计怪物的信息:


#根据不同的值指定不同的敌人,

#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 = []


然后加上遇敌的部分:


   print("遇到" + str( emeny[ area[cp] ]['name']) )

   cemeny = emeny[area[cp]]


然后设计战斗公式:


   #战斗公式

   #假设 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教程欢迎持续关注编程学习网

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取