<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont

本文涉及的产品
转发路由器TR,750小时连接 100GB跨地域
简介: 1、定义普通僵尸类: 实例变量:僵尸种类、僵尸总血量、僵尸每次失血量。 方法:初始化方法(设置僵尸种类,总血量)、被打击失血、死亡。

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
目录
相关文章
|
存储 Web App开发 监控
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
我们以前使用过的对hbase和hdfs进行健康检查,及剩余hdfs容量告警,简单易用 1.针对hadoop2的脚本: #/bin/bashbin=`dirname $0`bin=`cd $bin;pwd`STATE_OK=...
1056 0
|
Web App开发 前端开发 Java
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
 Connection reset by peer的常见原因: 1)服务器的并发连接数超过了其承载量,服务器会将其中一些连接关闭;    如果知道实际连接服务器的并发客户数没有超过服务器的承载量,看下有没有网络流量异常。
862 0
|
Web App开发 存储 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
NoSuchObjectException(message:There is no database named cloudera_manager_metastore_canary_test_db_hive_hivemetastore_df61080e04cd7eb36c4336f71b5a8bc4) at org.
1082 0
|
Web App开发 前端开发 数据库
|
Web App开发 存储 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
做大做强事实表,做小做弱维表; 分布式模式-维度建模新原则  (1)以值代键:针对键值唯一的维表,除非必要,否则不引入维表,如IP地址维表,采用IP作为维表的主键,事实表中存储IP值;      (2)合理分表:传统关系型数据仓库存在多表整合的冲动,如上图Event事实表,各种Acount Ind,Finance Ind等,用来扩展表的通用性,试图把所有的数据都存储到一张表 中。
788 0
|
Web App开发 监控 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
Spark Streaming 的一些问题,做选型前关注这些问题可以有效的降低使用风险。 checkpoint checkpoint 是个很好的恢复机制。
939 0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
关于reduce边join,其最重要的是使用MultipleInputs.addInputPath这个api对不同的表使用不同的Map,然后在每个Map里做一下该表的标识,最后到了Reduce端再根据标识区分对应的表! ...
788 0
|
Web App开发 前端开发 大数据
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
打算对新建的hadoop集群使用管理工具,列了以下主要的不同点: 主要的不同点 apache Ambari ClouderaManager Express(免费版) 配置版本控制和历史记录 支...
884 0