oc 打僵尸 定义僵尸类
来源:互联网 发布:vmware虚拟机网络桥接 编辑:程序博客网 时间:2024/05/21 10:19
打僵尸。需求:
1、定义普通僵尸类:
实例变量:僵尸种类、僵尸总血量、僵尸每次失血量。
方法:初始化方法(设置僵尸种类,总血量)、被打击失血、死亡。
2、定义路障僵尸类:
实例变量:僵尸种类、僵尸总血量、僵尸每次失血量,道具,弱点。
方法:初始化方法(设置僵尸种类,总血量)、被打击失血、失去装备、死亡。
3、定义铁桶僵尸类:
实例变量:僵尸种类、僵尸总血量、僵尸每次失血量,道具,弱点。
方法:初始化方法(设置僵尸种类,总血量)、被打击失血、失去装备、死亡。
4、在main.m中创建普通僵尸对象,设置总血量50,每次失血量为 3,没有道具。
5、在main.m中创建路障僵尸对象,设置总血量80,每次失血量为 2,设置道具为路障。
6、在main.m中创建铁桶僵尸对象,设置总血量120,每次失血量为 1,设置道具为铁桶。
.h文件.
#import <Foundation/Foundation.h>
@interface Zombie : NSObject//定义普通僵尸类{
NSString *_type;
NSInteger _blood;
NSInteger _loss;
}
- (id)initWithType:(NSString *)type blood:(NSInteger )blood loss:(NSInteger )loss;//自定义初始化方法
- (void)die;//僵尸死亡方法
- (NSInteger)lossBlood:(NSInteger)blood loss:(NSInteger)loss;//僵尸掉血方法
@end
#import <Foundation/Foundation.h>
@interface RoadblockZombie : NSObject//定义路障僵尸类
{
NSString *_type;//类型
NSString *_prop;//道具
NSString *_weakness;//弱点
NSInteger _blood;//血量
NSInteger _loss;//掉血量
}
- (id)initWithType:(NSString *)type prop:(NSString *)prop blood:(NSInteger )blood loss:(NSInteger )loss;//自定义初始化方法
- (void)die;//僵尸死亡方法
- (NSInteger)lossBlood:(NSInteger)blood loss:(NSInteger)loss;//僵尸掉血方法
@end
@interface BucketZombie : NSObject//定义铁桶僵尸类
{
NSString *_type;
NSString *_prop;//道具
NSString *_weakness;//弱点
NSInteger _blood;
NSInteger _loss;
}
- (id)initWithType:(NSString *)type prop:(NSString *)prop blood:(NSInteger )blood loss:(NSInteger )loss;//自定义初始化方法
- (void)die;//僵尸死亡方法
- (NSInteger)lossBlood:(NSInteger)blood loss:(NSInteger)loss;//僵尸掉血方法
@end
.m文件
#import "Zombie.h"
@implementation Zombie
- (id)initWithType:(NSString *)type blood:(NSInteger )blood loss:(NSInteger )loss{
_type = type;
_blood = blood;
_loss = loss;
return self;
}
- (void)die{
NSLog(@"你们等着!");
}
- (NSInteger)lossBlood:(NSInteger)blood loss:(NSInteger)loss{
_blood = blood - _loss;//初始血量不变,每次打击的血量累加达到每次打击掉血相同的效果
_loss += loss;
if (_blood < 0) {
NSLog(@"我不行了");
}else{
NSLog(@"还有血量%ld",_blood);
}
return _blood;
}
@end
#import "RoadblockZombie.h"
@implementation RoadblockZombie
- (id)initWithType:(NSString *)type prop:(NSString *)road blood:(NSInteger )blood loss:(NSInteger )loss{
_type = type;
_prop = road;
_blood = blood;
_loss = loss;
return self;
}
- (void)die{
NSLog(@"你们等着!");
}
- (NSInteger)lossBlood:(NSInteger)blood loss:(NSInteger)loss{
_blood = blood - _loss;
_loss += loss;
if (_blood <= 50) {//当血量低于50时,认为失去道具,变为普通僵尸
_loss += 1;
if (_blood <= 0) {
NSLog(@"我不行了");
}else{
NSLog(@"我快不行了");
NSLog(@"还有血量%ld",_blood);
}
}else{
NSLog(@"还有血量%ld",_blood);
}
return _blood;
}
@end
#import "BucketZombie.h"
@implementation BucketZombie
- (id)initWithType:(NSString *)type prop:(NSString *)bucket blood:(NSInteger )blood loss:(NSInteger )loss{
_type = type;
_prop = bucket;
_blood = blood;
_loss = loss;
return self;
}
- (void)die{
NSLog(@"你们等着!");
}
- (NSInteger)lossBlood:(NSInteger)blood loss:(NSInteger)loss{
_blood = blood - _loss;
_loss += loss;
if (_blood <= 50) {//当血量低于50时,认为失去道具,变为普通僵尸
_loss += 2;
if (_blood <= 0) {//防止输出血量为负数
NSLog(@"我不行了");
}else{
NSLog(@"我快不行了");
NSLog(@"还有血量%ld",_blood);
}
}else{
NSLog(@"还有血量%ld",_blood);
}
return _blood;
}
@end
main函数
Zombie *general = [[Zombie alloc] initWithType:@"general" blood:50 loss:3];
NSInteger leftblood1 = 50;//剩余血量
while (leftblood1 > 0) {
leftblood1 = [general lossBlood:50 loss:3];
}
if (leftblood1 < 0) {
[general die];
}
RoadblockZombie *road = [[RoadblockZombie alloc] initWithType:@"road" prop:@"Roadlock" blood:80 loss:2];
NSInteger leftblood2 = 80;
while (leftblood2 > 0) {
leftblood2 = [road lossBlood:80 loss:2];
}
if (leftblood2 <= 0) {
[road die];
}
BucketZombie *bucket = [[BucketZombie alloc] initWithType:@"BucketZombie" prop:@"Bucket" blood:120 loss:1];
NSInteger leftblood3 = 120;
while (leftblood3 > 0) {
leftblood3 = [bucket lossBlood:120 loss:1];
}
if (leftblood3 <= 0) {
[bucket die];
}
- oc 打僵尸 定义僵尸类
- oc 打僵尸 定义僵尸类
- OC打僵尸
- OC 打僵尸
- OC打僵尸小样
- OC:打僵尸问题(类的问题)
- OC:打僵尸问题(类的问题)
- 打僵尸。
- OC继承课后练习_打僵尸
- 模拟打僵尸(OC-继承题)
- OC前三讲小结及打僵尸的继承练习
- OC第三讲继承-模拟打僵尸
- OC-继承-初始化方法-便利构造器(练习题-打僵尸)
- Objective-C语言编写(OC)打僵尸小游戏源码
- 打僵尸代码
- 1、定义普通僵尸类: 实例变量:僵尸种类、僵尸总血量、僵尸每次失血量。 方法:初始化方法(设置僵尸种类,总血量)、被打击失血、死亡。
- Objective-C打僵尸代码
- 2、定义路障僵尸类: 实例变量:僵尸种类、僵尸总血量、僵尸每次失血量,道具,弱点。方法:初始化方法(设置僵尸种类,总血量)、被打击失血、失去装备、死亡。
- Java实现几种常见排序方法
- Robot Motion(水题)
- HDU3395 Special Fish 费用流
- oc协议,延展,分类
- setCompoundDrawables与setCompoundDrawablesWithIntrinsicBounds的区别
- oc 打僵尸 定义僵尸类
- [LeetCode] Edit Distance和Distance Subsequences
- linux shell 时间运算以及时间差计算方法
- java排序算法总结
- 学习Mysql点点滴滴
- poj 3264 Balanced Lineup
- cruiscontroller的理解和学习
- ibatIS打印SQL的log4j配置
- Android:国家气象局天气预报接口JSON完全解析