python人狗大战游戏_6.5 人狗大战.py
# -*- encoding: utf-8 -*-
'''
@File : 6.5.py
@Time : 2020/04/14 16:55:30
@Author : xdbcb8
@Version : 1.0
@Contact : xdbcb8@qq.com
@WebSite : www.xdbcb8.com
'''
# here put the import lib
# 请写一个小游戏,人狗大站; 规则:
# 1 2个角色,人和狗,游戏开始后,生成2个人,3条狗,
# 人狗互相交替对战(注意,人只能打狗, 狗也只会咬人);
# 人的打击力为10; 初始化血为100; 狗的攻击力为 15; 初始化血为80;
# 2 人被狗咬了会掉血,狗被人打了也掉血,狗和人的攻击力,
# 具备的功能都不一样。血为0的话,表示死亡,退出游戏;
# 人和狗的攻击力,都会因为被咬, 或者被打而降低(人被咬一次,打击力降低2;
# 狗被打一次,攻击力降低3);
# 3 对战规则:
# A 随机决定,谁先开始攻击;
# B 一方攻击完毕后, 另外一方再开始攻击; 攻击的目标是随机的
# (比如, 人要打狗了, 随机找一条血不为0的狗攻击);
# C 每次攻击, 双方只能安排一个人,或者一条狗进行攻击;
# 提示:注意组织代码的方式;狗类用一个单独的py文件; 人用一个单独的py文件;
# 在写一个fight模块(也用类来组织;
# 在这个模块中,导入人和狗模块中编写好的方法)
import random
from dog import dog
from human import people
class fight:
def victory(self):
for i in self.humans:
if i.hp==0:
self.humans.remove(i)
for i in self.dogs:
if i.hp==0:
self.dogs.remove(i)
if len(self.dogs)==0:
print('人族胜利')
return 0
elif len(self.humans)==0:
print('狗族胜利')
return 0
else:
a=0
for i in self.humans:
if i.aggressivity!=0 :
a=1
break
for i in self.dogs:
if i.aggressivity!=0:
a=1
break
if a==0:
print('平局')
def dogsfirst(self):
a=random.randint(0,len(self.dogs)-1)
return self.dogs[a]
def humansfirst(self):
a=random.randint(0,len(self.humans)-1)
return self.humans[a]
def fighting(self):
a=random.randint(0,4)
if a==0 or a==2 or a==4:
print('狗族先攻击')
while self.victory()==1:
n=self.humansfirst()
m=self.dogsfirst()
print('{}攻击{}造成{}点伤害'.format(n.name,m.name,n.aggressivity))
n.hp=n.hp-m.aggressivity
n.get_aggressivity()
print('{}被攻击, 攻击力降为{}'.format(n.name,n.aggressivity))
n.get_hp()
if self.victory()==1:
n=self.humansfirst()
m=self.dogsfirst()
print('{}攻击{}造成{}点伤害'.format(n.name,m.name,n.aggressivity))
m.hp=m.hp-n.aggressivity
m.get_aggressivity()
print('{}被攻击, 攻击力降为{}'.format(m.name,m.aggressivity))
x.get_hp()
else:
break
else:
print('人族先攻击')
while self.victory()==1:
m=self.humansfirst()
n=self.dogsfirst()
print('{}攻击{}造成{}点伤害'.format(m.name,n.name,m.aggressivity))
n.hp=n.hp-m.aggressivity
n.get_aggressivity()
print('{}被攻击, 攻击力降为{}'.format(n.name,n.aggressivity))
n.get_hp()
if self.victory()==1:
m=self.humansfirst()
n=self.dogsfirst()
print('{}攻击{}造成{}点伤害'.format(m.name,n.name,m.aggressivity))
m.hp=m.hp-n.aggressivity
m.get_aggressivity()
print('{}被攻击, 攻击力降为{}'.format(m.name,m.aggressivity))
m.get_hp()
else:
break
pk=fight()
pk.fighting()
一键复制
编辑
Web IDE
原始数据
按行查看
历史
python人狗大战游戏_6.5 人狗大战.py相关推荐
- python坦克大战游戏_python实现简单坦克大战
基于对面向对象编程的思想完成简单的坦克大战游戏.主要目的锻炼面相对象编程思想 同样的在使用python进行游戏编写时需要安装pygame模块 安装方法: pycharm安装方式:File --> ...
- python坦克大战游戏_Python开发的坦克大战游戏
python开发的坦克大战游戏importpygamefrom pygame.sprite importSpriteimportsysimporttimeimportrandom SCREEN_WID ...
- python飞机大战游戏素材_python实现飞机大战微信小游戏
0.前言 我学一种语言,可以说学任何东西都喜欢自己动手实践,总感觉自己动手一遍,就可以理解的更透彻,学python也一样,自己动手写代码,但更喜欢做点小东西出来,一边玩一边学.下面我就展示一下我最近做 ...
- 多人手柄联网游戏_多人联网游戏:迈出的第一步
多人手柄联网游戏 As part of our commitment to solving challenges for connected games development, we've focu ...
- python飞机大战游戏代码_python实现飞机大战游戏
飞机大战(Python)代码分为两个python文件,工具类和主类,需要安装pygame模块,能完美运行(网上好多不完整的,调试得心累.实现出来,成就感还是满满的),如图所示: 完整代码如下: 1.工 ...
- python人狗大战游戏_082 实例 人狗大战
定义一个狗类 class Dog: type_dog = '藏獒' # 对象生成的属性-->通过__init__方法 def __init__(self,name,aggressivity,hp ...
- 用python的tkinter做游戏(七)—— 双人射击游戏Demo(类的应用) 篇
不知不觉这已经是第七篇文章了,今天来谈谈python中类(class)在游戏中的应用. 老规矩,先展现一下之前的几篇博文: 用python自带的tkinter做游戏(一)-- 贪吃蛇 篇 用pytho ...
- 使用Python tkinter设计棋类游戏思路及增加棋盘背景
有很多种棋类游戏,例如:围棋.五子棋.象棋和国际象棋等.使用Python编写编写棋类游戏,很多人选择使用Pygame库.我个人感觉编写棋类游戏还是使用tkinter较好.Pygame库为了满足连续运动 ...
- 用python的tkinter做游戏(八)—— 实现图片在tkinter中自适应大小(自动匹配窗口)
用python的tkinter做游戏 系列: 用python自带的tkinter做游戏(一)-- 贪吃蛇 篇 用python自带的tkinter做游戏(二)-- 俄罗斯方块 篇 用python自带的t ...
- 鸿蒙开发实例 | ArkUI JS飞机大战游戏开发
本篇介绍使用ArkUI JS框架开发一款基于鸿蒙操作系统的飞机大战游戏.这款飞机大战游戏是在普通单机游戏的基础上添加了鸿蒙操作系统分布式支持,使游戏可以同时使用多台鸿蒙操作系统设备,为游戏玩家提供分布 ...
最新文章
- Android中BroadcastReceiver组件详解
- 【每周NLP论文推荐】 开发聊天机器人必读的重要论文
- Ubuntu Linux 8.04系统JAVA配置方法
- [架构] 分布式和集群的区别
- 国际旅游管理专业跨专业考计算机,第二年跨校跨专业考旅游管理公费成功,一点经验给大家...
- shallow clone
- 不错的网络协议栈測试工具 — Packetdrill
- Unix/Linux入门篇
- SM3算法 C语言 (从OpenSSL库中分离算法:六)
- 注意,你需要注意的使用盗版破解软件发论文存在的风险及规避方法
- PMP课程笔记:第11章 项目风险管理
- C++如何输入/输出
- AT89C51单片机共阳极数码管动态显示(汇编语言)
- openGL之API学习(五十五)凹凸贴图技术
- #BJTUOJ 铁憨憨骑士的小队分配(图论缩点+思维)
- 如何一步一步地获取和风天气的天气数据
- 使用群晖作mineportalbox(1):合理且不折腾地使用群晖硬件和套件
- 大数据播报 | 数据悄悄告诉你“私有云背后的秘密”
- 《架构师》被孟岩表扬,心里高兴
- Prometheus Operator 配置PrometheusRule告警规则