今日作业

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 作业的更多相关文章

  1. day 19作业

    目录 今日作业: 今日作业: 1.什么是对象?什么是类? 答:对象是特征与技能的集合体,类是一系列对象相同的特征与技能的结合体 2.绑定方法的有什么特点 答:由对象来调用称之为对象的绑定方法,不同的对 ...

  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. ...

  3. Python学习计划

    ---恢复内容开始--- Python学习计划   https://edu.csdn.net/topic/python2?utm_source=blog4   匠人之心,成就真正Python全栈工程师 ...

  4. Java基础经典案例

    案例列表 01减肥计划switch版本 02减肥计划if版本 03逢七跳过 04不死神兔 05百钱白鸡 06数组元素求和 07判断两个数组是否相同 08查找元素在数组中的索引 09数组元素反转 10评 ...

  5. 团队作业8——第二次项目冲刺(Beta阶段)--5.19 first day

    团队作业8--第二次项目冲刺(Beta阶段)--5.19 Day one: 会议照片 项目进展 由于今天是Beta版本项目冲刺的第一天,所以没有昨天已完成任务.以下是今日具体的任务安排. 队员 今日计 ...

  6. 团队作业8——第二次项目冲刺(Beta阶段) 5.19

    Day1--5.19 1.展开站立式会议(拍摄者:武健男): 会议内容:(1)新成员自我介绍,使大家能更快熟悉并一起合作. (2)由于我们之前的项目经理去了别的小组,所以我们投票选取新成员林乔桦作为我 ...

  7. 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!

    // test20.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include< ...

  8. 团队作业8——第二次项目冲刺(Beta阶段)Day2--5.19

    1.展开站立式会议: 会议内容:①汇报一天大家任务的完成成果. ②新成员对学到的知识进行交流,并向老成员提问. ③根据大家的进度制定新一轮的任务计划. 2.每个人的工作分配 队员 今日任务 明日任务 ...

  9. (10.19)Java小作业

    在java的学习过程中数组的版块也是十分重要的,包括一些教程也会在这个知识点花上更多的时间来讲解,足以证明 这个知识点的重要性,今天想和大家分享一道学习数组过程中不可避免的求最值题. 已知一个整形数组 ...

随机推荐

  1. mysql 日期自动自动添加及更新为当前时间

    1. 虽然mysql中日期时间类型比较多,但是支持默认值的类型只有timestamp,详见这里. 2. 希望新增记录时自动写入当前时间,建表语句如下: `create_time` timestamp ...

  2. Jackson的基本用法与拓展

    目录 一.先搞两个测试需要使用的类 二.简单操作:obj与json互转 2.1.对象转json字符串 2.2.json字符串转对象 三.拓展需求 3.1.对象转json时,忽略某个字段 3.2.对象转 ...

  3. oracle 涨工资

    declare cursor cemp is select empno ,sal from emp order by sal; --定义参数 pempno emp.empno%type; psal e ...

  4. 工控随笔_C#连接PLC_之_C#入门_01_配置学习环境

    最近在做一个东西,需要用到通用开发语言开发一个软件来读取PLC的内容,这方面的难点在于解析PLC利用 以太网通讯的通讯协议,而一般的PLC厂商对自己的协议是封闭的,对一般的开发者是不开放的,虽然可以通 ...

  5. Install Teamviewer on 14.04? [repost]

    Ref: http://askubuntu.com/questions/453157/how-to-install-teamviewer-on-14-04 TeamViewer 是一款优秀的跨平台免费 ...

  6. Vue(九)使用Ant Design入门——环境搭建

    安装 npm install ant-design-vue --save 然后在main.js里面引入 import ant from 'ant-design-vue' import 'ant-des ...

  7. [转帖]超能课堂(207) SD卡标准错综复杂,到底该认哪一个?

    超能课堂(207)SD卡标准错综复杂,到底该认哪一个? https://www.expreview.com/71505.html 开始的地方 SD容量等级 SD标准(SDSC) SDHC SDXC S ...

  8. Jenkins+gitlab+msbuild

    配置gitlab 这里会生成一个token在页面上方,一定要复制出来.存在别的地方. jenkins配置gitlab 在jenkins服务器上安装vs,目的是使用它的msbuild,如果项目中还用到了 ...

  9. Python学习之路:函数传递可变参数与不可变参数

    函数传参的方法: 太基础了,8说了 直接上重点 一.可变参数的传递 可变参数有:列表.集合.字典 直接上代码: a = [1, 2] def fun(a): print('传入函数时a的值为:', a ...

  10. ETCD服务

    ETCD 简介 ETCD是一个开源的.分布式的键值对数据存储系统,由Go语言实现,用于存储key-value键值对,同时不仅仅是存储,主要用途是提供共享配置及服务发现,使用Raft一致性算法来管理高度 ...