day 19 作业
今日作业
1.什么是对象?什么是类?
对象是特征与技能的结合体,类是一系列对象相同的特征与技能的结合体
2.绑定方法的有什么特点
由对象来调用称之为对象的绑定方法,不同的对象调用该绑定方法,则会将不同的对象传入该绑定方法中,对象的绑定方法,是由对象来调用的,特殊之处就是把对象当作第一个参数传入该方法中。
3.基于面向对象设计一个对战游戏
# 仿制英雄联盟英雄角色
'''
瑞雯:
生命值:414 攻击力:54 护甲:12 金币:1000
盖伦
生命值:455 攻击力:56 护甲:19 金币:150
'''
class Riven:
camp = 'Noxus'
def __init__(self,nickname,aggr=54,life_value=414,money=1000,armor=12):
self.nickname = nickname
self.aggr = aggr
self.life_value = life_value
self.money = money
self.armor = armor
def attack(self,enemy):
damage_value = self.aggr-enemy.armor
enemy.life_value -= damage_value
class Garen:
camp = 'Demacia'
def __init__(self,nickname,aggr=56,life_value=455,money=150,armor=19):
self.nickname = nickname
self.aggr = aggr
self.life_value = life_value
self.money = money
self.armor = armor
def attack(self,enemy):
damage_value = self.aggr-enemy.armor
enemy.life_value -= damage_value
class DoranBlade:
def __init__(self,price=450,aggr=8,life_value=80):
self.price = price
self.aggr = aggr
self.life_value = life_value
def update(self,obj):
obj.money -= self.price # 扣钱
obj.aggr += self.aggr # 加攻击力
obj.life_value +=self.life_value # 加生命值
def blood(self,obj): # 装备主动技能流血
obj.life_value -= 500
r1 = Riven('瑞雯')
g1 = Garen('草丛伦')
b1 = DoranBlade()
print(r1.aggr,r1.life_value,r1.money) # r1的攻击力,生命值,金钱
if r1.money > b1.price:
r1.b1 = b1
b1.update(r1)
print(r1.aggr,r1.life_value,r1.money) # 此时r1的攻击力,生命值、金钱
print(g1.life_value)
r1.attack(g1) # 普通攻击
print(g1.life_value)
r1.b1.blood(g1) # 流血攻击
print(g1.life_value)
day 19 作业的更多相关文章
- day 19作业
目录 今日作业: 今日作业: 1.什么是对象?什么是类? 答:对象是特征与技能的集合体,类是一系列对象相同的特征与技能的结合体 2.绑定方法的有什么特点 答:由对象来调用称之为对象的绑定方法,不同的对 ...
- 数据分析之pandas教程-----概念篇
目录 1 pandas基本概念 1.1 pandas数据结构剖析 1.1.1 Series 1.1.2 DataFrame 1.1.3 索引 1.1.4 pandas基本操作 1.1.4. ...
- Python学习计划
---恢复内容开始--- Python学习计划 https://edu.csdn.net/topic/python2?utm_source=blog4 匠人之心,成就真正Python全栈工程师 ...
- Java基础经典案例
案例列表 01减肥计划switch版本 02减肥计划if版本 03逢七跳过 04不死神兔 05百钱白鸡 06数组元素求和 07判断两个数组是否相同 08查找元素在数组中的索引 09数组元素反转 10评 ...
- 团队作业8——第二次项目冲刺(Beta阶段)--5.19 first day
团队作业8--第二次项目冲刺(Beta阶段)--5.19 Day one: 会议照片 项目进展 由于今天是Beta版本项目冲刺的第一天,所以没有昨天已完成任务.以下是今日具体的任务安排. 队员 今日计 ...
- 团队作业8——第二次项目冲刺(Beta阶段) 5.19
Day1--5.19 1.展开站立式会议(拍摄者:武健男): 会议内容:(1)新成员自我介绍,使大家能更快熟悉并一起合作. (2)由于我们之前的项目经理去了别的小组,所以我们投票选取新成员林乔桦作为我 ...
- 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!
// test20.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include< ...
- 团队作业8——第二次项目冲刺(Beta阶段)Day2--5.19
1.展开站立式会议: 会议内容:①汇报一天大家任务的完成成果. ②新成员对学到的知识进行交流,并向老成员提问. ③根据大家的进度制定新一轮的任务计划. 2.每个人的工作分配 队员 今日任务 明日任务 ...
- (10.19)Java小作业
在java的学习过程中数组的版块也是十分重要的,包括一些教程也会在这个知识点花上更多的时间来讲解,足以证明 这个知识点的重要性,今天想和大家分享一道学习数组过程中不可避免的求最值题. 已知一个整形数组 ...
随机推荐
- linux zip命令 tar命令 【压缩、解压缩】参数列表:
linux zip命令参数列表: -a 将文件转成ASCII模式 -F 尝试修复损坏的压缩文件 -h 显示帮助界面 -m 将文件压缩之后,删除源文件 -n 特定字符串 不压缩具有特定字尾字符串 ...
- Cassandra开发入门文档第二部分(timeuuid类型、复合主键、静态字段详解)
timeuuid类型 timeuuid具有唯一索引和日期时间的综合特性,可以与日期和时间函数联合使用,常用的关联函数: dateOf() now() minTimeuuid() and maxTime ...
- android问题总结:
1. android:focusableInTouchMode="true" 属性: 控制 子view不获取焦点: <android.support.v4.widget. ...
- java 快速定位线上cpu偏高
1.top -c 加 大写P 查找高进程ID 2.top -Hp 加 大写 P 查找高线程ID 3.printf '%x\n' 线程ID 转成16进制 4.jstack 进程ID | grep 16进 ...
- Mobaxterm使用(类似xshell)
先来看看SSH是什么,定义如下:SSH是一种可以保证用户远程登录到系统的协议.实际上,SSH是一个网络协议,允许通过网络连接到Linux和Unix服务器.SSH使用公钥加密来认证远程的计算机.通常有多 ...
- obj.GetType().GetCustomAttributes
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- (CSDN迁移) html中的rel属性
在页面上若需要同时存在多个页面,就通过一个button开启一个页面时,就需要指定不同的 rel="relName". 否则新页面就会将就原有的页面给覆盖掉.
- ThreadLocal源代码2
private static int nextIndex(int i, int len) { return ((i + 1 < len) ? i + 1 : 0); } private stat ...
- 抽象工厂(AbstractFactory)模式
抽象工厂模式又称工具箱模式.其实抽象工厂模式可以简单的理解为一个工厂生成一个产品族的产品. 抽象工厂模式可以向客户端提供一个接口,使得客户端在不指定产品的具体类型的情况下,创建多个产品族中的产品对象. ...
- 如何申请高德地图用户Key
打开网页https://lbs.amap.com/,进入高德开发平台. 单击箭头处[注册],打开注册页面.(如果您已注册为高德地图开发者可跳过此步骤,直接登录即可). 选择[成为个人开发者],如果您是 ...