python开发之旅——面向对象【人狗大战】

class Dog:
    role = ‘Dog‘
    def __init__(self,name,breed,attack_val):
        self.name = name
        self.breed = breed
        self.attack_val = attack_val
        self.life_val = 100
    def bite(self,person):
        person.life_val -= self.attack_val
        print(‘狗%s咬人%s 人掉了%s血,还剩%s血‘%(self.name,person.name,self.attack_val,person.life_val))
class Person:
    role = ‘Person‘
    def __init__(self,name,sex,attack_val):
        self.name = name
        self.sex = sex
        self.life_val = 100
        self.attack_val = attack_val
    def attack(self,dog):
        dog.life_val -= self.attack_val
        print(‘人%s打打狗%s 狗掉了%s血,还剩%s血‘%(self.name,dog.name,self.attack_val,dog.life_val))
d1 = Dog(‘叶薇琦‘,‘二哈‘,30)
p1 = Person(‘苏灿吉‘,‘男‘,50)
d1.bite(p1)
p1.attack(d1)

原文地址:https://www.cnblogs.com/sucanji/p/10863649.html

时间: 2024-11-07 09:41:38

python开发之旅——面向对象【人狗大战】的相关文章

python开发面向对象基础:人狗大战学面向对象

一,通过函数写人狗大战这个故事 1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 4 #1.函数 人模子 5 def person(name,level,life_value): 6 p_dic = { 7 'name':name, 8 'level':level, 9 'life_value':life_value 10 } 11 return p_dic 12 joker = person('joker',100,4000) 13 14 #函数

Python学习之旅—面向对象进阶知识:类的命名空间,类的组合与继承

前言 上篇博客笔者带领大家初步梳理了Python面向对象的基础知识,本篇博客将专注于解决三个知识点:类的命名空间,类的组合以及面向对象的三大特性之一继承,一起跟随笔者老看看今天的内容吧. 1.类的命名空间 在上一篇博客中,我们提到过对象可以动态添加属性,一起来回忆下昨天的知识点,看如下的代码: class A: pass a = A() a.name = 'alex' print(a.name) 这里我们手动为a对象添加了一个属性name,然后直接打印可以得到a对象的名称.通过这个例子,我们可以

面向对象方法实战 -人狗大战

class Animal: #定义一个动物类 def __init__(self,name,hp,attack): self.name =name self.hp =hp self.attack =attack class Person(Animal): #继承动物类 def dg(self,dog): #创建人打狗的方法 dog.hp-=self.attack class Dog(Animal): #继承动物类 def yr(self,peole): #创建狗咬人的方法 peole.hp-=s

python开发学习-day07(面向对象之多态、类的方法、反射、新式类and旧式类、socket编程)

s12-20160227-day07 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table, pre { margin

082 实例 人狗大战

定义一个狗类 class Dog: type_dog = '藏獒' # 对象生成的属性-->通过__init__方法 def __init__(self,name,aggressivity,hp=100): self.name = name self.aggressivity = aggressivity self.hp = hp # 定义对象相同的方法 def bite(self,target): # target.hp-->人的血量 # self.aggressivity->当前狗的

python基础8之面向对象引子

一.概述 很对人都不理解编程中的面向对象的概念,那我们先来说说面向对象的引子,由这个引子带领我们更好的理解面向对象的概念. 二.面向对象引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你就思考呀,人狗作战,那至少需要2个角色,一个是人, 一个是狗,且人和狗都有不同的技能,比如人拿棍打狗, 狗可以咬人,怎么描述这种不同的角色和他们的功能呢?你搜罗了自己掌握的所有技能,写出了下面的代码来描述这两个角色: def person(name,age,sex,job): d

python开发面向对象基础:组合&amp;继承

一,组合 组合指的是,在一个类中以另外一个类的对象作为数据属性,称为类的组合      人类装备了武器类就是组合 1.圆环,将圆类实例后传给圆环类 1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 4 #circle,圆类 5 from math import pi 6 class Circle: 7 def __init__(self,radius): 8 self.radius = radius 9 def perimeter(self): 10

python学习笔记(6)--面向对象学习

本节内容: 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法. 引言 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做(人狗大战)的游戏,你就思考啊,人狗作战,那么至少需要两个角色,一个是人,一个是狗,且人和狗都有不同的技能,比如人拿棍子打狗,狗可以进行咬人等等,怎么描述这种不同角色和他们各自的功能呢? 你搜罗了自己掌握的所有技能,写下了下面的代码来描述这两个角色 1 def person(name,age,sex,job): 2 data = {

为什么越来越多的企业选择使用Python开发?

近来,Python作为一种功能强大且通用的编程语言而广受好评,它具有非常清晰的语法特点,适用于多种操作系统,目前在国际上非常流行,正在得到越来越多的应用.1.简介    Python,是一种面向对象.直译式的计算机程序语言,具有近二十年的发展历史.它包含了一组功能完备的标准库,能够轻松完成很多常见的任务.它的语法简单,与其他大多数程序设计语言使用大括号不同,它使用缩进来定义语句块.    Python支持命令式程序设计.面向对象程序设计.函数式编程.面向侧面的程序设计.范型编程多种编程范式. 2