﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-大渊献-随笔分类-Cuckoo</title><link>http://www.cppblog.com/Leaf/category/14640.html</link><description>天之道,损有余而补不足,是故虚胜实，不足胜有余</description><language>zh-cn</language><lastBuildDate>Thu, 02 Sep 2010 17:02:51 GMT</lastBuildDate><pubDate>Thu, 02 Sep 2010 17:02:51 GMT</pubDate><ttl>60</ttl><item><title>CCGE v1.0.1发布．　或许就此结束．</title><link>http://www.cppblog.com/Leaf/archive/2010/09/02/125699.html</link><dc:creator>大渊献</dc:creator><author>大渊献</author><pubDate>Thu, 02 Sep 2010 15:15:00 GMT</pubDate><guid>http://www.cppblog.com/Leaf/archive/2010/09/02/125699.html</guid><wfw:comment>http://www.cppblog.com/Leaf/comments/125699.html</wfw:comment><comments>http://www.cppblog.com/Leaf/archive/2010/09/02/125699.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Leaf/comments/commentRss/125699.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Leaf/services/trackbacks/125699.html</trackback:ping><description><![CDATA[<p>捣鼓了将近半个月的控制台．还是小有成就．<br><br>熟悉了许多操作控制台的函数．<br>用控制台作为绘图工具，绘制出了俄罗斯方块和贪食蛇．<br>在公司用控制台模拟了一个用于显示信息的＂多窗口＂．<br>尝试了一把控制台显示3D的感觉．<br><br>一切都很美妙．但时时候停下来了．解决当前应该在意的问题．<br>当再有闲暇时间时，再回来慢慢回味，去体会那种在简陋的设备下开发游戏的快感．<br><br>无奈，我是一个八0后，没有经历过那晦涩而难忘的DOS游戏开发年代．　因此，只有自己来找罪受了．<br>我喜欢造轮子．喜欢在造轮子的时候用一些比较落后的工具．　想细细体会一般那神奇的感觉．<br>此次完善的内容：<br>　　俄罗斯方块已经做完．　开始，游戏，结束场景都已做完．<br>　　贪食蛇能加分．（但没有做升级）．<br>　　新增了几个小例子．用于快速了解这个控制台绘制层．<br>　　解析了_kbhit( )函数的返回值．　使之可以取得上，下，左，右光标，以及ESC，空格，回车键．<br>　　图形的显示又回到了开始的彩色绘图．相比之前几帧的效率，不能和现在的同日　而语．<br><br>其中，完成度较高的要属俄罗斯方块了．基本上是一个成型的小游戏．<br><br>由于刷新率很高．我这机器跑４０帧，在公司机器跑200帧．虽然用了双缓冲，在在快速交换缓冲的时候，也会闪屏．因此我将其限制为了10帧．　但画面的更新是按时间来的．因此不会影响．<br><br>不说了，上码，发图．<br><br>下载地址．<a href="http://files.cppblog.com/Leaf/CCGE%20v1.0.1.rar"><span style="COLOR: red">CCGE v1.0.1<br></span></a><img height=437 alt="" src="http://www.cppblog.com/images/cppblog_com/leaf/TextOut.jpg" width=329 border=0><br><img height=436 alt="" src="http://www.cppblog.com/images/cppblog_com/leaf/SnakeInConsole6.jpg" width=653 border=0><br><img height=442 alt="" src="http://www.cppblog.com/images/cppblog_com/leaf/Tetris12en.jpg" width=586 border=0><br><img height=437 alt="" src="http://www.cppblog.com/images/cppblog_com/leaf/Tetris13en.jpg" width=590 border=0></p>
<img src ="http://www.cppblog.com/Leaf/aggbug/125699.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Leaf/" target="_blank">大渊献</a> 2010-09-02 23:15 <a href="http://www.cppblog.com/Leaf/archive/2010/09/02/125699.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>控制台下显示3D</title><link>http://www.cppblog.com/Leaf/archive/2010/09/02/125599.html</link><dc:creator>大渊献</dc:creator><author>大渊献</author><pubDate>Thu, 02 Sep 2010 01:10:00 GMT</pubDate><guid>http://www.cppblog.com/Leaf/archive/2010/09/02/125599.html</guid><wfw:comment>http://www.cppblog.com/Leaf/comments/125599.html</wfw:comment><comments>http://www.cppblog.com/Leaf/archive/2010/09/02/125599.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/Leaf/comments/commentRss/125599.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Leaf/services/trackbacks/125599.html</trackback:ping><description><![CDATA[一直在想控制台既然能表示像素，那也可以显示3D咯．虽然看起来粗粗的，但的确是3D哈．<br>用积木的HGL修改了其绘制的地方．得到了控制台下的3D立方体．还能旋转，效果简陋，但很拉风．<br><img height=346 alt="" src="http://www.cppblog.com/images/cppblog_com/leaf/CCGE3D.jpg" width=547 border=0><br><br><img height=342 alt="" src="http://www.cppblog.com/images/cppblog_com/leaf/CCGE3D2.jpg" width=521 border=0><br><img height=309 alt="" src="http://www.cppblog.com/images/cppblog_com/leaf/CCGE3D3.jpg" width=545 border=0><br><br><a style="COLOR: red" href="http://files.cppblog.com/Leaf/CCGE3D.rar">演示程序下载</a><br><br>由于是一个测试，3D计算的代码并没不是自己写的．就不发源码了．<br>启动程序后，将其最大化即可．　将其字体换成3x5效果更好． 
<img src ="http://www.cppblog.com/Leaf/aggbug/125599.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Leaf/" target="_blank">大渊献</a> 2010-09-02 09:10 <a href="http://www.cppblog.com/Leaf/archive/2010/09/02/125599.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CCGE 1.0.0发布</title><link>http://www.cppblog.com/Leaf/archive/2010/08/30/125236.html</link><dc:creator>大渊献</dc:creator><author>大渊献</author><pubDate>Sun, 29 Aug 2010 16:56:00 GMT</pubDate><guid>http://www.cppblog.com/Leaf/archive/2010/08/30/125236.html</guid><wfw:comment>http://www.cppblog.com/Leaf/comments/125236.html</wfw:comment><comments>http://www.cppblog.com/Leaf/archive/2010/08/30/125236.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Leaf/comments/commentRss/125236.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Leaf/services/trackbacks/125236.html</trackback:ping><description><![CDATA[先前的CCGL效率不是一般的慢．　流式输出的方式用来刷新控制台图像真的太OUT了．<br>于是整体换用了FillConsole...系列函数．　效率翻了好几翻．<br><br>1 &nbsp;在原来功能不变的基础上提升了效率．<br>2&nbsp; 颜色暂时不能设置．<br>3&nbsp; 将贪食蛇和俄罗斯方块整合进了一个解决方案中．<br><br><br>采用VS 2005编译　目录结构如下<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;CCGE<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bin&nbsp;&nbsp;工作目录，存放可执行文件<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Data　存放资源<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Lib　存放静态链接库<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Include　公共头文件<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CCGL　控制台绘制图形所用<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SnakeGame　贪食蛇游戏DEMO<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tetris　俄罗斯方块游戏DEMO<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CCGE.sln　解决方案</span></div>
<br><br><a style="COLOR: red" href="http://files.cppblog.com/Leaf/CCGE%201.0.0.rar">下载地址</a><br><br>上图留念<br><br><img height=433 alt="" src="http://www.cppblog.com/images/cppblog_com/leaf/SnakeInConsole5.jpg" width=645 border=0><br><br><img height=433 alt="" src="http://www.cppblog.com/images/cppblog_com/leaf/Tetris10en.jpg" width=653 border=0><br><br><img height=434 alt="" src="http://www.cppblog.com/images/cppblog_com/leaf/Tetris10cn.jpg" width=649 border=0><br><br><img height=434 alt="" src="http://www.cppblog.com/images/cppblog_com/leaf/Tetris11en.jpg" width=652 border=0><br><br><img height=434 alt="" src="http://www.cppblog.com/images/cppblog_com/leaf/Tetris11cn.jpg" width=647 border=0><br>
<img src ="http://www.cppblog.com/Leaf/aggbug/125236.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Leaf/" target="_blank">大渊献</a> 2010-08-30 00:56 <a href="http://www.cppblog.com/Leaf/archive/2010/08/30/125236.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用控制台写图形程序－－俄罗斯方块</title><link>http://www.cppblog.com/Leaf/archive/2010/08/26/124751.html</link><dc:creator>大渊献</dc:creator><author>大渊献</author><pubDate>Wed, 25 Aug 2010 18:16:00 GMT</pubDate><guid>http://www.cppblog.com/Leaf/archive/2010/08/26/124751.html</guid><wfw:comment>http://www.cppblog.com/Leaf/comments/124751.html</wfw:comment><comments>http://www.cppblog.com/Leaf/archive/2010/08/26/124751.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.cppblog.com/Leaf/comments/commentRss/124751.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Leaf/services/trackbacks/124751.html</trackback:ping><description><![CDATA[更新内容．又再一次地修改了CCGL，使它可以支持变宽字符．　这样输出就美观了．<br>进一步完善了游戏，加入了开场场景等逻辑相关的东西．　<br><br>BUG：消除方块时的算法一直没修正．　计分系统没有做．<br><br>最新下载地址：<a style="COLOR: red" href="http://files.cppblog.com/Leaf/Tetris%200.0.1.rar"><u>Tetris 0.0.1.rar</u></a><br><br>下面是截图，算不上精彩．但在控制台下也不见得有多逊色．<br><img height=434 alt="" src="http://www.cppblog.com/images/cppblog_com/leaf/Tetris5.jpg" width=649 border=0><br><br><img height=441 alt="" src="http://www.cppblog.com/images/cppblog_com/leaf/Tetris6.jpg" width=647 border=0><br><br><img height=436 alt="" src="http://www.cppblog.com/images/cppblog_com/leaf/Tetris7.jpg" width=650 border=0><br><br>----------------------------------------------------------------------------------------------------------------------------------<br>麻雀虽小，五脏具全．<br>此次正式将我写的控制台图形命名为CCGL(cukcoo console graphic layer)．弄个名字，精神也自然来了．纯属自娱自乐．<br><br>关于CCGL的功能如下：<br>１，支持图文混排（英文字符和中文字符同宽，即都占两格）．<br>２，支持双缓冲．<br>３，能够指定缓冲区大小．<br>４，能够定位像素位置．<br><img height=339 alt="" src="http://www.cppblog.com/images/cppblog_com/leaf/COLORLIST.jpg" width=213 border=0><br>注：所有的X,Y都做了转换．使用时，采用与GDI相同的坐标系．即左上角为(0,０)<br><br>关于这个俄罗斯方块．<br>在网上有很多关于俄罗斯方块的代码，有的是一两个类堆积而成，有的则是一个个函数拼接．当然，还有更厉害的就是一个main函数搞定一切的大仙们的作品．　<br><br>此次写俄罗斯方块，花了两三天晚上的时间．　并且还有BUG，也是不完整的产品．　时间花在了哪里呢．那就得看看这俄罗斯方块有什么．<br><br>俄罗斯方块能有什么，就是一堆方块而已．但是，俄罗斯方块的代码呢．　却要看你是怎么写了．<br><br><span style="COLOR: #0000ff">突发其想，将俄罗斯方块按普通的MMO游戏来写．即对其各模块进行分类．<br>图形（CCGL）<br>场景（与图形绘制相关的部分，唯一）<br>对象（将场景对象与逻辑对象合并了．多实例）<br>逻辑场景（多实例，与逻辑相关的部分，逻辑状态决定了采用哪个场景，对应的场景决定了如何处理消息．）<br>逻辑（这是处理场景转换，整合多个模块功能的地方，唯一）</span><br><span style="COLOR: #0000ff">Launcher　（加载器，加载游戏并执行．在进入游戏前可以选择一些初始配置）<br>Main 　　　这就是主函数了．其实它最简单了．<br>GLaucncher.Init();<br>GLaucncher.Run();<br>GLaucncher.Exit();<br></span><br><br>上张图看看效果．<br>完成度未知，但可以试玩．<br><img height=432 alt="" src="http://www.cppblog.com/images/cppblog_com/leaf/Tetris4.jpg" width=485 border=0><br><br><br>希望能给游戏开发爱好者们一些思路和帮助．<br>源码和可执行程序<a style="COLOR: red" href="http://files.cppblog.com/Leaf/Tetris-CCGL.rar">请点这里 </a><br><br><br><br><span style="COLOR: red">顺便说一下，我是一个喜欢造轮子的人．　当然，我会选择一些比较有意思的轮子．而不是盲目滥造．　我知道，将东西发到CPP首页，就有可能受到批判．批判我会接受，但请注意文明．</span> 
<img src ="http://www.cppblog.com/Leaf/aggbug/124751.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Leaf/" target="_blank">大渊献</a> 2010-08-26 02:16 <a href="http://www.cppblog.com/Leaf/archive/2010/08/26/124751.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用控制台写图形程序－－贪食蛇</title><link>http://www.cppblog.com/Leaf/archive/2010/08/20/124043.html</link><dc:creator>大渊献</dc:creator><author>大渊献</author><pubDate>Thu, 19 Aug 2010 17:02:00 GMT</pubDate><guid>http://www.cppblog.com/Leaf/archive/2010/08/20/124043.html</guid><wfw:comment>http://www.cppblog.com/Leaf/comments/124043.html</wfw:comment><comments>http://www.cppblog.com/Leaf/archive/2010/08/20/124043.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cppblog.com/Leaf/comments/commentRss/124043.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Leaf/services/trackbacks/124043.html</trackback:ping><description><![CDATA[<div class=paragraph style="TEXT-ALIGN: left">新版源码下载地址. <a href="http://files.cppblog.com/Leaf/CCGL-SnakeGame.rar"><a style="COLOR: red" href="http://files.cppblog.com/Leaf/CCGL-SnakeGame.rar">点击这里</a> </a>(SnakeGame 0.0.1 ) 链接已修正，请放心使用． <br>--------------------------------------------------------------------------------------------------------------------------------<br>先前的版本会闪屏,于是新建了一个缓冲来解决,并将对控制台的"图形"操作抽象了出来,使我们使用的时候就像在使用普通的图形设备一样<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 设置清屏色<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2 指定像素位置,设置要绘制的内容<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3 提交缓冲区内容.<br><br>新版源码已完成了游戏的基本功能<br>&nbsp;&nbsp; 输入控制<br>&nbsp;&nbsp; 食物检测<br>&nbsp;&nbsp; 障碍检测<br>另外,还收录了部分用于方便设置控制台属性的函数.如窗口图标,窗口句柄等.<br>－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－<br>Windows下的控制台是可以设置前景，背景色的。这给了我一个很不错的想法，用他写图形。<br><br>说好就开工，用了一个小时写了一个贪食蛇。<br><br>完成功能：<br>有一个简单的绘制框架。<br>一个简单的UI。<br>除了食物没有处理外，其余都OK。<br><br>能自动更新，检测碰撞等。。。<br>二话不说，有图有真相。<br><br>蛋疼的朋友可以试试，挺爽的。。。。</div>
<br><a><img class=galleryImageBorder style="BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 3px; PADDING-LEFT: 3px; BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px; PADDING-BOTTOM: 3px; MARGIN: 10px; PADDING-TOP: 3px; BORDER-RIGHT-WIDTH: 1px" alt=Picture src="http://cuckoogame.weebly.com/uploads/5/0/3/6/5036479/8269882.jpg"></a><a><img class=galleryImageBorder style="BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 3px; PADDING-LEFT: 3px; BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px; PADDING-BOTTOM: 3px; MARGIN: 10px; PADDING-TOP: 3px; BORDER-RIGHT-WIDTH: 1px" alt=Picture src="http://cuckoogame.weebly.com/uploads/5/0/3/6/5036479/8842867.jpg"></a><a></a>&nbsp;<a><img class=galleryImageBorder style="BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 3px; PADDING-LEFT: 3px; BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px; PADDING-BOTTOM: 3px; MARGIN: 10px; PADDING-TOP: 3px; BORDER-RIGHT-WIDTH: 1px" alt=Picture src="http://cuckoogame.weebly.com/uploads/5/0/3/6/5036479/7761147.jpg"></a> <br><br>下载地址：<a href="http://files.cppblog.com/Leaf/SnakeGame.rar">源码加执行程序</a> 
<img src ="http://www.cppblog.com/Leaf/aggbug/124043.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Leaf/" target="_blank">大渊献</a> 2010-08-20 01:02 <a href="http://www.cppblog.com/Leaf/archive/2010/08/20/124043.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>