文档章节

数独(简易九宫格)

小黑202
 小黑202
发布于 2016/07/15 14:35
字数 348
阅读 48
收藏 1

一.ViewController.h中代码

//
//  ViewController.h
//  ThirdSignleView
//
//  Created by on 15/6/10.
//  Copyright (c) 2015年. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

@property (weak, nonatomic) IBOutlet UITextField *number1;

@property (weak, nonatomic) IBOutlet UITextField *number2;

@property (weak, nonatomic) IBOutlet UITextField *number3;

@property (weak, nonatomic) IBOutlet UITextField *number4;

@property (weak, nonatomic) IBOutlet UITextField *number5;

@property (weak, nonatomic) IBOutlet UITextField *number6;

@property (weak, nonatomic) IBOutlet UITextField *number7;

@property (weak, nonatomic) IBOutlet UITextField *number8;

@property (weak, nonatomic) IBOutlet UITextField *number9;

- (IBAction)replay:(id)sender;

- (IBAction)finish:(id)sender;

@property (nonatomic, strong ) NSMutableArray *finishArray;

@property (weak, nonatomic) IBOutlet UILabel *result;

@end

二.ViewController.m中代码

//
//  ViewController.m
//  ThirdSignleView
//
//  Created by jabez.huang on 15/6/10.
//  Copyright (c) 2015年 jabez.huang. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)replay:(id)sender {
    
    NSArray *numberArray = @[ @[@"1",@"2", @"3"], @[@"2", @"3", @"1"], @[@"3", @"1", @"2"]];
    
    NSMutableArray *muArray = [NSMutableArray arrayWithArray:numberArray];
    
    int rand1 = arc4random() % 3;
    int rand2 = arc4random() % 3;
    
    NSArray *tmpArray = @[];
    
    tmpArray = muArray[rand1];
    muArray[rand1] = muArray[rand2];
    muArray[rand2] = tmpArray;
    
    _finishArray = muArray;
    
    NSArray *textfieldArray = @[ _number1 , _number2 , _number3 , _number4, _number5 , _number6, _number7 , _number8 ,_number9];
    
    int flag = 0;
    for( int i = 0; i < [muArray count]; i++ ){
        for( int j = 0; j < [muArray[i] count]; j++){
            //NSLog( @"%i , %@", flag, muArray[i][j] );
            UITextField *str = textfieldArray[flag];
            str.text = muArray[i][j];
            flag++;
        }
    }
    
    for( int n = 0 ; n < 4 ; n++ ){
        int tmpFlag = arc4random() % 9 ;
        UITextField *str1 = textfieldArray[tmpFlag];
        str1.text = @"";
    }
    
    
}

- (IBAction)finish:(id)sender {
     NSArray *textfieldArray = @[ @[_number1 , _number2 , _number3] , @[_number4, _number5 , _number6], @[_number7 , _number8 ,_number9]];
    //_finishArray
    int flag = 1;
    
    NSLog( @"finshArray :%@", _finishArray);
    NSLog(@"-->%lu",(unsigned long)[textfieldArray count]);
    for( int i = 0; i < [textfieldArray count]; i++ ){
        for( int j = 0; j < [textfieldArray[i] count]; j++ ){
            UITextField *field = textfieldArray[i][j];
            if( ![field.text isEqualToString: _finishArray[i][j]] ){
                flag = 0;
            }
        }
    }
    
    if( flag == 1 ){
        _result.text = @"恭喜!你赢了!";
    }else{
        _result.text = @"失败抱歉!";
    }
    
}
@end

 

© 著作权归作者所有

上一篇: 数据库
下一篇: 插入网页
小黑202
粉丝 8
博文 156
码字总数 41238
作品 0
西安
程序员
私信 提问
数独完全解生成- 高效回溯算法

由于上篇的算法存在一些不足,我们不免要继续研究数独游戏的完全解,以获得更高效高质量的生成算法,对于完全解的生成过程,我们一般是采用回溯法来产生整个九宫格的所有的数据。而对于九九八...

9plus
2017/11/12
0
0
JAVA代码—算法基础:数独问题(Sodoku Puzzles)

数独问题(Sodoku Puzzles) 数独游戏(日语:数独 すうどく)是一种源自18世纪末的瑞士的游戏,后在美国发展、并在日本得以发扬光大的数学智力拼图游戏。 拼图是九宫格(即3格宽×3格高)的...

seagal890
2018/03/24
0
0
九宫格数独问题

数独顾名思义——每个数字只能出现一次。数独是一种源自18世纪末的瑞士,后在美国发展、并在日本得以发扬光大的数字谜题。数独盘面是个九宫,每一宫又分为九个小格。在这八十一格中给出一定的...

吞吞吐吐的
2017/10/12
0
0
数独完全解生成-分组轮转算法

数独(日语:数独すうどく)是一种源自18世纪末的瑞士,后在美国发展、并在日本得以发扬光大的数学智力拼图游戏。拼图是九宫格(即3格宽×3格高)的正方形状,每一格又细分为一个九宫格。在每...

9plus
2017/11/12
0
0
每周一道算法题(二十九)

本周题目难度'Medium',所以还是用C来写,其实C和Python差不多,能用C写的,个人感觉用Python更好写,反正思路都是一样的,但C的效率真心比 Python快很多,所以'Medium'的还是用C来写 题目:...

CrazySteven
2017/10/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
40分钟前
85
5
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
2
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
6
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
8
0
详解箭头函数和普通函数的区别以及箭头函数的注意事项、不适用场景

箭头函数是ES6的API,相信很多人都知道,因为其语法上相对于普通函数更简洁,深受大家的喜爱。就是这种我们日常开发中一直在使用的API,大部分同学却对它的了解程度还是不够深... 普通函数和...

OBKoro1
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部