OC:打僵尸问题(类的问题)

1、定义普通僵尸类:

 实例变量:僵尸种类、僵尸总血量、僵尸每次失血量。

 方法:初始化方法(设置僵尸种类,总血量)、被打击失血、死亡。

 
 2、定义路障僵尸类:

 实例变量:僵尸种类、僵尸总血量、僵尸每次失血量,道具,弱点。

 
方法:初始化方法(设置僵尸种类,总血量)、被打击失血、失去装备、死亡。

3、定义铁桶僵尸类:

 
实例变量:僵尸种类、僵尸总血量、僵尸每次失血量,道具,弱点。

 
方法:初始化方法(设置僵尸种类,总血量)、被打击失血、失去装备、死亡。

4、在main.m中创建普通僵尸对象,设置总血量50,每次失血量为
3,没有道具。

5、在main.m中创建路障僵尸对象,设置总血量80,每次失血量为
2,设置道具为路障。

6、在main.m中创建铁桶僵尸对象,设置总血量120,每次失血量为
1,设置道具为铁桶。

main.m文件

 


#import
#import "CommonZombie.h"
#import "BarrierZombie.h"
#import "BucketZombie.h"
int main(int argc, const char * argv[])
{

    @autoreleasepool {

        //创建普通僵尸对象
        CommonZombie *xiaoGuang = [[CommonZombie alloc] initWithKind:@"普通僵尸" totalBlood:50];
        //设置每次失血量
        [xiaoGuang setReduceBlood:3];

        //创建路障僵尸
        BarrierZombie *xiaoMeng = [[BarrierZombie alloc] initWithKind:@"路障僵尸" totalBlood:80];
        //设置每次失血量
        [xiaoMeng setReduceBlood:2];
        //设置装备
        [xiaoMeng setProp:@"路障"];

        //创建铁桶僵尸
        BucketZombie *xiaoCui = [[BucketZombie alloc] initWithKind:@"铁桶僵尸" totalBlood:120];
        //设置每次失血量
        [xiaoCui setReduceBlood:1];
        //设置装备
        [xiaoCui setProp:@"铁桶"];

    }
    return 0;
}

 

普通僵尸CommonZombie.m文件

 


#import "CommonZombie.h"

@implementation CommonZombie
//customized init method
- (id)initWithKind:(NSString *)kind totalBlood:(NSInteger)totalBlood
{
    _kind = kind;
    _totalBlood = totalBlood;
    return self;
}
//失血
- (void)loseBlood
{
    NSLog(@"哎呀,哎呀,要死啦要死啦,掉了3滴血");
    _totalBlood -= _reduceBlood;
}
//死亡
- (void)death
{
    NSLog(@"哎呀,哎呀,死啦死啦,这次是真死啦");
}
//设置每次的失血量
- (void)setReduceBlood:(NSInteger)reduceBlood
{
    _reduceBlood = reduceBlood;
}
@end

 

路障僵尸BarrierZombie.m


#import "BarrierZombie.h"

@implementation BarrierZombie
//customized init method
- (id)initWithKind:(NSString *)kind totalBlood:(NSInteger)totalBlood
{
    _kind = kind;
    _totalBlood = totalBlood;
    return self;
}
//失血
- (void)loseBlood
{
    NSLog(@"哎呀,哎呀,要死啦要死啦,掉了3滴血");
    _totalBlood -= _reduceBlood;
}
//死亡
- (void)death
{
    NSLog(@"哎呀,哎呀,死啦死啦,这次是真死啦");
}
//失去装备
- (void)loseProp
{
    NSLog(@"哎呀,哎呀,要死啦,要死啦,装备没了");
}
//设置每次的失血量
- (void)setReduceBlood:(NSInteger)reduceBlood
{
    _reduceBlood = reduceBlood;
}
//设置装备
- (void)setProp:(NSString *)prop
{
    _prop = prop;
}
@end

铁桶僵尸BucketZombie.m


#import "BucketZombie.h"

@implementation BucketZombie
//customized init method
- (id)initWithKind:(NSString *)kind totalBlood:(NSInteger)totalBlood
{
    _kind = kind;
    _totalBlood = totalBlood;
    return self;
}
//失血
- (void)loseBlood
{
    NSLog(@"哎呀,哎呀,要死啦要死啦,掉了3滴血");
    _totalBlood -= _reduceBlood;
}
//死亡
- (void)death
{
    NSLog(@"哎呀,哎呀,死啦死啦,这次是真死啦");
}
//失去装备
- (void)loseProp
{
    NSLog(@"哎呀,哎呀,要死啦,要死啦,装备没了");
}
//设置每次的失血量
- (void)setReduceBlood:(NSInteger)reduceBlood
{
    _reduceBlood = reduceBlood;
}
//设置装备
- (void)setProp:(NSString *)prop
{
    _prop = prop;
}
@end
时间: 2024-10-29 17:58:14

OC:打僵尸问题(类的问题)的相关文章

iOS - OC SingleClass 单例类

前言 对于一个单例类,无论初始化单例对象多少次,在程序的整个生命周期内,只会创建一个类的实例对象,而且只要程序不被杀死,该实例对象就不会被释放,并且该对象是全局的,能够被整个系统访问到. 在应用这个模式时,单例对象的类必须保证只有一个实例存在.许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为.比如在 APP 开发中我们可能在任何地方都要使用用户的信息,那么可以在登录的时候就把用户信息存放在一个文件里面,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这

Chillingo发布僵尸类新游《僵尸拉力赛》

AppStore里的 僵尸游戏可谓是数不胜数,可见僵尸游戏还是很受玩家们的喜爱.不知道这款Chillingo发布的新游<僵尸 拉力赛R.I.P. Rally>是否能获取你的芳心呢?<R.I.P. Rally>已经免费上架,喜欢Chillingo以及僵尸类游戏的玩家们不要错过! 游戏名称:<R.I.P. Rally>价格:免费点击下载发布日期:2013年4月18日大小:47.2 MB<R.I.P. Rally>游戏截图<R.I.P. Rally>是

OC语言大总结(上)

根据OC学习的知识点,总结了一下,希望能帮到大家! 作者:韩俊强  未经允许,请勿转载! 关注博主:http://weibo.com/hanjunqiang 第一节类于对象   类与对象http://blog.sina.com.cn/s/blog_814ecfa90102vtum.html 知识点 注意事项 面向对象编程 OOP(Object Oriented Programming) 面向对象语言 C++,Java,C#,OC,Swift 概念 类,对象,封装,继承,多态... 面向过程编程

Swift OC混编

swift 语言出来后,可能新的项目直接使用swift来开发,但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块,不想再在swift 中再写一次,哪就使用混编.这个在IOS8中是允许的. 先中简单的入手,先研究在同一个工程目录下混合使用的情况. 为了演示.先准备两个类 第一个是swift语言写的类,文件名为 act.swift [cpp] view plaincopy import Foundation      class Act : NSObject   {       fun

Objective C Programming( OC ) 语法特点总结

移动市场是块巨大的迅速的,发展的市场,我看好它.IOS中OC是很重要的语言,通过看<Objective C Programming>,能让我对OC有个大概的了解.为了加深印象,特于此加以总结. OC是源于SmallTalk的,起源甚至比C++还早.其直接父系语言为C语言. OC通过@interface-@end以及@implementation-@end来实现类声明和定义. OC中类一般至少继承与Object类 OC中所有的类对象必须动态申请,也就是说没有局部变量这么一说. OC中类没有所谓的

OC方法和文件编译

一.OC方法 (一)对象方法 (1)对象方法以-开头如 -(void)xx; (2)对象方法只能又对象来调用 (3)对象方法中可以访问当前对象的成员变量 (4)调用格式 [对象名 对象方法名]: (5)设计一个学生类和狗类,练习对象方法的使用. 学生类的声明: 学生类的实现: 狗类的声明: 狗类的实现: 主程序: (二)类方法 (1)类方法以+开头 如+(void)put; (2)类方法只能由类来调用 (3)类方法中不能访问实例(成员)变量,因为类方法又类来调用,并没有创建存储空间来存储类中的成

java-怎么抛出自定义异常类中内部异常类?

问题描述 怎么抛出自定义异常类中内部异常类? 问题在代码中已标出,请大婶解疑,能不能这样做,这样做能不能实现 import javax.swing.JOptionPane; public class PasswdException extends Exception { PasswdException(int i) { if (i < 6) { System.out.println("密码不能小于六位"); } if (i > 6) { System.out.println

iOS - OC 与 Swift 互相操作

前言 在 Swift 语言中,我们可以使用 Objective-C.C 语言编写代码,我们可以导入任意用 Objective-C 写的 Cocoa 平台框架.Objective-C 框架或 C 类库. 1.在 Swift 中使用 Objective-C.C 代码 1.1 在 Swift 项目中使用 Objective-C.C 代码 1> 在 Swift 项目中创建 OC/C 的 .h 和 .m / .c 文件,文件中的格式为其本有的格式. 2> Xcode 提示是否创建 Objective-C

iOS学习目录

IOS开发学习索引目录:http://blog.sina.com.cn/s/blog_814ecfa90102vwlu.html ---------------每走一步------------------------- ---------------就是进步------------------------- ================整理UI总结:==================== 控件的基本使用 : http://blog.sina.com.cn/s/blog_814ecfa901