回找到一个刚开始学习OC的时候自己写了一个“猜数字”的小游戏~

这篇博客作者分享了使用Objective-C(OC)编写的一个猜数字小游戏的全过程。通过创建`Computer`类并实现逻辑,包括生成不重复的4位数字、用户输入与判断。游戏分为三个难度级别,根据猜测次数不同,分别对应不同的称号。代码中包含错误检查和重试机制,适合OC初学者练习。
摘要由CSDN通过智能技术生成

初期的构思也主要是源于曾经玩过的一款逻辑小游戏,学了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++)
    {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值