用控制台写图形程序--俄罗斯方块

用控制台写图形程序--俄罗斯方块

更新内容.又再一次地修改了CCGL,使它可以支持变宽字符. 这样输出就美观了.
进一步完善了游戏,加入了开场场景等逻辑相关的东西. 

BUG:消除方块时的算法一直没修正. 计分系统没有做.

最新下载地址: Tetris 0.0.1.rar

下面是截图,算不上精彩.但在控制台下也不见得有多逊色.
用控制台写图形程序--俄罗斯方块_第1张图片

用控制台写图形程序--俄罗斯方块_第2张图片

用控制台写图形程序--俄罗斯方块_第3张图片

----------------------------------------------------------------------------------------------------------------------------------
麻雀虽小,五脏具全.
此次正式将我写的控制台图形命名为CCGL(cukcoo console graphic layer).弄个名字,精神也自然来了.纯属自娱自乐.

关于CCGL的功能如下:
1,支持图文混排(英文字符和中文字符同宽,即都占两格).
2,支持双缓冲.
3,能够指定缓冲区大小.
4,能够定位像素位置.
用控制台写图形程序--俄罗斯方块_第4张图片
注:所有的X,Y都做了转换.使用时,采用与GDI相同的坐标系.即左上角为(0,0)

关于这个俄罗斯方块.
在网上有很多关于俄罗斯方块的代码,有的是一两个类堆积而成,有的则是一个个函数拼接.当然,还有更厉害的就是一个main函数搞定一切的大仙们的作品. 

此次写俄罗斯方块,花了两三天晚上的时间. 并且还有BUG,也是不完整的产品. 时间花在了哪里呢.那就得看看这俄罗斯方块有什么.

俄罗斯方块能有什么,就是一堆方块而已.但是,俄罗斯方块的代码呢. 却要看你是怎么写了.

突发其想,将俄罗斯方块按普通的MMO游戏来写.即对其各模块进行分类.
图形(CCGL)
场景(与图形绘制相关的部分,唯一)
对象(将场景对象与逻辑对象合并了.多实例)
逻辑场景(多实例,与逻辑相关的部分,逻辑状态决定了采用哪个场景,对应的场景决定了如何处理消息.)
逻辑(这是处理场景转换,整合多个模块功能的地方,唯一)

Launcher (加载器,加载游戏并执行.在进入游戏前可以选择一些初始配置)
Main    这就是主函数了.其实它最简单了.
GLaucncher.Init();
GLaucncher.Run();
GLaucncher.Exit();


上张图看看效果.
完成度未知,但可以试玩.
用控制台写图形程序--俄罗斯方块_第5张图片


希望能给游戏开发爱好者们一些思路和帮助.
源码和可执行程序 请点这里



顺便说一下,我是一个喜欢造轮子的人. 当然,我会选择一些比较有意思的轮子.而不是盲目滥造. 我知道,将东西发到CPP首页,就有可能受到批判.批判我会接受,但请注意文明.

你可能感兴趣的:(用控制台写图形程序--俄罗斯方块)