简单的没有关卡的关灯游戏

有两个图片

新建一个CloseLight类

CloseLight.h

import <UIKit/UIKit.h>
@interface CloseLight : UIViewController
@property (nonatomic , assign)NSInteger tag;
@end

CloseLight.m

#import "CloseLight.h"
@interface CloseLight ()
@end
@implementation CloseLight
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}
- (void)viewDidLoad
{
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];
    // Do any additional setup after loading the view.
    
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(15, 50, 290, 310)];
    view.backgroundColor = [UIColor brownColor];
    view.layer.cornerRadius = 10;
    [self.view addSubview:view];
    [view release];
    
    _tag = 10000;
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 5; j ++) {
            UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
            [button setFrame:CGRectMake(10 + 10 * j + 45 * j, 14 + 14 * i + 45 * i, 50, 50)];
//            [button setBackgroundColor:[UIColor redColor]];
            [button setBackgroundImage:[UIImage imageNamed:@"1"] forState:UIControlStateNormal];
            button.layer.cornerRadius = 5;
            [button addTarget:self action:@selector(gobutton:) forControlEvents:UIControlEventTouchUpInside];
            button.tag = _tag +1000 *(i + 1) + (j + 1);
            [view addSubview:button];
        }
    }
    
    UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
    [button setTitle:@"开始游戏" forState:UIControlStateNormal];
    button.frame = CGRectMake(120, 310, 60, 30);
    [button addTarget:self action:NULL forControlEvents:UIControlEventTouchUpInside];
    [view addSubview:button];
}
- (void)change:(UIButton *)button
{
//    UIColor *newColor = button.backgroundColor;
    UIImage *image = [button backgroundImageForState:1];
    if (image == [UIImage imageNamed:@"1"]) {
//        [button setBackgroundColor:[UIColor blackColor]];
        [button setBackgroundImage:[UIImage imageNamed:@"2"] forState:UIControlStateNormal];
    }else if(image == [UIImage imageNamed:@"2"]){
//        [button setBackgroundColor:[UIColor redColor]];
        [button setBackgroundImage:[UIImage imageNamed:@"1"] forState:UIControlStateNormal];
    }
}
- (void)gobutton:(id)sender
{
    UIButton *newbutton = (UIButton *)sender;
    [self change:(UIButton *)[self.view viewWithTag:newbutton.tag] ];
    [self change:(UIButton *)[self.view viewWithTag:newbutton.tag + 1]];
    [self change:(UIButton *)[self.view viewWithTag:newbutton.tag - 1]];
    [self change:(UIButton *)[self.view viewWithTag:newbutton.tag + 1000]];
    [self change:(UIButton *)[self.view viewWithTag:newbutton.tag - 1000]];
}
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

AppDelegate.m

#import "AppDelegate.h"
#import "CloseLight.h"
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    CloseLight *light = [[CloseLight alloc] init];
    self.window.rootViewController = light;
    
    
    [_window release];
    return YES;
}
- (void)dealloc
{
    [_window release];
    [super dealloc];
}
- (void)applicationWillResignActive:(UIApplication *)application
{
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}
- (void)applicationWillTerminate:(UIApplication *)application
{
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
@end
时间: 2024-11-06 09:29:44

简单的没有关卡的关灯游戏的相关文章

IOS 关灯游戏

一, 首先为window创建根视图控制器 在AppDelegate.h文件中 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions //为window创建根视图控制器 RootViewController *rootViewController = [[RootViewController alloc]init]; self.wind

睡觉请关灯 &nbsp; 游戏模拟实现

 首先,关于这个的基本讨论已过一阶段了.现在就是合成版  以后做mcf java等的界面. 留了 一个bug就是 电脑解决完后 会多打印几个矩阵. 改进的地方,1:增加了一种电脑解法,         2:记录用了自增栈   #include"c.h" #include"c++.h" #define  MAX  5 #define N   10 typedef int  elem_type;   class Stack { public:   Stack()  { 

[某鸥实训记][objective-c][第二天][作业]黑白棋+关灯游戏

自己写的..所以可能没什么逻辑性...可能特别水... 环境为ios SDK8.0 选择的Simulator是iPhone6 创建ios SingleViewApplication..然后再ViewController.m中的代码就是全部了 1 // 2 // ViewController.m 3 // 黑白棋0908 4 // 5 // Created by ******* on 15/9/8. 6 // Copyright (c) 2015年 *******. All rights rese

使用Cocos开发一款简单的3D VR抓钱游戏

使用Cocos开发一款简单的3D VR抓钱游戏 最近VR成为了一个新兴的热点,很多以前从事游戏开发的团队都在关注这个方向.如何在VR时代来临之际快速的掌握开发VR游戏的方法,这对于很多中小团队来说,是一个要考虑的问题. 目前市面上有很多3D引擎已经开始支持VR功能.特别是虚幻,Unity等引擎对于VR这个领域都非常重视,但是国内这几年有大量的手游团队在使用Cocos2d-x来开发游戏项目,现有人员的的经验对于游戏开发非常宝贵,更何况目前VR领域并未出现很好的CP盈利案例.短期内贸然转型,放弃现有

【算法设计与分析基础】关灯游戏

① R.java  用于存储一些全局变量 package lightoff; public class R { /* public static int lightCondition[][] = { {1,0,0,1,1}, {1,0,0,1,1}, {1,0,0,1,1}, {1,0,0,1,1}, }; */ public static int lightCondition[][] = { {1,1,1,1}, {1,1,1,1}, {1,1,1,1}, {1,1,1,1}, }; //灯面

OC实现简单的关灯游戏

//将灯的图片在视图上布局,5行5列 for (int i = 0; i < 5; i++) { for (int j = 0 ; j < 5; j++) { UIButton *lightButton = [UIButton buttonWithType:UIButtonTypeSystem]; lightButton.frame = CGRectMake(i * 64, 120 + (j *64), 64, 64); [lightButton setBackgroundImage:[UII

C++用EGE简单实现别踩白块游戏

本项目已开源:https://github.com/wmpscc/AvoidBlank 关于EGE 介绍:EGE(Easy Graphics Engine),是windows下的简易绘图库,是一个类似BGI(graphics.h)的面向C/C++语言新手的图形库,它的目标也是为了替代TC的BGI库而存在. 详情见EGE官网 下载:官网提供的下载地址 安装方法一 简单示例 #include <graphics.h> int main() { //初始化为640*480大小 initgraph(6

Java 初学 第一弹--编译并运行书上的简单程序(猜数字小游戏)

(博主原创) 首先说明一下,博主是大一上学期结束寒假时自己看的Java,然后我看的是Head First Java的中文版,因为大一学了c,所以里面的一些基本思想还是了解的,在看这本书时就浏览了一下(就是那种光看没有自己动手去敲代码的),然后看到书上的一个猜数字小游戏,就想手动敲一下,熟悉熟悉Java的语法,但是真正去做时,发现比看起来要困难一些. 首先是Java在建立一个源码文件之前要先建一个package,然后我用的Eclipse写的Java(感觉和pycharm风格差不多),再新建一个文件

小代码 链表实现关灯游戏2

/* cout << " *****************game by  ring light**************************" << endl;     cout << " **** 一个全开的循环串联灯链   为节约资源等待你的关灯动作******" << endl;     cout << " *****提示: 当选择一盏灯时,该灯及旁边的灯状态均会发生变化****&