如何用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;

}