如何用oc语言实现一个石头剪刀布的小游戏
计算机. h文件
#导入& ltfoundation/foundation . h & gt;
@接口计算机:NSObject
@property(assign,nonatomic)int cNum;
-(int)show fit;
@end
计算机. m文件
#导入“Computer.h”
@实施计算机
-(int)showFit{
int num = arc 4 random()% 3+1;//随机生成1-3之间的数字。
开关(数量){
案例1:
NSLog(@“剪刀”);
打破;
案例二:
NSLog(@“石头”);
打破;
案例三:
NSLog(@“布”);
打破;
默认值:
打破;
}
退货数量;
}
@end
Person.h文件
#导入& ltfoundation/foundation . h & gt;
@接口人:NSObject
@property(assign,nonatomic)int pNum;
-(int)show fit;
-(int)playCompare:(int)c和:(int)p;
@end
Person.m文件
#导入“Person.h”
@实施人
-(int)showFit{
int n;
NSLog(@ "请打孔:1-"剪刀,2-"石头,3-"布));
scanf("%d ",& ampn);
开关(n) {
案例1:
NSLog(@“你给了剪刀”);
打破;
案例二:
NSLog(@“你是石头”);
打破;
案例三:
NSLog(@“你没布了”);
打破;
默认值:
打破;
}
返回n;
}
-(int)playCompare:(int)c和:(int)p{
if((c = = 1 & amp;& ampp = = 3)| |(c = = 2 & amp;& ampp = = 1)| |(c = = 3 & amp;& ampp==2)) {
NSLog(@“恭喜中奖”);
返回1;
}
else if (c==p)
{
NSLog(@“tie”);
返回0;
}
否则{
NSLog(@“电脑赢”);
return 2;
}
}
@end
Main.m测试代码
#导入& ltfoundation/foundation . h & gt;
#导入“Computer.h”
#导入“Person.h”
int main(int argc,const char * argv[]) {
@autoreleasepool {
Person * per =[Person new];
计算机* com =[计算机新];
int v;int count = 0;
做{
int a =[per show fit];
int b =[com show fit];
int c =[per play compare:b and:a];
if (c==2) {
com . cn um++;
}
if (c==1) {
per . pnum++;
}
NSLog(@"1: Continue,0:End));
scanf("%d ",& amp五);
count++;
} while(v);
NSLog(@ "%d局共",计数);
NSLog(@“人胜%d局,电脑胜%d局”,per.pNum,com . cnum);
}
返回0;
}