通过面向对象实现猫狗大战案例
使用面向对象思想完成以下“猫狗大战”案例
猫狗⼤站,2个⻆⾊,猫和狗,游戏开始后,⽣成3个猫,3条狗,互相混战,猫被狗咬了会掉⾎,狗被猫抓了也掉⾎,狗和猫的攻击⼒,具备的功能都不⼀样。
类:猫
属性:猫:攻击⼒(打)、⽣命值(⾎)
⽅法:抓
类:狗;
属性:攻击⼒(咬)、⽣命值(⾎)
⽅法:咬
求出最终的结果
import random
#创建随机事件
class Cat(object):
#定义一个类
Cat_blood = 10
#攻击⼒(打)
cat_attack = 2
#⽣命值(⾎)
@classmethod
#使用@classmethod修饰器进行修饰方法
def zhua(cls):
print(“猫使出了爪子挠”)
class Dog(object):
dog_blood = 10
# 定义一个类
dog_attack = 2
# ⽣命值(⾎)
@classmethod
#使用@classmethod修饰器进行修饰方法
def yao(cls):
print(“狗使出了狗咬”)
A = 1
B = 0
C = 0
print("========================================================================")
print(“很久很久以前,喵星人和汪星人一直势不两立”)
print(“为了除掉对方,喵星人和汪星人大战一触即发”)
print("===汪星人还有三秒到达战场=")
print("===瞄星人还有三秒到达战场=")
print("=全军出击")
while A <= 3:
while True:
value = random.randint(1, 2)
if value == 2:
Cat.zhua()
Dog.dog_blood -= Cat.cat_attack
if Dog.dog_blood <= 0:
print(“喵星人获得胜利”)
print("====第%s场汪瞄大战结束" % A)
C += 1
Dog.dog_blood = 10
Cat.Cat_blood = 10
break
elif value == 1:
Dog.yao()
Cat.Cat_blood -= Dog.dog_attack
if Cat.Cat_blood <= 0:
print(“汪星人获得胜利”)
print("====第%s场汪瞄大战结束" % A)
C += 1
Dog.dog_blood = 10
Cat.Cat_blood = 10
break
A += 1
print(“最后汪瞄大战终于结束了”)
if B < C:
print(“喵星人获得最终胜利,喵星人万岁!”)
else:
print(“汪星人获得最终胜利,汪星人万岁万岁!”)
通过面向对象实现猫狗大战案例相关推荐
- python封装举例_Python面向对象封装操作案例详解
本文实例讲述了Python面向对象封装操作.分享给大家供大家参考,具体如下: 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 -- 将 属性 和 ...
- python 面向对象的封装_Python面向对象封装操作案例详解
本文实例讲述了Python面向对象封装操作.分享给大家供大家参考,具体如下: 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 ―― 将 属性 和 ...
- java基础语言+面向对象_经典案例——65个
文章目录 x++和++ //调用类 1.用户在控制台输入 3 个数值,需要找出这 3 个数值中的最小值,要求使用 if 语句来实现.系统交互信息如图所示: 2// 正三角形 表达式 3算术运算代码: ...
- python的面向对象编程项目案例_python面向对象编程实例ants vs bees
[实例简介] 本实例为用python语言编写,以python的面向对象.列表.局部变量等部分知识为基础,内容类似于popcap的植物大战僵尸的游戏项目 本实例为UC berkeley课程CS61A的p ...
- 《java入门第一季》之面向对象综合小案例
需求: /* 教练和运动员案例 乒乓球运动员和篮球运动员. 乒乓球教练和篮球教练. 跟乒乓球相关的人员都需要学习英语. 分析,这 ...
- 面向对象编程项目案例(栈与队列封装和乌龟吃鱼游戏)
一.Pygame相关介绍 1.Pygame是跨平台Python模块,专为电子游戏设计,包含图像.声音.允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚.Pygame常用模块 2.一个游 ...
- 思维导图:python面向对象(搞笑案例)
关联阅读:可能是最全的 Python 面向对象入门教程了 手机版本 关联阅读:可能是最全的 Python 面向对象入门教程了 Python面向对象 面向对象入门 对象编程体验 一款简单自动运行小游戏模 ...
- java面向对象共享单车案例
基本思路:1.创建公司数组,单车数组,在公司类里面写主程序,单车管理类里面写用户交互程序;2.接口制定增删改查规则,创建三家单车子公司类继承父类,父类作为实现类去实现接口(因本案例 三家公司增删改查方 ...
- 第九课 Java基础篇——面向对象(综合案例)
1.文字版格斗游戏 格斗游戏,每个游戏角色的姓名,血量,都不相同,在选定人物的时候(〈new对象的时候),这些信息就应该被确定下来. Role.Java package cn.nwafu;import ...
最新文章
- php序列化数据无法反解析,PHP-反序列化数据不起作用
- 17原理图查找连接的管脚接口_第三节 主板原理图之标识的作用
- su user oracle does not exist,Linux下oracle用户无法su切换的异常【终极解决方案_生产环境亲测有效】...
- 数据分析---ipython使用
- virtualbox php mac,mac一体机通过Oracle VM VirtualBox装win8.1系统
- ps一点等于多少厘米_企业展厅设计关于展台你了解多少?
- 长春高中计算机考试时间安排,长春部分高中期末考试时间出炉!
- django报表系统_django使用echarts
- 取消chrome浏览器下input和textarea的默认样式
- bpe编码_缓冲池扩展(BPE)–如何工作?
- Linux性能分析工具汇总
- 火狐浏览器驱动_火狐浏览器开始支持比WebGL更简单的绘图API WebGPU
- SRTM 航天飞机雷达地形测绘使命
- 关于FTP服务器出现227 Entering Passive Mode错误的解决思路
- 基于AD603的AGC电路
- filter_var函数缺陷(原理+实践)
- 数学知识的一些常用公式
- 用latex的tikz宏包mindmap包绘制mindmap
- docker安全之容器资源控制 安全加固
- 读书笔记:Mysql实战45讲 (1-10讲)