文档章节

【非凡程序员】 OC第十六节课 初识IOS开发四 (九宫格游戏)

七月流火zsp
 七月流火zsp
发布于 2015/06/12 21:50
字数 439
阅读 20
收藏 0

九宫格游戏:先是定义一个二维数组,写出正确的九宫格,然后随机的交换横行的两组,在随机隐藏几个数据。让用户输入数据,再进行判断是否正确

ViewController.h文件:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
- (IBAction)DaWan:(id)sender;

@property (weak, nonatomic) IBOutlet UITextField *ShengFu;
@property (weak, nonatomic) IBOutlet UITextField *Number9;
@property (weak, nonatomic) IBOutlet UITextField *Number8;
@property (weak, nonatomic) IBOutlet UITextField *Number7;
@property (weak, nonatomic) IBOutlet UITextField *Number6;
@property (weak, nonatomic) IBOutlet UITextField *Number5;
@property (weak, nonatomic) IBOutlet UITextField *Number4;
@property (weak, nonatomic) IBOutlet UITextField *Number3;
@property (weak, nonatomic) IBOutlet UITextField *Number2;
@property (weak, nonatomic) IBOutlet UITextField *Number1;
@property (nonatomic,strong) NSMutableArray *finish; //定义全局变量
- (IBAction)Begin:(id)sender;

@end

ViewController.m文件:

#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)Begin:(id)sender {
   
    _ShengFu.text=@"祝你好运";

    NSArray *a1=@[@[@"1",@"2",@"3"],[@[@"3",@"1",@"2"],@[@[@"2",@"3",@"1"]];    

    NSMutableArray * a2 = [NSMutableArray arrayWithArray:a1];

    NSArray * temp = @[];
    int number1=arc4random()%3;
    int number2=arc4random()%3;
    

  //交换横行随机两组

    temp=a2[number1];
    a2[number1]=a2[number2];
    a2[number2]=temp;
    _finish=a2;

    NSArray *array = @[_Number1, _Number2,_Number3,_Number4,_Number5, _Number6,_Number7, _Number8,_Number9];
   
    int flag=0;
    for (int i=0; i < [a2 count]; i++)
    {
        for (int j=0; j < [a2[i] count]; j++)
        {
            UITextField *t=array[flag];  //定义 UITextField类型的t,把a2的值一次给t

            t.text=a2[i][j];
            flag++;
        }
    }
    for (int n=0; n<7; n++)
    {
        int sui=arc4random()%9; 
        UITextField *s=array[sui];
        s.text=@"";  //随机隐藏不输出几个数据
    }
   
    }


- (IBAction)DaWan:(id)sender {        //判断用户输入是否正确
   
    int flag3=0;
   
   NSArray *array = @[@[_Number1, _Number2,_Number3],@[_Number4,_Number5, _Number6],@[_Number7, _Number8,_Number9]];
    for( int i = 0; i <= 2; i++ )
    {
        for( int j = 0; j <= 2; j++ )
        {
            UITextField * text = array[i][j];
            if (![text.text isEqualToString: _finish[i][j]])
            {
                flag3 = 1;
                break;
            }
           
        }
    }

    if (flag3==1)
    {
        _ShengFu.text=@"你输了";
        flag3=0 ;
    }
    else
    {
        _ShengFu.text=@"你赢了";
    }
   
}

@end

© 著作权归作者所有

共有 人打赏支持
七月流火zsp
粉丝 8
博文 29
码字总数 11273
作品 0
西安
【非凡程序员】 OC第十六节课 初识IOS开发一(字符串转换与计算器)

IOS开发其实和OS X差不多,只不过输出的方法不一样,OS X是setstringvale,而IOS是settext (或者使用点语法.text) ViewController.h文件 #import <UIKit/UIKit.h> @interface ViewControl...

七月流火zsp
2015/06/11
0
0
常用iOS游戏开发工具与SDK

常用iOS游戏开发工具与SDK2D游戏开发框架cocos2d-iPhone,iOS平台最流行的开源2D游戏引擎,包含两个较大的版本:0.9x和2.x,其中0.9x支持OpenGL ES,2.x支持OpenGL ES 2.0。Objective-C编写,...

Durian_2012
2014/01/16
0
0
Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序

Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序 C#原本是用来编写Windows以及Windows Phone的应用程序。自从Xamarin问世后,C#的作用就发生了很大的变化。它不仅可以编写关于Windows...

大学霸
2014/10/23
0
0
移动应用和游戏开发两个阶段在线视频培训的未来计划

在51CTO学院开线上视频课程已经3个多月了,也上了不少课。不过发现还有很多课没有开。现在就将未来的开课计划公布一下。计划分为两个阶段。第一阶段主要是Cocos2d-x和Cocos2d-js的游戏开发培...

androidguy
06/29
0
0
input 输入框被软键盘遮挡问题

1.安卓手机 在软键盘被弹起来的时候输入框不被遮挡,支持性良好 2.ios手机 在软键盘被弹起来的时候输入框被遮挡,体验很不好 在经过多次实验发现,ios手机输入框被弹起的瞬间是不被遮挡的,过...

爱喝水的小熊
06/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ERC1155实践|区块链游戏的平行宇宙和为此而生的Enjin钱包

1 摘要 恩金(Enjin)花了大半年的时间一直在完善ERC-1155这个通证协议,毫不夸张地说,该标准是现有以太坊上最适用于游戏资产的通证标准,将主流游戏中道具涉及到的一切操作经过高度抽象之后...

HiBlock
23分钟前
0
0
Oracle发布开源的轻量级 Java 微服务框架 Helidon

近日,Oracle推出了一个新的开源框架Helidon,该项目是一个用于创建基于微服务的应用程序的Java库集合。和Payara Micro、Thorntail(之前的WildFly Swarm)、OpenLiberty、TomEE等项目一样,...

关注公众号_搜云库_每天更新
29分钟前
0
0
启动线程以及安全终止线程

启动 使用start()方法可以启动线程。 start()方法的含义是告知线程规划器线程已初始化完毕,可以分给这个线程时间片了(执行run()方法)。 安全终止线程 示例代码 import java.util.concurr...

karma123
36分钟前
1
0
Python+OpenCV 图像风格迁移(模仿名画)

现在很多人都喜欢拍照(自拍)。有限的滤镜和装饰玩多了也会腻,所以就有 APP 提供了模仿名画风格的功能,比如 prisma、versa 等,可以把你的照片变成 梵高、毕加索、蒙克 等大师的风格。 这...

crossin
40分钟前
1
0
karabiner json语法

karabiner json语法 to_if_alone 如果同时制定了to, 那么to对应的key必须是非可见字符,例如control,shift或者command, 为什么呢? If to events are specified, to events are released befo...

黄威
41分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部