/*打僵尸。需求:
1、定义普通僵尸类:
实例变量:僵尸总血量、僵尸每次失血量。
方法:初始化方法(总血量)、被打击失血、死亡。
2、定义路障僵尸类:
实例变量:僵尸总血量、僵尸每次失血量,道具,弱点。
方法:初始化方法(总血量)、被打击失血、失去装备、死亡。
3、定义铁桶僵尸类:
实例变量:僵尸总血量、僵尸每次失血量,道具,弱点。
方法:初始化方法(总血量)、被打击失血、失去装备、死亡。
4、在main.m中创建普通僵尸对象,设置总血量50,每次失血量为 3,没有道具。
5、在main.m中创建路障僵尸对象,设置总血量80,每次失血量为 2,设置道具为路障。
6、在main.m中创建铁桶僵尸对象,设置总血量120,每次失血量为 1,设置道具为铁桶。
7. 在main.m中模拟打僵尸的过程(通过方法调用),打死三个僵尸,提示游戏通过。
提示:每次失血,就相当于赋值操作,每次失血之后判断是否死亡
增加趣味性,可以出现“暴击”,”闪避”等效果。多数以NSLog输出为游戏提示。
*/
#import <Foundation/Foundation.h>
#import "Zombie.h"
#import "tietongZambie.h"
#import "luzhangZanbie.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
/*普通僵尸*/
Zombie *zombie1 = [[Zombie alloc]initWithHP:50];
[zombie1 setEveryTimeLossHP:3];
while (1) {
if ([zombie1 HP] == 0) {
[zombie1 death];
break;
}
[zombie1 attacked];
}
/*铁桶僵尸*/
tietongZambie *zombie2 = [[tietongZambie alloc ] initWithHP:80];
[zombie2 setEveryLossHP:1];
[zombie2 setEquipment:@"铁桶"];
while (1) {
if ([zombie2 HP] <= 50) {
[zombie2 lossEquipment];
[zombie2 setEveryLossHP:[zombie1 everyTimeLossHP]];
break;
}
[zombie2 attacked];
}
while (1) {
if ([zombie2 HP] == 0) {
[zombie2 death];
break;
}
[zombie2 attacked];
}
/*路障僵尸*/
luzhangZanbie *zombie3 = [[luzhangZanbie alloc]initWithHP:100];
[zombie3 setEveryLossHP:2];
[zombie3 setEquipment:@"路障"];
while (1) {
if ([zombie3 HP] <= 50) {
[zombie3 lossEquipment];
[zombie3 setEveryLossHP:[zombie1 everyTimeLossHP]];
break;
}
[zombie3 attacked];
}
while (1) {
if ([zombie3 HP] == 0) {
[zombie3 death];
break;
}
[zombie3 attacked];
}
}
return 0;
}
#import <Foundation/Foundation.h>
@interface Zombie : NSObject
{
//总血量
NSInteger _HP;
//每次失血
NSInteger _everyTimeLossHP;
//道具
NSString *_equipment;
//弱点
NSString *_weakness;
}
-(void)setHP : (NSInteger)HP;
-(NSInteger)HP;
-(void)setEveryTimeLossHP : (NSInteger)everyTimeLossHP;
-(NSInteger)everyTimeLossHP;
/*初始化方法*/
-(id)initWithHP : (NSInteger)HP;
/*被打击流血*/
-(void)attacked;
/*死亡*/
-(void)death;
@end
#import "Zombie.h"
@implementation Zombie
-(void)setHP:(NSInteger)HP{
_HP = HP;
}
-(NSInteger)HP{
return _HP;
}
-(void)setEveryTimeLossHP:(NSInteger)everyTimeLossHP{
_everyTimeLossHP = everyTimeLossHP;
}
-(NSInteger)everyTimeLossHP{
return _everyTimeLossHP;
}
-(id)initWithHP:(NSInteger)HP{
_HP = HP;
return self;
}
-(void)attacked{
_HP = _HP - _everyTimeLossHP;
if (_HP <= 0) {
_HP = 0;
}
NSLog(@"剩余血量: %ld",_HP);
}
-(void)death{
NSLog(@"普通僵尸,死亡");
}
@end
#import <Foundation/Foundation.h>
@interface tietongZambie : NSObject
{
NSInteger _HP;
NSInteger _everyLossHP;
//道具
NSString *_equipment;
//弱点
NSString *_weakness;
}
-(void)setHP: (NSInteger)HP;
-(NSInteger)HP;
-(void)setEveryLossHP:(NSInteger)everyLossHP;
-(NSInteger)everyLossHP;
-(void)setEquipment:(NSString *)equipment;
-(NSString *)equipment;
-(void)setWeakness:(NSString *)weakness;
-(NSString *)weakness;
-(id)initWithHP:(NSInteger)HP;
-(void)attacked;
-(void)death;
-(void)lossEquipment;
@end
#import "tietongZambie.h"
@implementation tietongZambie
-(void)setHP:(NSInteger)HP{
_HP = HP;
}
-(NSInteger)HP{
return _HP;
}
-(void)setEveryLossHP:(NSInteger)everyLossHP{
_everyLossHP = everyLossHP;
}
-(NSInteger)everyLossHP{
return _everyLossHP;
}
-(void)setEquipment:(NSString *)equipment{
_equipment = equipment;
}
-(NSString *)equipment{
return _equipment;
}
-(void)setWeakness:(NSString *)weakness{
_weakness = weakness;
}
-(NSString *)weakness{
return _weakness;
}
-(id)initWithHP:(NSInteger)HP{
_HP = HP;
return self;
}
-(void)attacked{
_HP = _HP - _everyLossHP;
if (_HP <= 0) {
_HP = 0;
}
NSLog(@"剩余血量: %ld",_HP);
}
-(void)death{
NSLog(@"铁桶僵尸死亡");
}
-(void)lossEquipment{
NSLog(@"铁桶僵尸 失去装备");
}
@end
#import <Foundation/Foundation.h>
@interface luzhangZanbie : NSObject
{
NSInteger _HP;
NSInteger _everyLossHP;
//道具
NSString *_equipment;
//弱点
NSString *_weakness;
}
-(void)setHP: (NSInteger)HP;
-(NSInteger)HP;
-(void)setEveryLossHP:(NSInteger)everyLossHP;
-(NSInteger)everyLossHP;
-(void)setEquipment:(NSString *)equipment;
-(NSString *)equipment;
-(void)setWeakness:(NSString *)weakness;
-(NSString *)weakness;
-(id)initWithHP:(NSInteger)HP;
-(void)attacked;
-(void)death;
-(void)lossEquipment;
@end
#import "luzhangZanbie.h"
@implementation luzhangZanbie
-(void)setHP:(NSInteger)HP{
_HP = HP;
}
-(NSInteger)HP{
return _HP;
}
-(void)setEveryLossHP:(NSInteger)everyLossHP{
_everyLossHP = everyLossHP;
}
-(NSInteger)everyLossHP{
return _everyLossHP;
}
-(void)setEquipment:(NSString *)equipment{
_equipment = equipment;
}
-(NSString *)equipment{
return _equipment;
}
-(void)setWeakness:(NSString *)weakness{
_weakness = weakness;
}
-(NSString *)weakness{
return _weakness;
}
-(id)initWithHP:(NSInteger)HP{
_HP = HP;
return self;
}
-(void)attacked{
_HP = _HP - _everyLossHP;
if (_HP <= 0) {
_HP = 0;
}
NSLog(@"剩余血量: %ld",_HP);
}
-(void)death{
NSLog(@"路障僵尸死亡");
}
-(void)lossEquipment{
NSLog(@"路障僵尸 失去装备");
}
@end