基于MiniGUI的俄罗斯方块

2024-01-05 09:58
文章标签 方块 俄罗斯 minigui

本文主要是介绍基于MiniGUI的俄罗斯方块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

效果图

绘图窗体和控制窗体为子控件

子控件的创建如下:

//控件

#define           ID_DRAWAREA           "drawarea"    //绘画区

#define           ID_CONTROLBAR       "controlbar"  //控制面板

 

static BOOL RegisterMyControl (char *CONTROLID)

{

    WNDCLASS MyClass;

 

    MyClass.spClassName = CONTROLID;

    MyClass.dwStyle     = WS_NONE;

    MyClass.dwExStyle   = WS_EX_NONE;

    MyClass.hCursor     = GetSystemCursor (IDC_ARROW);

    MyClass.iBkColor    = COLOR_lightwhite;

       if(strcmp(CONTROLID,ID_DRAWAREA)==0)

              MyClass.WinProc          = InitDrawAreaProc;

       else if(strcmp(CONTROLID,ID_CONTROLBAR)==0)

              MyClass.WinProc          = InitControlBarProc;

 

    return RegisterWindowClass (&MyClass);

}

 

在主窗体的MSG_CREATE创建

RegisterMyControl(ID_DRAWAREA);

                     hwndDrawarea=CreateWindow(ID_DRAWAREA,"",WS_VISIBLE|WS_CHILD,IDD_DRAWAREA,0,0,xFrameWidth-controlbarwidth,yFrameHeight,hWnd,0);

                     RegisterMyControl(ID_CONTROLBAR);

                     hwndControlbar=CreateWindow(ID_CONTROLBAR,"",WS_VISIBLE|WS_CHILD,IDD_CONTROLBAR,xFrameWidth-controlbarwidth,0,controlbarwidth,yFrameHeight,hWnd,0);

 

俄罗斯方块算法

1 建一个二维数组,每一格都用x,y定位,然后用01填充,0 表示没方块,1表示有方块。

2 组建不同方块的实体,也就是使二维数组所对应的方格为1

3 移动时只要将对应的方格1移动就行,对于移过的格用0填充 

这篇关于基于MiniGUI的俄罗斯方块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/572495

相关文章

C++实现俄罗斯方块(Windows控制台版)

C++实现俄罗斯方块(Windows控制台版) 在油管上看到一个使用C++控制台编写的俄罗斯方块小游戏,源代码200多行,B站上也有相关的讲解视频,非常不错,值得学习。 B站讲解视频地址为:【百万好评】国外技术大神C++游戏编程实战教程,油管580W收藏,新手10小时入门,并快速达到游戏开发能力(中英字幕) B站 CSDN博主千帐灯无此声还为此写了一篇博客:C++实现俄罗斯方块(源码+详解),讲

【自用14】C++俄罗斯方块-思路复盘

1.编写主函数 int main(void){welcome();//欢迎函数system("pause");//窗口停留colsegraph();//关闭图画return 0;//返回值} 其中包含有最开始的欢迎,以及基础的窗口停留、图画关闭和返回值语句 2.编写欢迎函数 需求: 欢迎函数中需要包含的功能 设置游戏窗口的大小 设置游戏窗口的颜色 设置游戏窗口需要显示的文字的字

来自俄罗斯的凶猛彪悍的分析数据库-ClickHouse

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! ClickHouse相关文章推荐: 战斗民族开源 | ClickHouse万亿数据双中心的设计与实践 你需要懂一点ClickHouse的基础知识 趣头条实战 | 基于Flink+ClickHouse构建实时数据平台 Prome

【14.1运行版】C++俄罗斯方块-实现欢迎界面

实现欢迎界面 #include <stdio.h>//C语言形式的输入输出#include <graphics.h>//图形库的头文件//实现欢迎界面void welcome(void);int main(void) {welcome();//colsegraph();return 0;}void welcome(void) {//初始化画布initgraph(550, 660);//设置

实战项目:俄罗斯方块(六)

文章目录 🍊自我介绍🍊图像界面绘制界面绘制界面显示代码运行结果 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~ 🍊自我介绍   Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾” 和“内容共创官” ,现在我来为大家介绍一下有关物联网-嵌入式方面的内容。 🍊图像

实战项目:俄罗斯方块(四)

文章目录 🍊自我介绍🍊按键控制方块函数介绍获取当前时间函数生成随机数种子生成随机数函数示例用法 方块图形方向功能设置生成随机图案擦除图形改变图形左移动右移动下移动 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~ 🍊自我介绍   Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始

实战项目:俄罗斯方块(一)

文章目录 🍊自我介绍🍊vt100 控制码1.概述2.数字格式①常用数字控制码②常用控制码 🍊绘制方格 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~ 🍊自我介绍   Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾” 和“内容共创官” ,现在我来为大家介绍一下有关物

俄罗斯OZON真的适合小白做吗,有哪些坑需要知道

OZON 对于小白来说有一定的可行性,但也存在一些需要注意的 “坑”: OZON 平台适合小白的原因: 入驻门槛较低:目前中国卖家入驻 OZON 是免费的,具备企业营业执照(暂不支持个体工商户注册),注册中需要邮箱、手机号、法人人脸识别以及公司对应的收款账户即可&nbsp;1。平台界面友好:操作界面简单明了,容易上手,使用起来相对便捷&nbsp;1。市场潜力较大:俄罗斯是欧洲最大的电商市场之

Telegram创始人帕维尔·杜罗夫:从俄罗斯到迪拜的自由之路

帕维尔·杜罗夫,这位Telegram的创始人,凭借其坚定的自由价值观和对隐私保护的执着,在全球范围内赢得了广泛的关注。然而,最近的消息显示,他在法国因拒绝与当地政府共享反恐信息而被捕。这一事件使得他与自由价值观的矛盾面再次引发热议。 在此之前的七年中,杜罗夫极少露面,但在今年4月,他打破沉默,接受了美国著名主持人卡尔森的采访。在这次罕见的访谈中,杜罗夫详细谈论了自己的成长经历、创业历程,以及对自

C++实现简易俄罗斯方块小游戏

实现一个简易的俄罗斯方块(Tetris)游戏涉及多个方面,包括图形显示、游戏逻辑、用户输入等。下面是一个简化版本的俄罗斯方块游戏的实现步骤和代码示例。这个实现会使用 C++ 和一个简单的图形库——如 SFML(Simple and Fast Multimedia Library),这是一个非常适合游戏开发的跨平台图形库。 1. 环境准备 -安装 SFML: 你可以从 SFML 官网 下载适合你