[~!]一个被删掉的小游戏

  突发奇想的想搞个游戏:点击中间的灯泡,其状态会由关闭改为打开,而且它的上下左右 四个灯泡执行同样的操作。再次点击,则其本身及上下左右四个按钮状态修改。  无论点击任何一个灯泡,其本身及上下左右四个灯泡皆改变状态。 (全部点亮即过关...)

  为了确保游戏没那么难过关, 我仅仅设置了 8 行 6列,如上图所示:

  1.首先当然是在视图上放置Button控件,为了方便将来更改它的难度,我设置了两个宏,分别代表它的行和列。同样还设置了一个宏代表每个Button之间的间隔

#define Row 8
#define Col 7
#define Space 50

  2.其次开始规划视图,可以看出,这些控件显然是有规律放置的,所以在此告诫初学者,不要傻乎乎的创建48个Button对象。在这里,我们运用到双层for循环来创建Button,当然在此要精确计算每个Button的Frame值,排列整齐。尤其需要注意的是这里的tag值,这个值设置的很有讲究,在后面的方法中就能看出。

for (int i = 1; i <= Row; i++) {
        for (int j = 1; j <= Col; j++) {
            UIButton *Btn = [UIButton buttonWithType:UIButtonTypeCustom];
            Btn.frame = CGRectMake(15 + (j - 1) * Space, 80 + (i - 1) * Space, 40, 40);
            [Btn setImage:[UIImage imageNamed:@"close"] forState:UIControlStateNormal];//正常状态下显示为关闭状态
            [Btn setImage:[UIImage imageNamed:@"light"] forState:UIControlStateSelected];//被选中状态下为打开状态
            Btn.tag = i * 100 + j;
            [Btn addTarget:self action:@selector(clickAction:) forControlEvents:UIControlEventTouchUpInside];
            [self.view addSubview:Btn];

        }

  3.这里需要声明一个方法来响应Button的触摸事件

- (void)clickAction:(UIButton *)sender {

    sender.selected = !sender.selected;//自身改变状态
    UIButton *btn1 = (UIButton *)[self.view viewWithTag:sender.tag + 1];//自身右边Button的tag值
    UIButton *btn2 = (UIButton *)[self.view viewWithTag:sender.tag - 1];//左边Button的tag值
    UIButton *btn3 = (UIButton *)[self.view viewWithTag:sender.tag + 100];//下方Button的tag值
    UIButton *btn4 = (UIButton *)[self.view viewWithTag:sender.tag - 100];//上方Button的tag值
    btn1.selected = !btn1.selected;
    btn2.selected = !btn2.selected;
    btn3.selected = !btn3.selected;
    btn4.selected = !btn4.selected;   //相应的Button改变其状态

}

  这么看来,一个简单的小游戏已经做出来了,但是我好像没有玩它的欲望,因为我玩了半天,并不能使所有的灯全亮。一气之下,就把游戏删了,end.

时间: 2024-08-08 18:53:28

[~!]一个被删掉的小游戏的相关文章

一个简单的“贪吃蛇”小游戏

一个简单的“贪吃蛇”小游戏 页面结构 简单的21x21的方块,页面结构 id为container的div包含所21个class名为row的div,每个row代表贪吃蛇的一整行,每个row中又包含21个div,代表这一行的每一个div方格,如果这个方格是空的话,div的类名为blank,如果这一个方格表示“贪吃蛇”的“食物”,div的类名为food,如果这一个方格表示“蛇”,div的类名为snake. CSS JS 然后我们思考下一个贪吃蛇游戏需要那些参数, 首先,界面中可见的元素无非就是空方格,

IOS的一个关于球碰撞的小游戏

这个游戏是关于一个球随机在屏幕上移动,可以用手指来操纵令一个球,如果两个球碰撞到一起,就表示输了,非常简单的一个游戏 在StoryBoard里定义两个UIImageView和一个start按钮 然后把这两个UIimageView跟代码链接 @property (weak, nonatomic) IBOutlet UIImageView *player; @property (weak, nonatomic) IBOutlet UIImageView *enemy; @property (weak

axure 实现的一个简易的找茬小游戏

好吧,今天早上用了一早的时间,就是实现一个看图找不同的小游戏.到下课,才把基本情况弄好! 首页不用多说,大家都会,只需要一个简单的链接. 在关卡中,各个关卡都大致相同,我就以第一关为例简要说明一下: 1.时间 限定时间为120秒,就需要一个计时器,用动态面板实现它.新建动态面板,设置两个状态,载入页面时,默认为状态1,转换为状态2.在“动态面板状态改变时”一栏中,设置一下三个用例:     判断语句中的状态切换达到计时器效果,而元件文字框的判断是为了在时间到了的时候,给出如上图2的提示.“时间到

[Qt 5.6.2] 利用Qt实现一个难度可变的2048小游戏

利用Qt实现一个难度随时可调的2048小游戏 一.游戏简介 1.规则创新 胜利条件:达成2048 难度变化:玩家可以通过调整难度条来控制随机池(2.4.8.16)中各个数出现的概率,同时也会改变分数的加成比例 移动触发:每次移动后会从随机池中按照概率随机选取一个数,将其随机放置在一个空余位置上 分数计算:总分=基础分+加成分,基础分+=合并的数值,加成分+=随机生成的数值*加成比例 2.游戏效果 二.设计思路 先将该项目分为游戏入口.主窗口设计与游戏逻辑三个主要模块,再在这三个模块的基础上继续细

C语言编程 如何构建一个简单的猜数字小游戏

源代码如下: #include<stdio.h> #include<stdlib.h> #include<time.h>//生成随机函数起点时用到time.h int main() { int number1 = 0, choice = 0, number2 = 0; printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");//界面设置 printf(&qu

分享一个《连连看》的小游戏,cocos2dx版本

先上效果图: 在设计算法上还是很值得钻研一下的!不过我自己实在是没有什么耐心了,就扔下不管了! 没有做好,就先这样吧 再贴一下代码: #include "GameScene.h" GameScene::GameScene(void) { this->selected = -1; } GameScene::~GameScene(void) { } bool GameScene::init() { CCSize base_coord = CCSize(570,46); CCLayer

分享一个《打地鼠》的小游戏,cocos2dx版本

先上效果图: 主要的类: #include "Hole.h" #include <stdlib.h> #include "ccMacros.h" Hole::Hole(void) { this->image = NULL; this->animation = NULL; this->hit = NULL; this->state = 0; } Hole::~Hole(void) { } void Hole::onEnter() {

使用Laya引擎开发微信小游戏(上)

本文由云+社区发表 使用一个简单的游戏开发示例,由浅入深,介绍了如何用Laya引擎开发微信小游戏. 作者:马晓东,腾讯前端高级工程师. 微信小游戏的推出也快一年时间了,在IEG的游戏运营活动中,也出现了越来越多的以小游戏作为载体运营的活动类型,比如游戏预约,抢先试完等等,都收到了非常良好的效果. 在支持微信小游戏的游戏引擎中,Cocos,Egret,Laya都对小游戏的开发提供了很多强大的支持.前段时间正好抽空研究了一下这块的内容,现做一个总结,针对如何使用Laya引擎开发微信小游戏给大家做一下

Java小游戏

这是一个飞机躲避子弹的小游戏,其中有许多干货 这是蒟蒻我第二次做,请各位大佬多多指教 目录 1.游戏主窗口的创建 2.图形绘制_文本绘制_颜色改变_图像对象的加载 3.线程内部类实现动画 4.游戏物体根类的实现 5.面向对象思想重构飞机类设计 6.键盘控制游戏物体原理 7.面向对象重构飞机类的键盘控制代码 8.炮弹类设计_任意角度飞行 9.容器或数组产生多发炮弹 10.双缓冲解决闪烁问题_矩形检测原理 11.炮弹和飞机的碰撞检测_飞机死掉 12.爆炸类_图片数组轮播处理 13.099_主窗口画出