OC之对象传递游戏浅试
来源:互联网 发布:ladder mac版怎么用 编辑:程序博客网 时间:2024/06/13 12:07
学习完函数在OC中的传递以及结合之前的C语言无聊之中写了一段小程序
程序执行结果如下
输入不同的数会有不同的结果只简单的做了2个判断
具体代码如下
mian函数
#import<Foundation/Foundation.h>
#import"soldier.h"
#import"bullet.h"
#import"Gun.h"
int main(int argc,const char * argv[]) {
int money;
NSLog(@"请充值人民币");
scanf("%d",&money);
NSLog(@"恁充值了%d元",money);
soldier *db=[soldiernew];
db->_name=@"大兵";
soldier *enemy=[soldiernew];
enemy->_name=@"炮灰";//敌人名字
enemy->_life=30;
Gun *ln=[Gunnew];
ln->_name=@"加特林";
Gun *nq=[Gunnew];
nq->_name=@"鸟枪";
bullet *a=[bulletnew];//新建2把枪不同威力
bullet *b=[bulletnew];
b->_amount=20;
b->_power=10;
a->_amount=5;
a->_power=3;
if(money>50){
[dbUse:lnandBullet:bandShootToOther:enemy];//Q币到账使用加特林具有连发功能
[dbUse:ln andBullet:b andShootToOther:enemy];
[dbUse:ln andBullet:b andShootToOther:enemy];
}else
[dbUse:nqandBullet:aandShootToOther:enemy];//钱不够使用鸟枪
}
士兵类
import<Foundation/Foundation.h>
@classGun;
@classbullet;//提示程序以有这个类
@interface soldier :NSObject
{@public
int _life;
NSString * _name;
}
-(void) Use:(Gun*)gun andBullet:(bullet *)bullet andShootToOther:(soldier *)other;//士兵用枪方法
@end
@implementationsoldier
- (void) Use:(Gun *)gun andBullet:(bullet *)bullet andShootToOther:(soldier *)other {
NSLog(@"%@使用%@发射",_name,gun->_name);
[gunfire:bulletandToOtherSoldier:other];
}
@end
枪类
#import"bullet.h"
#import<Foundation/Foundation.h>
@interface Gun :NSObject
{@public
NSString *_name; //枪的型号
}
-(void) fire:(bullet*)bullet andToOtherSoldier:(soldier *)other;//朝敌人开枪方法
@end
@implementation Gun
-(void)fire:(bullet *)bulletandToOtherSoldier:(soldier *)other{//方法实现
NSLog(@"发射子弹,剩余子弹数目%d",bullet->_amount);
[bulletflyTo:other];
}
@end
子弹类
#import<Foundation/Foundation.h>
#import"soldier.h"
@interface bullet :NSObject
{
@public
int _amount; //子弹数量
int _power; //定义子弹威力
}
-(void) flyTo:(soldier *)enemy;
@end
@implementation bullet
-(void) flyTo:(soldier*)enemy{//使用子弹方法
NSLog(@"biubiubiu");
enemy->_life -=_power;//传入子弹威力扣除敌人血量
if(enemy->_life){
NSLog(@"%@中了一枪,敌人血量为%d",enemy->_name,enemy->_life);//提示敌人血量
if (_amount>0)
_amount--;
else
NSLog(@"请充值RMB");//子弹不够提示
}
else
NSLog(@"敌人嗝屁了");
}
@end
随便写写还有很多不足
- OC之对象传递游戏浅试
- OC学习--<猜拳游戏> 之 通过面向对象思想实现
- OC之面向对象
- OC之面向对象
- OC 之关联对象
- OC学习--<猜拳游戏> 之 通过面向对象思想实现 2.0版本
- iOS基础之OC:OC对象方法
- OC语言之OC对象和方法
- android 之对象传递
- OC面向对象之方法
- OC面向对象之封装
- OC面向对象之继承
- 面向对象OC之继承
- OC面向对象之-多态
- java之值传递和对象传递
- 【Objective-C】02-OC对象作为参数传递给函数
- OC 对象作为方法的参数连续传递
- OC 对象作为方法的参数和返回值传递
- hdu5536Chip Factory 字典树与异或 2015ACM/ICPC亚洲区长春站现场赛
- C学习笔记——接触C语言
- System
- 下载文件
- 使用wagon-maven-plugin插件自动部署项目
- OC之对象传递游戏浅试
- 忍着痛苦,也要继续
- MagSearch高速云点播堪比115你有东西我便播
- 字符串的操作
- iOS Apple文档
- java并发库知识点超强总结图
- c++笔记之赋值函数,拷贝构造函数,构造函数,析构函数
- 【JACOB问题】类Workbooks的Open方法无效&无法关闭打开的进程
- Maven 3 入门 -- 安装与配置