Python打怪小游戏

1、怪兽池中有若干种怪兽: monsters_pool = [‘火柴鼠’, ‘瞌睡熊’, ‘板牙狸’, ‘博学企鹅’, ‘绅士企鹅’, ‘漂浮龟’, ‘皮皮’, ‘贪玩虎’, ‘黑客’, ‘蹦蹦娃’, ‘呱噪鸦’, ‘弹簧蛇’, ‘喷火龙’] 2、从怪兽池monsters_pool中随机选择20只放生到野外monsters_list 可用random.choice 可重复 3、打猎目标池targets_list 可认为指定,如 targets_list = [ ‘皮皮’,‘板牙狸’,‘呱噪鸦’] 4、出发前背个空袋子出发,bag = [] ,假设袋子最多可装5个怪。 5、回来后验证下bag中是否完成目标targets_list,如果完成,任务完成,否则,没完成任务。 6、如何遇到怪?自己设定规则,如,移动步数(随机数产生)为3或5的倍数就表示遇到一个怪,然后看下该怪是否是自己的目标怪,然后判断自己的袋子bag是否满。。。。 7、遇到怪也不一定能抓获,看两者力量对比,即生命值大小,可自由设计规则,像之前讲过的人狗大战。。。

import randomclass Monster:def __init__(self, n):self.n = nmonsters_polo = ["火柴鼠", "皮皮", "贪玩虎", "博学企鹅","漂浮龟", "板牙狸", "喷火龙", "皮皮虾","弹簧蛇", "蹦蹦娃", "唐老鸭", "格林小人"]'''方法名:person_train功  能:挑选怪兽参  数: 无返回值:返回挑选好的怪兽 '''def monsters(self):monsters_hoos = []for i in range(self.n):n = random.randint(0, 11)monsters_hoos.append(Monster.monsters_polo[n])return monsters_hoosclass Person:def __init__(self, name, aggressivity):self.name = nameself.__aggressivity = aggressivity'''方法名:__set_information功  能:公有方法查看猎人信息参  数: 无返回值:返回猎人的基本信息'''def get_information(self):information = {"姓名": self.name, "战力": self.__aggressivity, "生命力": 100}return information'''方法名:__set_information功  能:私有方法更新战斗力参  数: 新的战斗力(aggressivity)返回值:无'''def __set_information(self, aggressivity):self.__aggressivity = aggressivity'''方法名:person_train功  能:人进行训练参  数: 训练时长(time)返回值:无'''def person_train(self, time):information = person1.get_information()if information["战力"] < 80:information["战力"] = 10 * int(time) + information["战力"]elif information["战力"] > 80 and information["战力"] < 90:information["战力"] = 5 * int(time) + information["战力"]elif information["战力"] > 90:information["战力"] = 3 * int(time) + information["战力"]self.__set_information(information["战力"])class Battlefield:def __init__(self, person, monster, targets, bag):self.person = personself.__monster = monsterself.targets = targetsself.__bag = bagself.__monster_vitality = 100self.__person_vitality = self.person["生命力"]'''方法名:get_monster_vitality功  能:公有方法查看怪兽的生命力。参  数: 无返回值:怪兽的生命力'''def get_monster_vitality(self):return self.__monster_vitality'''方法名:get_person_vitality功  能:公有方法查看猎人的生命力。参  数: 无返回值:猎人的生命力'''def get_person_vitality(self):return self.__person_vitality'''方法名:get_bag功  能:公有方法查看猎人的背包。参  数: 无返回值:猎人的背包'''def get_bag(self):return self.__bag'''方法名:get_monsters功  能:公有方法查看森林里面的所有怪物。参  数: 无返回值:所有怪物'''def get_monsters(self):return self.__monster'''方法名:__set_bag功  能:私有方法向猎人背包添加猎物。参  数: 猎物(n)返回值:无'''def __set_bag(self, n):self.__bag.append(n)'''方法名:__set_delete功  能:私有方法修改怪物池里面的怪物。参  数: 怪兽的标号(i)返回值:无'''def __set_delete(self, i):self.__monster.pop(i)'''方法名:play_strange功  能:人打怪兽参  数: 无返回值:无'''def play_strange(self):# 对怪兽进行打击blood_volume = self.__monster_vitality - self.person["战力"]# 更新怪兽的血量self.__monster_vitality = blood_volume'''方法名:monsters_hurt_person功  能:怪兽伤猎人参  数: 无返回值:无'''def monsters_hurt_person(self):# 怪兽进行伤猎人blood_volume = self.__person_vitality - 20# 对猎人的血量进行更新self.__person_vitality = blood_volume'''方法名:battlefield_combat功  能:怪兽与猎人活动的场地参  数: 无返回值:无'''def battlefield_combat(self):print("格林森林出现一批怪兽:{}".format(self.__monster))print("现在派遣{}去进行消灭!\n战斗力:{}\n生命力:{}\n背包:{}\n""并收集{}""".format(self.person["姓名"], self.person["战力"],self.person["生命力"], self.__bag, self.targets))number = 19direction_list = ["前", "左", "右"]for i in range(1, 21):print("======================行走{}次=========================".format(i))print("猎人血量:{}".format(self.__person_vitality))# 随机出现一个怪兽monster_num = random.randint(0, number)# 随机产生猎人行走的步数move = random.randint(1, 100)# 随机产生移动方向direction = random.randint(0, 2)print("猎人进入森林!\n猎人向{}行走{}步\n遇到{}".format(direction_list[direction],move, self.__monster[monster_num]))print("{}血量:{}".format(self.__monster[monster_num], self.__monster_vitality))while True:print("猎人打{}!".format(self.__monster[monster_num]))# 猎人打击怪兽battlefield1.play_strange()# 获取怪兽剩余血量monster_blood = battlefield1.get_monster_vitality()print("{}剩余血量:{}".format(self.__monster[monster_num], monster_blood))if monster_blood <= 0:print("猎人打死{}".format(self.__monster[monster_num]))# 判断当前打死的怪兽是否是需要的猎物bag = battlefield1.get_bag()if self.__monster[monster_num] in self.targets and len(bag) < 5:self.__set_bag(self.__monster[monster_num])# 更新森林里面的怪兽self.__set_delete(monster_num)number -= 1self.__monster_vitality = 100self.__person_vitality = 100breakprint("{}伤人!".format(self.__monster[monster_num]))# 怪兽伤人battlefield1.monsters_hurt_person()# 获取猎人剩余血量person_blood = battlefield1.get_person_vitality()print("猎人剩余血量:{}".format(person_blood))if person_blood <= 0:print("猎人死亡!任务失败!")breakprint("---------------------------------------------")# 实例化出一个猎人
person1 = Person("小明", 20)
# 猎人进行训练
person1.person_train(4)
# 获取猎人的信息
information = person1.get_information()
# 实例化一批怪兽
monster1 = Monster(20)
# 通过对象获取这批怪兽
monsters_list = monster1.monsters()
# 需要收集的猎物
targets_list = ["皮皮", "唐老鸭", "火柴鼠"]
# 实例化一个战场
battlefield1 = Battlefield(information, monsters_list, targets_list, bag=[])
# 通过战场对象进行战场战斗
battlefield1.battlefield_combat()
# 获取在打猎到的猎物
bag_list = battlefield1.get_bag()
# 判断是否获取到所需要的猎物
flag = True
for L in targets_list:if L not in bag_list:flag = Falseprint(targets_list)
print(bag_list)
if flag == True:print("恭喜你完成任务!")
else:print("很遗憾!你没有完成任务!")

Python打怪小游戏相关推荐

  1. Python升级打怪小游戏

    Python文字小游戏可添加各种属性 动手做了一个python小游戏,文字类游戏 比较简单,自学编程小白,欢迎大佬们优化 import random from colorama import init ...

  2. python手机版做小游戏代码大全-python简单小游戏代码 怎么用Python制作简单小游戏...

    1.Python猜拳小游戏代码: 2.import random #导入随机模块 3. 4.num = 1 5.yin_num = 0 6.shu_num = 0 7.while num <= ...

  3. python小游戏代码大全-python简单小游戏代码 怎么用Python制作简单小游戏

    1.Python猜拳小游戏代码: 2.import random #导入随机模块 3. 4.num = 1 5.yin_num = 0 6.shu_num = 0 7.while num <= ...

  4. 一分钟教你学会python_十分钟教你学会python编写小游戏

    原标题:十分钟教你学会python编写小游戏 看过,估计大家都已经精通了吧,好的,话不多说,今天就活学活用,用python来编写纸牌游戏21点,江湖人称黑杰克,BLACK JACK-(注意法式卷舌). ...

  5. python迷宫小游戏大全_Python迷宫小游戏源代码、源程序

    Python迷宫小游戏源程序包括两个文件maze.py和mazeGenerator.py,mazeGenerator.py实现迷宫地图的生成,程序运行截图: mazeGenerator.py impo ...

  6. python能制作游戏吗_如何用Python制作小游戏

    要想用Python制作小游戏,必须要安装一个插件Pygame 什么是Pygame Pygame是跨平台Python模块,专为电子游戏设计,包含图像.声音.建立在SDL基础上,允许实时电子游戏研发而无需 ...

  7. Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第二篇)

    Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第二篇) 代码实现 窗口类 小车类 玩家类 电脑类 赛道类 小树类 打字类 Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第一篇) ...

  8. Python——河神小游戏

    Python--河神小游戏 复制即用 import random list = ['金斧头','银斧头','铁斧头'] a = random.choice(list) #用户输入 print(&quo ...

  9. Python 打字小游戏开发,来体验不一样的打字游戏乐趣(完结篇)

    Python 打字小游戏开发,来体验不一样的打字游戏乐趣(完结篇) 资源下载 完整代码 Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第一篇) Python 打字小游戏开发,来体验不一样的 ...

最新文章

  1. 1803无法升级到2004_Win10再度误伤“友军”:升级五月更新后OneDrive同步报错
  2. 分布式查询的使用准则
  3. 我的世界java怎么骑马,我的世界怎么骑马?方法解答
  4. Spring Boot 2.3.x 分层构建 Docker 镜像实战
  5. C#的循环语句(一)
  6. mysql 5.7主从延迟 相关参数配置
  7. 分布式文件系统—HDFS—入门简介
  8. 达梦数据库导入oracle数据_达梦数据库助力加速石油石化行业数字化转型升级
  9. 发牌一周年 国内5G发展如何?
  10. linux下的C语言开发(线程互斥)
  11. 团队作业4——第一次项目冲刺(Alpha版本)2017.4.23
  12. Python帮助文件下载使用
  13. 金融资产管理公司 不良资产的发言人
  14. Unity3D音频系统Aduio声音丨音乐控制丨音频播放丨音频暂停丨音频控制
  15. 论文阅读——Efficient and Robust Feature Selection via Joint L2,1-Norms Minimization
  16. Win 10系统截图的7种方式【简单实用】
  17. sessionbean+entitybean 在 jbx+wl7中调试笔记。
  18. C语言-字符0、数字0和‘\0’的区别
  19. UNIX环境高级编程 - UNIX基础知识
  20. 前端Vue项目搭建过程概述

热门文章

  1. 民生银行数据中台体系的构建与实践
  2. stringbuilder用法 java_Java StringBuilder的用法示例
  3. 微型计算机储存最快的是什么车,美商海盗船多款产品荣获《微型计算机》编辑选择奖...
  4. 韩国的品牌创造之路(上)
  5. 微图App下载与安装教程
  6. 计算机学院院徽设计作品,计算机学院院徽和学生会会徽设计大赛.doc
  7. 大白话说网络-----路由协议基础(一)
  8. Cesium小记之加载暗黑色地图蓝色透明模型
  9. 关于天刀精英服/体验服的福利介绍
  10. mybatis通用mapper的使用