初期的构思也主要是源于曾经玩过的一款逻辑小游戏,学了OC一段时间总想自己做点什么,于是就计划着写了这个,构思每一个细节的时候都非常兴奋,因为终于要有一个属于自己的小程序,还是蛮激动的,但是写的过程中却发现好多的初期设想都会存在一些小bug,中间还是有点小受伤,但是最后还是完成了,BUG也应该是没有了,所以最后在这里分享给大家,也可以拿去玩玩~
下面是代码部分
首先创建一个工程 创建一个Computer的类
#import <Foundation/Foundation.h>
@interface Computer : NSObject
{
NSInteger _computerNumber ;
// 猜测时输入的输入
NSInteger _getNumber ;
}
//生成后台需要猜测的数字
-(void) randomNumber ;
//游戏主流程及电脑判断流程
-(void) judgeNumber ;
@end
#import "Gamer.h"
#import "Computer.h"
@implementation Computer
//生成后台需要猜测的数字
-(void) randomNumber
{
_computerNumber = (arc4random()%9999)+1000 ;
}
//游戏主流程及电脑判断流程
-(void) judgeNumber
{
// _computerNumber = (arc4random()%9999)+1000 ;
NSLog(@"请输入数字选择游戏难度,”1“为简单、”2“为困难、”3“为炼狱");
D :
NSLog(@"请输入您选择的难度对应的数字:");
NSInteger _deficulty ;
_deficulty = [[Gamer shareNumber]number];
if (_deficulty<=0||_deficulty>3)
{
NSLog(@"您输入的信息有误请“Command+R”重新开始游戏");
goto D ;
}
C :_computerNumber = (arc4random()%9999)+1000 ;
NSString * strGamerNum ;
NSString * strcomputerNum = [NSString stringWithFormat:@"%ld",_computerNumber];
//随机数中有重复的数字需重新出数
for (int a = 0; a < 3; a++)
{
for (int b = a+1 ; b < 4 ; b++) {
unichar y = [strcomputerNum characterAtIndex: a ];
unichar z = [strcomputerNum characterAtIndex: b ];
if (y == z) {
goto C ;
}
}
}
// NSLog(@"%@",strcomputerNum);
NSInteger a = 0 ;
NSInteger b = 0 ;
unichar cGamerNum ;
unichar cComputerNum;
switch (_deficulty)
{
case 1:
NSLog(@"您选择的难度为简单,拥有30次猜数字的机会");
for (int i = 0 ; i < 30 ; i++)
{