﻿<?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++博客-Codejie's C++ Space-随笔分类-I;P</title><link>http://www.cppblog.com/codejie/category/20828.html</link><description>Using C++</description><language>zh-cn</language><lastBuildDate>Mon, 07 Apr 2014 15:56:09 GMT</lastBuildDate><pubDate>Mon, 07 Apr 2014 15:56:09 GMT</pubDate><ttl>60</ttl><item><title>I;P : New Preview Release</title><link>http://www.cppblog.com/codejie/archive/2014/04/07/206492.html</link><dc:creator>codejie</dc:creator><author>codejie</author><pubDate>Mon, 07 Apr 2014 02:06:00 GMT</pubDate><guid>http://www.cppblog.com/codejie/archive/2014/04/07/206492.html</guid><wfw:comment>http://www.cppblog.com/codejie/comments/206492.html</wfw:comment><comments>http://www.cppblog.com/codejie/archive/2014/04/07/206492.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/codejie/comments/commentRss/206492.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/codejie/services/trackbacks/206492.html</trackback:ping><description><![CDATA[<p><strong>快捷链接</strong></p> <p>&nbsp;&nbsp;&nbsp; <a href="http://www.cppblog.com/codejie/archive/2010/07/23/108996.html">下载地址</a></p> <p>&nbsp;&nbsp;&nbsp; <a href="http://www.cppblog.com/codejie/category/20828.html">相关随笔</a></p> <p><strong></strong>&nbsp;</p> <p><strong>正文</strong></p> <p>&nbsp;&nbsp;&nbsp; 今天注定了悲剧... 实际悲剧是从昨天就开始了 -- 我覆盖了用于发布I;P的<strong>数字证书</strong>! </p> <p>&nbsp;&nbsp;&nbsp; 敲I;P时, 一直用两套证书, 一个用于测试, 一个用于发布. 这两天为添加成就和高分榜, 专门clone了一个分支, 并使用了新的测试证书. 当感觉OK, 可以merge代码时, 把证书一起合并了, 这就悲剧了 --<strong> Google上的应用是跟证书绑定的, 并且是不可以更改的</strong>, 这意味着只能重新发布个新的I;P了...</p> <p>&nbsp;&nbsp;&nbsp; 既然只能上的新的了, 那就好好弄吧, 修改和测试好代码, 建立了新的应用, 上传了新的apk, 哈哈, 新悲剧来了 -- 起初建立好的成就和高分榜跟新的应用绑定失败, 因为存在数字证书冲突. 几乎折腾了一整天, 终于让两个能match起来了. (在Google Play上"应用"和"服务"是两个不同的概念, 但可以相互关联). 好了最后的悲剧来了 -- 为了清除测试数据, 不小心把整个成就和高分榜都删除了, 崩溃的是, 这个没法恢复! 哭啊哭, 用了两个多小时重新写了成就和高分榜, 重新将数据加入到游戏中, 重新上传了所有该上传了 -- 战战兢兢, Google Play终于让I;P通过了 -- 新的I;P. </p> <p>&nbsp;&nbsp;&nbsp; 不说了, 现在就等Google Play审查通过就可以看见了, 但, 一切又得从头来了...</p> <p>&nbsp;&nbsp;&nbsp; 有图有真像, I;P真的支持成就和高分榜了~</p> <p>&nbsp;&nbsp;&nbsp; <img title="ip-40" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip-40" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--New-Preview-Release_14806/ip-40_42615103-defb-4d56-a5b1-14082d1021b0.png" width="322" height="193">&nbsp;<img title="ip-41" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip-41" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--New-Preview-Release_14806/ip-41_65cd50a8-d18e-4dd4-ba66-e21dbed80d51.png" width="320" height="192"></p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; 这些是测试的截图, 最终啥样我还不敢说...但有个问题一定要说下 -- 关于<strong>"翻*墙"</strong>. 由于Google Play Service 在国内不稳定的问题 (其它Google服务而已差不多), 要想可靠的使用成就和高分榜, 还是建议大家翻*墙玩吧. Android上装个VPN, 再启动I;P. 如果<strong>Play Service没有登录, I;P也是可以玩的</strong>, 只是无法提交和查看高分榜和成就了.</p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; 顺便说下在Google Play发布支持Google Play Service的成就和高分榜系统的游戏时需要注意的是 -- 先在'所有应用'中上传好游戏的APK, 但千万别发布; 再在'游戏服务'中添加好对应的成就和高分榜系统, 关联和授权对应的游戏后, 最后在'游戏服务'中发布'所有应用'中的游戏. 有点绕, 但这绝对是'经验'结论...</p> <p>&nbsp;</p> <p><strong>补充</strong></p> <p>&nbsp;&nbsp;&nbsp; 今天可以经I;P群中测试, 成就和高分榜系统可以使用了, happy啊...</p> <p>&nbsp;&nbsp;&nbsp; 昨晚忘记说怎么查看成就和高分榜, 这里补充下~你可以随时查看!</p> <p>&nbsp;&nbsp;&nbsp; 在选关界面中, 点击上面的Title - 'I'M A PROGRAMMER'就可以弹出如下菜单, 点击相应的菜单项即可.</p> <p><img title="ip-33" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" border="0" alt="ip-33" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--New-Preview-Release_14806/ip-33_607642f1-c059-4227-9761-aa3ecbb80891.png" width="327" height="196"></p> <p>&nbsp;&nbsp;&nbsp; 如果没有登录Play Service, 那么对应的成就和高分榜菜单项是不会弹出的. 此时点击高分榜会显示所有关卡的高分榜列表, 而不是单个关卡的.</p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; <img title="ip-34" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" border="0" alt="ip-34" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--New-Preview-Release_14806/ip-34_e3d3ade4-a43f-4481-a92f-1ef6c5fbd11d.png" width="326" height="196"></p> <p>&nbsp;</p>      <p>&nbsp;&nbsp;&nbsp; 同样的, 如果没有登录Play Service, 那么对应的成就和高分榜菜单项是不会弹出的. 此时点击高分榜会显示当前单个关卡的高分榜数据.</p><img src ="http://www.cppblog.com/codejie/aggbug/206492.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/codejie/" target="_blank">codejie</a> 2014-04-07 10:06 <a href="http://www.cppblog.com/codejie/archive/2014/04/07/206492.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>I;P : Leaderboards and Achievements</title><link>http://www.cppblog.com/codejie/archive/2014/04/04/206471.html</link><dc:creator>codejie</dc:creator><author>codejie</author><pubDate>Fri, 04 Apr 2014 10:48:00 GMT</pubDate><guid>http://www.cppblog.com/codejie/archive/2014/04/04/206471.html</guid><wfw:comment>http://www.cppblog.com/codejie/comments/206471.html</wfw:comment><comments>http://www.cppblog.com/codejie/archive/2014/04/04/206471.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/codejie/comments/commentRss/206471.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/codejie/services/trackbacks/206471.html</trackback:ping><description><![CDATA[<p style="white-space: normal; text-transform: none; word-spacing: 0px; color: #000000; font: 14px/21px verdana, 'courier new'; margin: 5px auto; letter-spacing: normal; background-color: #ffffff; text-indent: 0px; -webkit-text-stroke-width: 0px"><strong><font size="2">快捷链接</font></strong></p> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: #000000; font: 14px/21px verdana, 'courier new'; margin: 5px auto; letter-spacing: normal; background-color: #ffffff; text-indent: 0px; -webkit-text-stroke-width: 0px"><font size="2">&nbsp; <span class="Apple-converted-space">&nbsp;</span><span class="Apple-converted-space">&nbsp;</span></font><a style="color: #0066aa; text-decoration: none" href="http://www.cppblog.com/codejie/archive/2010/07/23/108996.html"><u><font color="#0066cc" size="2">下载地址</font></u></a></p> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: #000000; font: 14px/21px verdana, 'courier new'; margin: 5px auto; letter-spacing: normal; background-color: #ffffff; text-indent: 0px; -webkit-text-stroke-width: 0px"><font size="2">&nbsp; <span class="Apple-converted-space">&nbsp;</span><span class="Apple-converted-space">&nbsp;</span></font><a style="color: #0066aa; text-decoration: none" href="http://www.cppblog.com/codejie/category/20828.html"><u><font color="#0066cc" size="2">相关随笔</font></u></a></p> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: #000000; font: 14px/21px verdana, 'courier new'; margin: 5px auto; letter-spacing: normal; background-color: #ffffff; text-indent: 0px; -webkit-text-stroke-width: 0px">&nbsp;</p> <p><strong>正文</strong></p> <p>&nbsp;&nbsp;&nbsp; 今天把I;P的高分榜和成就系统搞好了, 最终还是使用了Google Play Service的API, 虽然这服务在国内的可靠性和稳定性上很成文档, 但这也是没办法啊, 一来咱没有服务器, 二来国内也没个平台能提供类似的功能.再者如果I;P的0.99刀版真能实现, 那还是去骗"刀"去吧, 嘿嘿...</p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; Google了下, 国内似乎不是很关注这个Google Play Service, 估计还是考虑稳定问题, 用的少; 再加上今天甚是"<strong>疲惫</strong>", 本来要写个GoogleApiClient的使用说明, 算了, 懒了~真有兴趣的, 去下载GoogleApiClient的SDK的实例, 看下BaseGameUtils和TypeANumber工程就啥都明白了. </p> <p>&nbsp;&nbsp;&nbsp; </p> <p>&nbsp;&nbsp;&nbsp; 这个GoogleApiClient不仅仅支持Play Service, 还有Plus+等等很多Google的服务. 我觉得吧, 这就是Google的厉害之处, 啥服务都有接口, 啥接口都简单方便...这大大地吸引了第三方的应用和服务加入Google体系..</p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; 因为懒了, 就给大家看看Google Play Service 提供的高分榜和成就系统的样子吧..</p> <p>&nbsp;</p> <p align="center"><a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP-_10143/ip_31_2.png"><img title="ip_31" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip_31" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP-_10143/ip_31_thumb.png" width="244" height="404" /></a>&nbsp;<a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP-_10143/ip-32_2.png"><img title="ip-32" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip-32" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP-_10143/ip-32_thumb.png" width="244" height="404" /></a></p> <p align="center">&nbsp;</p> <p align="left">I;P实际还没全部敲好, 先不更新了...</p><img src ="http://www.cppblog.com/codejie/aggbug/206471.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/codejie/" target="_blank">codejie</a> 2014-04-04 18:48 <a href="http://www.cppblog.com/codejie/archive/2014/04/04/206471.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>I;P : Preview v10.0 - Step by Step</title><link>http://www.cppblog.com/codejie/archive/2014/03/28/206388.html</link><dc:creator>codejie</dc:creator><author>codejie</author><pubDate>Fri, 28 Mar 2014 15:24:00 GMT</pubDate><guid>http://www.cppblog.com/codejie/archive/2014/03/28/206388.html</guid><wfw:comment>http://www.cppblog.com/codejie/comments/206388.html</wfw:comment><comments>http://www.cppblog.com/codejie/archive/2014/03/28/206388.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/codejie/comments/commentRss/206388.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/codejie/services/trackbacks/206388.html</trackback:ping><description><![CDATA[<p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); font: 14px/21px verdana, 'courier new'; margin: 5px auto; letter-spacing: normal; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px"><strong><font size="2">快捷链接</font></strong></p> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); font: 14px/21px verdana, 'courier new'; margin: 5px auto; letter-spacing: normal; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px"><font size="2">&nbsp;&nbsp;&nbsp; <a href="http://www.cppblog.com/codejie/archive/2014/03/07/206085.html">在线文档</a></font></p> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); font: 14px/21px verdana, 'courier new'; margin: 5px auto; letter-spacing: normal; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px"><font size="2">&nbsp; <span class="Apple-converted-space">&nbsp;</span><span class="Apple-converted-space">&nbsp;</span></font><a style="color: rgb(0,102,170); text-decoration: none" href="http://www.cppblog.com/codejie/archive/2010/07/23/108996.html"><u><font color="#0066cc" size="2">下载地址</font></u></a></p> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); font: 14px/21px verdana, 'courier new'; margin: 5px auto; letter-spacing: normal; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px"><font size="2">&nbsp; <span class="Apple-converted-space">&nbsp;</span><span class="Apple-converted-space">&nbsp;</span></font><a style="color: rgb(0,102,170); text-decoration: none" href="http://www.cppblog.com/codejie/category/20828.html"><u><font color="#0066cc" size="2">相关随笔</font></u></a></p> <p>&nbsp;</p> <p><strong>正文</strong></p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; v10.0...这是第一次把一个应用升级到这个数. 也没办法, Android的版本号Version Code只能整数递增, 咱也就顺着破下"记录"了...</p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; I;P (I'm a Programmer) Preview v10.0新增了个大功能 -- <strong>单步执行</strong>! 看下图示:</p> <p>&nbsp;</p> <p align="center"><a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview-v10.0_1239B/ip-28_2.png"><img title="ip-28" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip-28" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview-v10.0_1239B/ip-28_thumb.png" width="288" height="174"></a>&nbsp;<a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview-v10.0_1239B/ip-29_2.png"><img title="ip-29" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip-29" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview-v10.0_1239B/ip-29_thumb.png" width="288" height="174"></a></p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; 右边的新按钮看到么...这些按钮实现了Step by Step功能. 有时想想我还真是"机智"啊, 竟能没新占用空间就实现了此功能...嘿嘿, 沾沾自喜啊...</p> <p>&nbsp;&nbsp;&nbsp; '单步执行'具体操作请看I;P使用说明. 另外也在'Tutorials'组新增了一个向导关, 来说明这个单步执行怎么用.</p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; 今天好累, 不多扯淡了, 再上两张图, 一张是@LTF的急速破解, 一张是@小鬼啊喵的一路横扫, 看到眼花缭乱...</p> <p>&nbsp;</p> <p align="center"><a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview-v10.0_1239B/ip-31_2.png"><img title="ip-31" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip-31" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview-v10.0_1239B/ip-31_thumb.png" width="332" height="198"></a>&nbsp;<a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview-v10.0_1239B/ip-30_2.png"><img title="ip-30" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip-30" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview-v10.0_1239B/ip-30_thumb.png" width="331" height="197"></a></p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; 目前在I;P群中, 该是"主角"的我的感觉就是 -- 路遇高人过招, 全无招架之力, 最终死于乱刀之中啊...</p> <p>&nbsp;</p> <p>&nbsp;</p> <p><a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview-v10.0_1239B/wechat_2.png"><img title="wechat" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="wechat" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview-v10.0_1239B/wechat_thumb.png" width="244" height="245"></a></p><img src ="http://www.cppblog.com/codejie/aggbug/206388.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/codejie/" target="_blank">codejie</a> 2014-03-28 23:24 <a href="http://www.cppblog.com/codejie/archive/2014/03/28/206388.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>I;P : Preview v9.0</title><link>http://www.cppblog.com/codejie/archive/2014/03/25/206333.html</link><dc:creator>codejie</dc:creator><author>codejie</author><pubDate>Tue, 25 Mar 2014 15:16:00 GMT</pubDate><guid>http://www.cppblog.com/codejie/archive/2014/03/25/206333.html</guid><wfw:comment>http://www.cppblog.com/codejie/comments/206333.html</wfw:comment><comments>http://www.cppblog.com/codejie/archive/2014/03/25/206333.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/codejie/comments/commentRss/206333.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/codejie/services/trackbacks/206333.html</trackback:ping><description><![CDATA[<p>&nbsp;</p> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: #000000; font: 14px/21px verdana, 'courier new'; margin: 5px auto; letter-spacing: normal; text-indent: 0px; -webkit-text-stroke-width: 0px"><strong><font size="2">快捷链接</font></strong></p> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: #000000; font: 14px/21px verdana, 'courier new'; margin: 5px auto; letter-spacing: normal; text-indent: 0px; -webkit-text-stroke-width: 0px"><font size="2">&nbsp;&nbsp; <span class="Apple-converted-space">&nbsp;</span></font><a href="http://www.cppblog.com/codejie/archive/2010/07/23/108996.html"><u><font color="#0066cc" size="2">下载地址</font></u></a></p> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: #000000; font: 14px/21px verdana, 'courier new'; margin: 5px auto; letter-spacing: normal; text-indent: 0px; -webkit-text-stroke-width: 0px"><font size="2">&nbsp;&nbsp; <span class="Apple-converted-space">&nbsp;</span></font><a href="http://www.cppblog.com/codejie/category/20828.html"><u><font color="#0066cc" size="2">相关随笔</font></u></a></p> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: #000000; font: 14px/21px verdana, 'courier new'; margin: 5px auto; letter-spacing: normal; text-indent: 0px; -webkit-text-stroke-width: 0px">&nbsp;</p> <p><strong>正文</strong></p> <p>&nbsp;&nbsp;&nbsp; 群中来了新人~每次看着PK的截图, 哪感觉 ---- 我咋个那么笨呢... 一个比一个猛, 我现在彻底只有看热闹的份了...</p> <p>&nbsp;&nbsp;&nbsp; 有图有真像, 目前从Tutorials到Impossible中的各关已经全部被搞定了, Unsolved被沦陷的两关也被移走了...还好, 我无厘头设计的拿10+关还在, 哇哈哈...</p> <p>&nbsp;</p> <p align="center"><a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview_12107/ip-26_4.png"><img title="ip-26" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip-26" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview_12107/ip-26_thumb_1.png" width="332" height="199" /></a>&nbsp;<a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview_12107/ip-27_2.png"><img title="ip-27" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip-27" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview_12107/ip-27_thumb.png" width="332" height="199" /></a></p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; I;P Preview v9.0支持了选关界面的截屏(点击界面中上方的Title即可), 这样就可以很方便的show,show破关的进度了, 同时根据@LTF的建议, 修改了系统返回键的功能, 在关卡界面中点击不在是退出游戏了, 而是返回选关界面了. 另外啊, 这几天估计害死@Doyle和@LTF太多的脑细胞, 所以在Easy下增加了两关, 让他俩放(P)松(K)下..嘿嘿...</p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; 现在I;P还有两大块功能需要实现, 但有些难度, 还要好好想想...</p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1. 高分榜: 我知道这个是必须的, 只是还没找到合适的方式来展示和存放数据; 开始计划使用Goole Play Service, 但考虑到国内的情况, 很是犹豫;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2. 单步执行: 这个实际在I;P初始设计时就有的, 甚至设置断点都支持的(我会乱说I;P敲了个编译/解释器嘛?!), 但实现时问题来了 ---- 手机那小屏幕, 寸土寸金, 堪比房价, 这让我要用怎样的法子放下才能放下单步调试所需的按钮啊...</p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; 不多说了, 来战!&nbsp;&nbsp;&nbsp; </p> <p>&nbsp;</p> <p><a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview_12107/wechat_2.png"><img title="wechat" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="wechat" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview_12107/wechat_thumb.png" width="244" height="245" /></a></p><img src ="http://www.cppblog.com/codejie/aggbug/206333.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/codejie/" target="_blank">codejie</a> 2014-03-25 23:16 <a href="http://www.cppblog.com/codejie/archive/2014/03/25/206333.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>I;P : Preview v7.0</title><link>http://www.cppblog.com/codejie/archive/2014/03/22/206272.html</link><dc:creator>codejie</dc:creator><author>codejie</author><pubDate>Fri, 21 Mar 2014 16:20:00 GMT</pubDate><guid>http://www.cppblog.com/codejie/archive/2014/03/22/206272.html</guid><wfw:comment>http://www.cppblog.com/codejie/comments/206272.html</wfw:comment><comments>http://www.cppblog.com/codejie/archive/2014/03/22/206272.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/codejie/comments/commentRss/206272.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/codejie/services/trackbacks/206272.html</trackback:ping><description><![CDATA[<p><b>快捷链接</b> <p>&nbsp;&nbsp;&nbsp; <a href="http://www.cppblog.com/codejie/archive/2010/07/23/108996.html">下载地址</a> <p>&nbsp;&nbsp;&nbsp; <a href="http://www.cppblog.com/codejie/category/20828.html">相关随笔</a> <p>&nbsp; <p><strong>正文</strong></p> <p>&nbsp;&nbsp;&nbsp; 本来计划休息两天, 但I;P那可以感觉到的Bugs实在让人无法"安息", 加上强力的Doyle同学的那"横扫"全部关卡之势, 这几个夜实际还是一样夜夜"欢敲" -- 改功能, 修Bugs, 加关卡. 因此I;P也不知不觉变成了Preview v7.0...</p> <p>&nbsp;&nbsp;&nbsp; 说到Doyle同学, 咋说呢...我也不认识...他是I;P群中的第(wei)一人了...要说有多强力呢, 请看下面图!</p> <p>&nbsp;</p> <p><a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview-v7.0_149C5/ip-24_2.png"><img title="ip-24" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip-24" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview-v7.0_149C5/ip-24_thumb.png" width="368" height="222"></a>&nbsp;<a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview-v7.0_149C5/ip-25_2.png"><img title="ip-25" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip-25" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview-v7.0_149C5/ip-25_thumb.png" width="362" height="222"></a></p> <p>&nbsp;</p> <p>&nbsp;&nbsp; 怎么样? 又来单挑的不? 嘿嘿, 请扫描下面二维码登场哦...</p> <p>&nbsp;</p> <p><a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview-v7.0_149C5/wechat_2.png"><img title="wechat" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="wechat" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Preview-v7.0_149C5/wechat_thumb.png" width="180" height="181"></a></p> <p>&nbsp;</p> <p>&nbsp;</p> <p>&lt;---- 闲扯的分割线 ----&gt;</p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; 前几天, 一朋友来玩, 给面子装上了I;P, 结果 -- 拼死玩过一关后,愤愤地说: 你说你这是啥破玩意?! <strong>人家玩个游戏是为了放松, 是为了休闲, 知道不! 你Y一关就搞死我百八十个脑细胞, 你这叫作死, 知道不?! </strong>你Y就不能搞点时尚点的? 像哪啥bird什么的, 不行啊, 不行啊...当时我就笑抽了, 但为了安抚他"受伤"的心, 我说: 好的, 好的, 我错了, 我改啊, 回头给你做个时尚的, 你看 -- 无尽贪吃蛇如何? 要不来个疯狂坦克?</p><img src ="http://www.cppblog.com/codejie/aggbug/206272.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/codejie/" target="_blank">codejie</a> 2014-03-22 00:20 <a href="http://www.cppblog.com/codejie/archive/2014/03/22/206272.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>I;P : Highlight the code being executed</title><link>http://www.cppblog.com/codejie/archive/2014/03/12/206135.html</link><dc:creator>codejie</dc:creator><author>codejie</author><pubDate>Tue, 11 Mar 2014 16:18:00 GMT</pubDate><guid>http://www.cppblog.com/codejie/archive/2014/03/12/206135.html</guid><wfw:comment>http://www.cppblog.com/codejie/comments/206135.html</wfw:comment><comments>http://www.cppblog.com/codejie/archive/2014/03/12/206135.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/codejie/comments/commentRss/206135.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/codejie/services/trackbacks/206135.html</trackback:ping><description><![CDATA[<p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); font: 14px/21px verdana, 'courier new'; margin: 5px auto; letter-spacing: normal; text-indent: 0px; -webkit-text-stroke-width: 0px"><b>快捷链接</b></p> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); font: 14px/21px verdana, 'courier new'; margin: 5px auto; letter-spacing: normal; text-indent: 0px; -webkit-text-stroke-width: 0px">&nbsp;&nbsp; <span class="Apple-converted-space">&nbsp;</span><a href="http://www.cppblog.com/codejie/archive/2010/07/23/108996.html" href_cetemp="http://www.cppblog.com/codejie/archive/2010/07/23/108996.html"><font color="#0066cc">下载地址</font></a></p> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); font: 14px/21px verdana, 'courier new'; margin: 5px auto; letter-spacing: normal; text-indent: 0px; -webkit-text-stroke-width: 0px">&nbsp;&nbsp; <span class="Apple-converted-space">&nbsp;</span><a href="http://www.cppblog.com/codejie/category/20828.html" href_cetemp="http://www.cppblog.com/codejie/category/20828.html"><font color="#0066cc">相关随笔</font></a></p> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); font: 14px/21px verdana, 'courier new'; margin: 5px auto; letter-spacing: normal; text-indent: 0px; -webkit-text-stroke-width: 0px">&nbsp;</p> <p><strong>正文</strong></p> <p>&nbsp;&nbsp;&nbsp; 这两晚给I;P增加了个新功能: </p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 高亮显示正在执行的代码.</p> <blockquote> <p><img title="ip_14" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="ip_14" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Highlight-the-code-is-being-executed_1497B/ip_14_8ec8d86d-8158-4f3f-9ca6-c54b59347d3a.png" width="115" height="61"></p></blockquote> <p>&nbsp;&nbsp;&nbsp; 上图所示, 被执行的代码会被高亮框标识, 这样就比较好跟踪代码执行的位置了.</p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; 新的apk包已上传, 请下载, 如果是通过google play安装的, 应该自动有更新通知. 查看Play上的下载记录, 竟然有两个战斗民族的, 难怪这个民族的数学好呢...嘿嘿..</p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; 另外, 今晚I;P群中来了第一位朋友, 很是开心, 不过他明显是来"砸场子"的, 因为各个关卡分值都比我低好多....</p> <blockquote> <p><img title="7" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="7" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Highlight-the-code-is-being-executed_1497B/7_2e9c16e1-14f0-4a4a-b4d6-4651c7034304.png" width="407" height="246"></p></blockquote> <blockquote> <p><img title="1" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="1" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Highlight-the-code-is-being-executed_1497B/1_9c8568f5-5f5a-40e7-855e-628205e8142f.png" width="406" height="240"></p></blockquote>   <p>&nbsp;&nbsp;&nbsp; 真是个行家, 下个版本就用这个分数了, 嘿嘿...</p> <p>&nbsp;&nbsp;&nbsp; 这里也说明下分数是怎么算的:<strong> 动作指令两分, 判断指令两分, 调用指令六分</strong>. 分数越少也好..</p> <p>&nbsp;&nbsp;&nbsp; 请扫描下面二维码, 加入I;P群, 来战个痛快吧...</p> <blockquote> <p><img title="wechat" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="wechat" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Highlight-the-code-is-being-executed_1497B/wechat_32f46a2b-75c2-4589-b25b-3a50df26968b.png" width="240" height="241"></p></blockquote> <p>&nbsp;&nbsp;&nbsp; 不说了, 困死了~</p><img src ="http://www.cppblog.com/codejie/aggbug/206135.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/codejie/" target="_blank">codejie</a> 2014-03-12 00:18 <a href="http://www.cppblog.com/codejie/archive/2014/03/12/206135.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>LIBGDX: FreeTypeFontGenerator and BitmapTrueFont</title><link>http://www.cppblog.com/codejie/archive/2014/03/09/206115.html</link><dc:creator>codejie</dc:creator><author>codejie</author><pubDate>Sun, 09 Mar 2014 13:03:00 GMT</pubDate><guid>http://www.cppblog.com/codejie/archive/2014/03/09/206115.html</guid><wfw:comment>http://www.cppblog.com/codejie/comments/206115.html</wfw:comment><comments>http://www.cppblog.com/codejie/archive/2014/03/09/206115.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/codejie/comments/commentRss/206115.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/codejie/services/trackbacks/206115.html</trackback:ping><description><![CDATA[<p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; 在刚开始敲<a href="http://www.cppblog.com/codejie/archive/2014/03/07/206085.html">I;P游戏</a>的时候, 字体使用的是BitmapFont, 只要有一套字体的PNG文件就可以显示字体数据了. 并且通过BitmapFont对象可以很好的跟Label结合在一起使用. BitmapFont中的字体从PNG文件中截取出来有很多方便的地方, 比如, 一来只需要准备使用的字符即可, 这样字体文件比较小; 二来可以定义任意的图案来代替字符, 灵活性定制方便. 但反过来, 由于基于PNG文件, 也导致了BitmapFont有个两个主要的缺陷 -- </p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1. 标量字体, 放大会失真;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2. 字符集有限, 尤其是使用中文时, 改动几率大;</p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; 好在LIBGDX还在其扩展库(gdx-freetype)中提供了另外一个好用的对象 --- FreeTypeFontGenerator. 通过这个对象可以加载TTF (TrueType Font), 然后产生BitmapFont对象就可以使用了.</p> <p>&nbsp;&nbsp;&nbsp; 下面是FreeTypeFontGenerator对象的主要函数原型.</p> <blockquote> <div><pre><span style="color: #008000">/** Generates a new {@link BitmapFont}, containing glyphs for the given characters. The size is expressed in pixels. Throws a
 * GdxRuntimeException in case the font could not be generated. Using big sizes might cause such an exception. All characters
 * need to fit onto a single texture.
 * @param size the size in pixels
 * @param characters the characters the font should contain
 * @param flip whether to flip the font horizontally, see {@link BitmapFont#BitmapFont(FileHandle, TextureRegion, boolean)} */</span>
<span style="color: #0000ff">public</span> BitmapFont generateFont (<span style="color: #0000ff">int</span> size, String characters, boolean flip) {}
<span style="color: #008000"></span></pre><pre><span style="color: #008000">/** Generates a new {@link BitmapFont}. The size is expressed in pixels. Throws a GdxRuntimeException in case the font could not
 * be generated. Using big sizes might cause such an exception. All characters need to fit onto a single texture.
 * 
 * @param size the size of the font in pixels */</span>
<span style="color: #0000ff">public</span> BitmapFont generateFont (<span style="color: #0000ff">int</span> size) {}</pre></div></blockquote>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 在LIBGDX中, AssetManager是个很实用的对象, 通过它可以在游戏初始时就将资源加载或者初始化好, 使用时只需要传递资源名称即可获取相关资源. 比如, 下面代码加载了TextureAtlas和Sound的资源.</p>
<blockquote>
<div><pre>assetManager.load(PackConfig.SCREEN_PLAY, TextureAtlas.<span style="color: #0000ff">class</span>);
assetManager.load(PackConfig.SCREEN_MENU, TextureAtlas.<span style="color: #0000ff">class</span>);

assetManager.load(AudioConfig.MENU_CLICK, Sound.<span style="color: #0000ff">class</span>);
assetManager.load(AudioConfig.TRAY_CATCH, Sound.<span style="color: #0000ff">class</span>);</pre></div></blockquote><br>
<p>&nbsp;&nbsp;&nbsp; 字体也是一种资源, 因此也可以通过AssetManager来加载TTF字体. 为了能使得两者无缝链接, 可以模仿BitmapFont对象创建个BitmapTrueFont来实现.</p>
<p>&nbsp;</p>
<blockquote>
<div><pre><span style="color: #0000ff">package</span> jie.android.ip.common.ttf;

<span style="color: #0000ff">import</span> java.util.HashMap;

<span style="color: #0000ff">import</span> com.badlogic.gdx.assets.AssetLoaderParameters;
<span style="color: #0000ff">import</span> com.badlogic.gdx.graphics.g2d.BitmapFont;
<span style="color: #0000ff">import</span> com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator;
<span style="color: #0000ff">import</span> com.badlogic.gdx.utils.Disposable;

<span style="color: #0000ff">public</span> <span style="color: #0000ff">class</span> BitmapTrueFont <span style="color: #0000ff">implements</span> Disposable {

	<span style="color: #0000ff">private</span> <span style="color: #0000ff">final</span> HashMap&lt;Integer, BitmapFont&gt; fontMap = <span style="color: #0000ff">new</span> HashMap&lt;Integer, BitmapFont&gt;();
	
	<span style="color: #0000ff">private</span> <span style="color: #0000ff">final</span> FreeTypeFontGenerator generator;
	<span style="color: #0000ff">private</span> <span style="color: #0000ff">final</span> String chars;
	
	<span style="color: #0000ff">public</span> BitmapTrueFont(<span style="color: #0000ff">final</span> FreeTypeFontGenerator generator, <span style="color: #0000ff">final</span> BitmapTrueFontParameter parameter) {
		<span style="color: #0000ff">this</span>.generator = generator;
		<span style="color: #0000ff">this</span>.chars = parameter.getChars();
	}
	
	@Override
	<span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span> dispose() {
		<span style="color: #0000ff">for</span> (<span style="color: #0000ff">final</span> BitmapFont font : fontMap.values()) {
			<span style="color: #0000ff">if</span> (font != <span style="color: #0000ff">null</span>) {
				font.dispose();
			}
		}

		<span style="color: #0000ff">if</span> (generator != <span style="color: #0000ff">null</span>) {
			generator.dispose();
		}
	}
	
	<span style="color: #0000ff">public</span> <span style="color: #0000ff">final</span> BitmapFont getBitmapFont(<span style="color: #0000ff">int</span> size) {
		<span style="color: #0000ff">if</span> (generator == <span style="color: #0000ff">null</span>) {
			<span style="color: #0000ff">return</span> <span style="color: #0000ff">null</span>;
		}
		
		BitmapFont font = fontMap.get(Integer.valueOf(size));
		<span style="color: #0000ff">if</span> (font == <span style="color: #0000ff">null</span>) {
			<span style="color: #0000ff">if</span> (chars == <span style="color: #0000ff">null</span>) {
				font = generator.generateFont(size);
			} <span style="color: #0000ff">else</span> {
				font = generator.generateFont(size, chars, <span style="color: #0000ff">false</span>);
			}
			fontMap.put(Integer.valueOf(size), font);
		}
		<span style="color: #0000ff">return</span> font;
	}
	
	<span style="color: #0000ff">static</span> <span style="color: #0000ff">public</span> <span style="color: #0000ff">class</span> BitmapTrueFontParameter <span style="color: #0000ff">extends</span> AssetLoaderParameters&lt;BitmapTrueFont&gt; {
		<span style="color: #0000ff">private</span> String chars = <span style="color: #0000ff">null</span>;
		
		<span style="color: #0000ff">public</span> BitmapTrueFontParameter() {			
		}
		
		<span style="color: #0000ff">public</span> BitmapTrueFontParameter(<span style="color: #0000ff">final</span> String chars) {
			<span style="color: #0000ff">this</span>.chars = chars;
		}
		
		<span style="color: #0000ff">public</span> <span style="color: #0000ff">final</span> String getChars() {
			<span style="color: #0000ff">return</span> chars;
		}
	}	
}</pre></div></blockquote><br>
<p>&nbsp;&nbsp;&nbsp; OK, 现在可以使用下面代码加载TTF资源了.</p>
<blockquote>
<div><pre>assetManager.load("example.ttf", BitmapTrueFont.<span style="color: #0000ff">class</span>, <span style="color: #0000ff">new</span> BitmapTrueFont.BitmapTrueFontParameter(null));</pre></div></blockquote><img src ="http://www.cppblog.com/codejie/aggbug/206115.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/codejie/" target="_blank">codejie</a> 2014-03-09 21:03 <a href="http://www.cppblog.com/codejie/archive/2014/03/09/206115.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>I;P : Online Manual</title><link>http://www.cppblog.com/codejie/archive/2014/03/07/206085.html</link><dc:creator>codejie</dc:creator><author>codejie</author><pubDate>Fri, 07 Mar 2014 05:54:00 GMT</pubDate><guid>http://www.cppblog.com/codejie/archive/2014/03/07/206085.html</guid><wfw:comment>http://www.cppblog.com/codejie/comments/206085.html</wfw:comment><comments>http://www.cppblog.com/codejie/archive/2014/03/07/206085.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/codejie/comments/commentRss/206085.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/codejie/services/trackbacks/206085.html</trackback:ping><description><![CDATA[<p><strong>快捷链接</strong></p>
<p>&nbsp;&nbsp;&nbsp; <a href="http://www.cppblog.com/codejie/archive/2010/07/23/108996.html">下载地址</a></p>
<p>&nbsp;&nbsp;&nbsp; <a href="http://www.cppblog.com/codejie/category/20828.html">相关随笔</a></p>
<p>&nbsp;</p>
<p><strong>正文</strong></p>
<p>&nbsp;&nbsp;&nbsp; I;P (I'm a Programmer)是一款Android平台下类似"推箱子"的益智游戏, 其玩法是通过逻辑判断和控制完成游戏各关卡设定, 当玩家将游戏中的'箱子'安装关卡要求的方式摆放时即为通关. 由于游戏本身是倾向于程序员, 工程师或者算法爱好者的, 而且我也认为通过此游戏可以培养和锻炼个人的"编程思维", 因此游戏的名字在一开始就被定为 I;P (I'm a Programmer)了, 这个全称到缩写的过程也就构成了游戏的起始画面. </p>
<blockquote>
<p><img title="ip_1" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip_1" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/ip_1_dad8c508-2748-461d-a69d-0a3d11ad211c.png" width="240" height="144" />&nbsp;<img title="ip_2" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip_2" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/ip_2_84fa6e65-799d-4a40-9ae9-6a7e15b2f433.png" width="240" height="144" /></p>
</blockquote>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; I;P关卡一共分为六大类, 分别是'Tutorials'(教程),'Easy'(容易), 'Hard'(难), 'Crazy'(疯狂), 'Impossible'(不可能)和'Unsolved'(未解决)[(原谅我界面全部都是英文, 因为现在真没时间加载中文字库...)], 理论上除第一个是教程外, 后面的关卡是越来越难. 目前由于是Preview阶段, I;P的关卡有限, 且分类还是比较混乱的, 后续会根据反馈进行相应的调整. </p>
<blockquote>
<p><img title="ip_3" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip_3" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/ip_3_5e1d227b-cfc8-44b1-923b-a3b45b31b5c0.png" width="240" height="144" /></p>
</blockquote>
<p>&nbsp;&nbsp;&nbsp; 这里建议先从'Tutorias'开始, 因为这是一个包含三个关卡的教程包. 游戏将引导你通过三个关卡, 并在过程中提示该如何使用游戏中的各个元素.</p>
<blockquote>
<p><img title="ip_8" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip_8" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/ip_8_8d8af41d-9fca-4448-b576-12ed65e8aeba.png" width="240" height="144" />&nbsp;<img title="ip_9" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip_9" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/ip_9_be4e7a68-370a-4a04-affc-37ddb3c815f3.png" width="240" height="144" /></p>
</blockquote>
<p>&nbsp;&nbsp;&nbsp; 当选择一个关卡后, I;P进入关卡界面, 在此界面中, 主要元素为左上的"箱子初始"摆放, 右上的"箱子目标"摆放; 而左下的四条长方形构成的区域为玩家"控制指令区", 可以在此区域内输入你的"指令"集, 以"控制"上方"箱子"区域中的"托盘"来移动相应的"箱子"; 界面中最右侧是"菜单"区域, 游戏中的菜单都集中在此, 并会根据不同场景显示不同的菜单. 需要注意的是整个界面的最右下方的"运行"按钮 -- 当"指令"输入完成时, 点击此钮开始执行你的指令, 而在执行过程中的任何时候或者执行完毕, 点击此钮, 界面将恢复到其初始状态.</p>
<blockquote>
<p><img title="ip_10" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="ip_10" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/ip_10_00a11268-8b3c-4316-9c8b-54e18b5d7670.png" width="240" height="144" /></p>
</blockquote>
<p>&nbsp;&nbsp;&nbsp; 一, <strong>箱子</strong></p>
<p>&nbsp;&nbsp;&nbsp; I;P中一共有四种箱子, 分别由'蓝色','绿色','红色'和'黄色'四种颜色标识. 游戏规则也要求在摆放箱子时'颜色'要一致.</p>
<blockquote>
<p><img title="box_a" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="box_a" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/box_a_aa8e6a48-d2ff-4602-81ff-85af7bfe02f7.png" width="48" height="48" /><img title="box_b" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="box_b" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/box_b_3ac3ec79-7a08-4554-92b9-6d5910ca36ad.png" width="48" height="48" /><img title="box_c" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="box_c" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/box_c_e830455d-bdfa-41b0-8fa2-d6e621490384.png" width="48" height="48" /><img title="box_d" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="box_d" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/box_d_19a06b46-c55f-49f2-9f4c-c28ad2a9e586.png" width="48" height="48" /></p>
</blockquote>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 二, <strong>指令</strong></p>
<p>&nbsp;&nbsp;&nbsp; I;P提供了四个输入列(从f0到f3), 每一个列都包含了八个控制框和八个判断框, 就是说一个列最多可以包含十六个指令. 但各个输入列可以相互调用, 比如在f0中可以输入'f1', 意味着f0将调用f1中的指令. </p>
<blockquote>
<p><img title="lines_small_title_a" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="lines_small_title_a" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_small_title_a_642e942c-1786-433b-972a-f2f5c4d060d2.png" width="48" height="53" /><img title="lines_small_title_b" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="lines_small_title_b" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_small_title_b_4dc224d2-a813-49c4-9012-01d22e1b4eaa.png" width="48" height="53" /><img title="lines_small_title_c" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="lines_small_title_c" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_small_title_c_31e00be9-aabe-4bec-be67-2d66a281497a.png" width="48" height="53" /><img title="lines_small_title_d" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="lines_small_title_d" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_small_title_d_7d56954e-a68e-40ad-8834-02ad00b02598.png" width="48" height="53" /></p>
</blockquote>
<p>&nbsp;&nbsp;&nbsp; 由于输入列有两种状态: 输入和展示, 因此游戏中每个指令都有两种不同的形式.</p>
<p>&nbsp;&nbsp;&nbsp; 点击任何一个输入列(f0~f1), 都可以切换其到输入状态, 此时可以点击指定的控制框或者判断框, 以选择自己所需的各个指令. </p>
<blockquote>
<p><img title="columns" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="columns" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/columns_464ebc93-40ab-40e0-9ba6-5237f1f592f9.png" width="388" height="116" /></p>
</blockquote>
<p>&nbsp;&nbsp;&nbsp; "控制指令"用于控制黑色的"托盘"的行为:</p>
<blockquote>
<p>&nbsp;&nbsp;&nbsp; <img title="lines_small_code_right" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="lines_small_code_right" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_small_code_right_2d183f17-5da4-47b1-a31c-16e5f36ff6d9.png" width="48" height="48" /> 向右移动一格;</p>
</blockquote> <blockquote>
<p>&nbsp;&nbsp;&nbsp; <img title="lines_small_code_left" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="lines_small_code_left" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_small_code_left_820b1f81-ee34-4da7-882e-ec409ff33595.png" width="48" height="48" /> 向左移动一格;</p>
</blockquote> <blockquote>
<p>&nbsp;&nbsp; <img title="lines_small_code_act" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="lines_small_code_act" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_small_code_act_d91d24cb-a433-41b3-b2d0-9e55ca9a7a55.png" width="48" height="48" />&nbsp; "充电"; 当"托盘"被要求"充电"时, 如果其上放置了"箱子", "托盘"将"释放其上的"箱子", "箱子"将自动移动到"最上"可以到达的位置; 反之, 如果"托盘"上没有任何的"箱子", 托盘将尝试从其所在的列中"抓取"一个箱子, 如果没有, 则什么也不做;</p>
</blockquote> <blockquote>
<p>&nbsp;&nbsp;&nbsp; <img title="lines_small_code_call_a" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="lines_small_code_call_a" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_small_code_call_a_fb2a7739-d9b5-4969-be22-66ddee982dc6.png" width="48" height="48" /> 调用f0输入列</p>
</blockquote> <blockquote>
<p>&nbsp;&nbsp;&nbsp; <img title="lines_small_code_call_b" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="lines_small_code_call_b" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_small_code_call_b_f6a5ff56-d1ef-4472-ada1-8d53a768565b.png" width="48" height="48" /> 调用f1输入列</p>
</blockquote> <blockquote>
<p>&nbsp;&nbsp;&nbsp; <img title="lines_small_code_call_c" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="lines_small_code_call_c" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_small_code_call_c_d84e83ea-730f-410e-8bf7-febcb8bcdf74.png" width="48" height="48" /> 调用f2输入列</p>
</blockquote> <blockquote>
<p>&nbsp;&nbsp;&nbsp; <img title="lines_small_code_call_d" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="lines_small_code_call_d" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_small_code_call_d_1e788824-84c9-45bc-8560-98b44422cb0c.png" width="48" height="48" /> 调用f3输入列</p>
</blockquote>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; "判断指令"用于判断当前"托盘"上的"箱子"状态的;&nbsp; 当"判断"结果为"真"时, 游戏将执行其后的"控制指令", 反之不执行其后的"指令", 而是调用下一个判断框中的"判断指令"或是下一个控制框中的"指令"; 也就是说, "判断指令"只能影响到其后的一个"控制指令", 即一对一关系.</p>
<blockquote>
<p>&nbsp;&nbsp;&nbsp; <img title="panel_code_if_a" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="panel_code_if_a" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/panel_code_if_a_9208dd6f-9c83-4fca-88fa-f3d30fd6d1a9.png" width="48" height="48" />&nbsp;<img title="lines_small_code_if_a" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="lines_small_code_if_a" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_small_code_if_a_82e9fc8e-04bb-460e-8ba8-21e09ac4710f.png" width="36" height="36" />&nbsp;<img title="lines_big_code_if_a" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="lines_big_code_if_a" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_big_code_if_a_6ac7f6d8-187a-413d-9bcd-a441be32b972.png" width="48" height="18" /> 判断"托盘"上的箱子为"蓝色"箱子;</p>
</blockquote> <blockquote>
<p>&nbsp;&nbsp;&nbsp; <img title="panel_code_if_b" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="panel_code_if_b" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/panel_code_if_b_e62ec889-4df8-490f-bbda-c6dcf8d5fc98.png" width="48" height="48" />&nbsp;<img title="lines_small_code_if_b" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="lines_small_code_if_b" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_small_code_if_b_3c73728b-203c-4d2b-9706-9761052425ad.png" width="36" height="36" />&nbsp;<img title="lines_big_code_if_b" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="lines_big_code_if_b" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_big_code_if_b_a3f594f9-35dc-423c-8dbe-dab0fad2fc44.png" width="48" height="18" /> 判断"托盘"上的箱子为"绿色"箱子;</p>
</blockquote> <blockquote>
<p>&nbsp;&nbsp;&nbsp; <img title="panel_code_if_c" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="panel_code_if_c" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/panel_code_if_c_55d297ec-cf29-43ad-9096-e1827bd9c6d7.png" width="48" height="48" />&nbsp;<img title="lines_small_code_if_c" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="lines_small_code_if_c" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_small_code_if_c_4931b701-b71b-499a-ae89-044f0b552bd4.png" width="36" height="36" />&nbsp;<img title="lines_big_code_if_c" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="lines_big_code_if_c" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_big_code_if_c_46190f42-1a78-485f-a66a-7c13debdbf48.png" width="48" height="18" /> 判断"托盘"上的箱子为"红色"箱子;</p>
</blockquote> <blockquote>
<p>&nbsp;&nbsp;&nbsp; <img title="panel_code_if_d" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="panel_code_if_d" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/panel_code_if_d_7ad9299c-5aa9-4872-910f-af35df885144.png" width="48" height="48" />&nbsp;<img title="lines_small_code_if_d" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="lines_small_code_if_d" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_small_code_if_d_24c2ec92-1e68-45fe-8261-33911f3802d5.png" width="36" height="36" />&nbsp;<img title="lines_big_code_if_d" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="lines_big_code_if_d" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_big_code_if_d_d2ccce20-67fa-477d-aaa8-1ea7ca1307bb.png" width="48" height="18" /> 判断"托盘"上的箱子为"黄色"箱子;</p>
</blockquote> <blockquote>
<p>&nbsp;&nbsp;&nbsp; <img title="panel_code_if_any" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="panel_code_if_any" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/panel_code_if_any_4bed7e31-1258-4f3a-ba45-839fc2dbc05a.png" width="48" height="48" />&nbsp;<img title="lines_small_code_if_any" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="lines_small_code_if_any" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_small_code_if_any_36c179f1-dc3b-4d1f-bf01-bfa7dbf63bbd.png" width="36" height="36" />&nbsp;<img title="lines_big_code_if_any" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="lines_big_code_if_any" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_big_code_if_any_7e4f02d2-e2f5-4599-ab46-d6d4b915cba5.png" width="48" height="18" /> 判断"托盘"上的箱子为任意颜色的箱子;</p>
</blockquote> <blockquote>
<p>&nbsp;&nbsp;&nbsp; <img title="panel_code_if_none" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="panel_code_if_none" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/panel_code_if_none_b47bdb9a-b69f-48ed-9051-836d10506c4d.png" width="48" height="48" />&nbsp;<img title="lines_small_code_if_none" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="lines_small_code_if_none" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_small_code_if_none_e2edbc80-ea29-4c80-8c90-371de84dbaa4.png" width="36" height="36" />&nbsp;<img title="lines_big_code_if_none" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="lines_big_code_if_none" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/lines_big_code_if_none_b4935e64-dfe4-4e5d-8446-1f094c3353f2.png" width="48" height="18" /> 判断"托盘"上的箱子没有箱子;</p>
</blockquote>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 游戏每次都从f0输入列的第一个指令框开始安装顺序执行, 因此必须指令必须从f0开始输入, 当执行过程中碰到一个'空'的控制指令时, 即调用的控制框中没有任何指令时, 执行过程停止, 并显示'Code Finished'指示.&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp; 由上面内容我们可以看出, 实际输入过程就是编写"代码"的过程, "判断指令"即为'if'判断代码, 而'控制指令'即为要执行的命令代码, 而"输入列"就对应了代码中的函数.</p>
<p>&nbsp;&nbsp;&nbsp; 比如下面截图可以转换成相应的代码:</p>
<blockquote>
<p><img title="cods" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="cods" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/cods_f4f7c2b3-71c8-497c-8224-5ed10f0a1248.png" width="640" height="153" /></p>
<p>&nbsp;</p>
<p>f0() {</p>
<p>&nbsp;&nbsp;&nbsp; if (托盘上的箱子==白色) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 充电();</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; if (托盘上的箱子 == 黄色) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 左移();</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; ....</p>
<p>&nbsp;&nbsp;&nbsp; if (托盘上有箱子) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 调用f1();</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
</blockquote>
<p>&nbsp;&nbsp;&nbsp; 三, <strong>执行结果</strong></p>
<p><strong>&nbsp;&nbsp;&nbsp; </strong>I;P中有四种执行结果;</p>
<p>&nbsp;&nbsp;&nbsp; 成功: 将箱子按照关卡要求的位置摆放;</p>
<blockquote>
<p><img title="result_succ" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="result_succ" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/result_succ_ecc7eb66-188b-4476-8565-6e9474445830.png" width="240" height="62" /></p>
</blockquote>
<p>&nbsp;&nbsp;&nbsp; 执行完毕: 指令全部执行完毕, 但未完成关卡要求;</p>
<blockquote>
<p><img title="result_finished" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="result_finished" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/result_finished_c39ba361-25c3-4e1e-b471-852e9c35fc50.png" width="240" height="79" /></p>
</blockquote>
<p>&nbsp;&nbsp;&nbsp; 指令异常:&nbsp; 指令执行时使"托盘"移动出边界;</p>
<blockquote>
<p><img title="result_failed" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="result_failed" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/result_failed_37f698fe-0e3b-46e4-8aa4-e55aee454039.png" width="240" height="68" /></p>
</blockquote>
<p>&nbsp;&nbsp;&nbsp; 栈溢出: 输入列调用次数过多;&nbsp;&nbsp;&nbsp; </p>
<blockquote>
<p><img title="result_overflow" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="result_overflow" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/result_overflow_f74ff331-359c-410a-97a6-4b9c09ee9b22.png" width="240" height="71" /></p>
</blockquote>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 四, <strong>分数</strong></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 当关卡通过时, 游戏会显示当前指令的得分已经关卡的标准分数, 这个分数是越小越好, 因为分数是跟指令数量和类型相关的, 越少的指令通关也就越好. 注意的是, 根据指令计算分数时, 未执行到的指令一样会被统计, 因此需要注意删除无用指令, 以降低通关分数.</p>
<p>&nbsp;&nbsp;&nbsp; 如下图, 30/24中, 前面的分数为当前指令得分, 后面的24为关卡标准分数.</p>
<blockquote>
<p><img title="ip_5" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip_5" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/ip_5_f4e4eaf0-c2ed-4777-88b6-ab5b9dc056cb.png" width="320" height="192" /></p>
</blockquote>
<p>&nbsp;&nbsp;&nbsp; 五, <strong>菜单项</strong></p>
<p>&nbsp;&nbsp;&nbsp; I;P有三级菜单, 根据不同的场景显示相关的菜单项;</p>
<blockquote>
<p>&nbsp;&nbsp;&nbsp; <img title="cmd_clean_up" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="cmd_clean_up" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/cmd_clean_up_ec8d87c7-1dbd-430f-812c-d279c4c3a135.png" width="48" height="24" /> : 清除当前指令</p>
</blockquote> <blockquote>
<p>&nbsp;&nbsp;&nbsp; <img title="cmd_more_up" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="cmd_more_up" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/cmd_more_up_a337460e-1247-4ba3-b45a-8b4e711343ce.png" width="48" height="24" />: 显示更多菜单项</p>
</blockquote> <blockquote>
<p>&nbsp;&nbsp;&nbsp; <img title="cmd_info_up" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="cmd_info_up" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/cmd_info_up_53a0bc3f-259c-4542-b7d6-563ccde1d492.png" width="48" height="24" />: 显示关卡信息</p>
</blockquote> <blockquote>
<p>&nbsp;&nbsp; <img title="cmd_setup_up" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="cmd_setup_up" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/cmd_setup_up_e1965c61-87e3-4efd-9af7-4b6a34909f51.png" width="48" height="24" /> : 显示游戏配置项</p>
</blockquote> <blockquote>
<p>&nbsp;&nbsp; <img title="cmd_close_up" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="cmd_close_up" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/cmd_close_up_1853172b-7adc-41aa-8548-5159a425a67e.png" width="48" height="24" /> : 退出当前关卡, 切换至关卡选择界面</p>
</blockquote> <blockquote>
<p>&nbsp;&nbsp;&nbsp; <img title="cmd_back_up" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="cmd_back_up" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/cmd_back_up_4293e443-a5d3-4612-b888-a86545fed3aa.png" width="48" height="24" />: 返回当前关卡</p>
</blockquote> <blockquote>
<p>&nbsp;&nbsp; <img title="cmd_next_up" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="cmd_next_up" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/cmd_next_up_f88692d2-ea4f-4948-b131-c0eaac50cf8f.png" width="48" height="24" /> : 退出当前关卡, 切换至下一关卡</p>
</blockquote> <blockquote>
<p>&nbsp;&nbsp;&nbsp; <img title="cmd_share_up" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="cmd_share_up" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/cmd_share_up_16987d56-3471-4715-9d1a-36112bbb3c6d.png" width="48" height="24" /> : 分享当前通关界面</p>
</blockquote> <blockquote>
<p><img title="ip_6" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip_6" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/ip_6_f08ad6cd-7d85-4bb8-9d8b-ff7371143bf0.png" width="320" height="192" /></p>
</blockquote>
<blockquote>
<p><a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/cmd_enable_debug_down_2.png"><img title="cmd_enable_debug_down" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="cmd_enable_debug_down" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/cmd_enable_debug_down_thumb.png" width="48" height="24" /></a><a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/cmd_enable_debug_checked_2.png"><img title="cmd_enable_debug_checked" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="cmd_enable_debug_checked" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/cmd_enable_debug_checked_thumb.png" width="48" height="24" /></a> : 设置/取消Debug状态, 此状态开启, 可以使用'单步执行'功能;</p>
<p><a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/cmd_debug_down_2.png"><img title="cmd_debug_down" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="cmd_debug_down" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/cmd_debug_down_thumb.png" width="48" height="24" /></a> : 处于Debug状态时, 执行一条指令, 执行后自动暂停;</p>
<p><a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/cmd_debug_over_up_2.png"><img title="cmd_debug_over_up" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="cmd_debug_over_up" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/cmd_debug_over_up_thumb.png" width="48" height="24" /></a> : 处于Debug状态时, 不再单步执行指令, 而是直接执行完毕;</p>
</blockquote>
<p>&nbsp;&nbsp;&nbsp; 六, <strong>配置项</strong></p>
<p>&nbsp;&nbsp;&nbsp; 游戏有三个配置项:</p>
<p>&nbsp;&nbsp;&nbsp; 'Clock Speed': 时钟速度, 就是指令执行速度; 有三个档位可以选择;</p>
<p>&nbsp;&nbsp;&nbsp; 'Music': 开启或关闭游戏背景音乐;</p>
<p>&nbsp;&nbsp;&nbsp; 'Sound': 开启或关闭游戏内置音效;</p>
<blockquote>
<p><img title="ip_7" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip_7" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/ip_7_07382759-3119-4bf9-9f5f-39f679a45d2a.png" width="480" height="288" /></p>
</blockquote>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 七, <strong>交流</strong></p>
<p>&nbsp;&nbsp;&nbsp; 通过微信扫描下面二维码, 即可加入'I;P'临时群;</p>
<p>&nbsp;</p>
<blockquote>
<p><img title="wechat" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="wechat" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Online-Manual_C1A3/wechat_b6c47779-0454-4dd4-b4c4-afe5f518455e.png" width="240" height="241" /></p>
</blockquote>
<p>&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp; 有任何问题和建议, 请跟帖或发mail来~谢谢了~</p><img src ="http://www.cppblog.com/codejie/aggbug/206085.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/codejie/" target="_blank">codejie</a> 2014-03-07 13:54 <a href="http://www.cppblog.com/codejie/archive/2014/03/07/206085.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>I;P : Release Preview</title><link>http://www.cppblog.com/codejie/archive/2014/03/06/206082.html</link><dc:creator>codejie</dc:creator><author>codejie</author><pubDate>Thu, 06 Mar 2014 15:59:00 GMT</pubDate><guid>http://www.cppblog.com/codejie/archive/2014/03/06/206082.html</guid><wfw:comment>http://www.cppblog.com/codejie/comments/206082.html</wfw:comment><comments>http://www.cppblog.com/codejie/archive/2014/03/06/206082.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/codejie/comments/commentRss/206082.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/codejie/services/trackbacks/206082.html</trackback:ping><description><![CDATA[<p>&nbsp;</p> <p><strong>快捷链接</strong></p> <p>&nbsp;&nbsp;&nbsp; <a href="http://www.cppblog.com/codejie/archive/2010/07/23/108996.html">下载地址</a></p> <p>&nbsp;&nbsp;&nbsp; <a href="http://www.cppblog.com/codejie/archive/2014/03/07/206085.html">在线帮助</a></p> <p>&nbsp;&nbsp;&nbsp; <a href="http://www.cppblog.com/codejie/category/20828.html">相关随笔</a></p> <p>&nbsp;</p> <p><strong>正文</strong></p> <p>&nbsp;&nbsp;&nbsp; 晚上又设计了几关, 但自己一个也不能通关, 唉, 这个对我是硬伤, 没救了....但不管了, 周末这就到了, I;P必须发布了...</p> <p>&nbsp;&nbsp;&nbsp; I;P 从去年EL发布到Play上后就开始敲, 应该是11月的事情了, 想着应用不行, 咱就试试游戏了, "总有一款适合你"不是?</p> <p>&nbsp;&nbsp;&nbsp; I;P实际在很早很早的时候就开始构思了, 我也曾经在PC上实现过一个原型, 但这次才算真正实现了. 但是在Android手机上敲这个游戏, 一个最大的问题是屏幕太小, 这对输入和内容展示非常不利, 因此在设计是, 采用了大量的"变形"方式来变相放大操作和显示空间, 即, 当游戏处于不同阶段, I;P根据场景来放大和凸显指定区域, 以方便操作, 希望可以用着顺手...</p> <p>&nbsp;&nbsp;&nbsp; I;P 基于Libgdx, 所有的图形资源全部是用GIMP画的, 这个对我非常有难度啊...配色不好, 多提建议吧, 当然要是能帮忙弄一套, 那是真心感谢啊...</p> <p>&nbsp;&nbsp;&nbsp; 因为多数关卡自己没有过去, 因此也不知道设计的合理, 这里只能请各位一展身手, 然后告诉我怎么过关吧~</p> <p>&nbsp;&nbsp;&nbsp; 使用说明和下载地址请点击上面的链接, 这次是第一个版本, 主要功能已经完成, 但Bugs是必须有的, 这里还请大家Review下, 给些建议来~</p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; 为了方便交流, 有兴趣的各位请扫描下面二维码, 加入'I;P微信群', 除了提交Bugs什么的, 也可以展示通关截图, 因为I;P支持'SHARE'功能.</p> <p>&nbsp;</p> <p><img title="wechat" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="wechat" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP--Release-Prevew_148DD/wechat_3dcb6f4f-7772-4e42-a298-04d53f36f59d.png" width="240" height="241" /></p><img src ="http://www.cppblog.com/codejie/aggbug/206082.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/codejie/" target="_blank">codejie</a> 2014-03-06 23:59 <a href="http://www.cppblog.com/codejie/archive/2014/03/06/206082.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>I;P: Game for Programmers and wanting to be Programmers</title><link>http://www.cppblog.com/codejie/archive/2014/03/05/206037.html</link><dc:creator>codejie</dc:creator><author>codejie</author><pubDate>Tue, 04 Mar 2014 16:10:00 GMT</pubDate><guid>http://www.cppblog.com/codejie/archive/2014/03/05/206037.html</guid><wfw:comment>http://www.cppblog.com/codejie/comments/206037.html</wfw:comment><comments>http://www.cppblog.com/codejie/archive/2014/03/05/206037.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/codejie/comments/commentRss/206037.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/codejie/services/trackbacks/206037.html</trackback:ping><description><![CDATA[<p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; 夜夜不停地敲啊敲, 身心甚是疲惫, 今晚来个痛快吧~ 发狠了 -- 贴几张I;P的截图来! 习惯来说, 这样会逼迫自己快点完成其它部分, 以早日发布, 早日收工...</p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; <strong>I;P - I am a Programmer;</strong></p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; 这次I;P是个Game for Android, 标题来自全称中的I, P和最后的分号(;), 为啥选分号? 不解释了, 谁叫咱是个C/C++程序员呢...</p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp; I;P简单来说, 就是一个"搬箱子"游戏. 但做为程序员, 搬个箱子, 拿最好是输入"指令", 然后点击"运行", 让别人去"搬"吧...</p> <p>&nbsp;&nbsp;&nbsp; 都说一个GAME要有个"宏伟"的背景故事才会被人记住 -- 实际呢, I;P也是有的...</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p> <p align="center">在遥远的未来, </p> <p align="center">一颗遥远的星球上, </p> <p align="center">一台全宇宙最为强大的电脑前, </p> <p align="center">你, </p> <p align="center">做为唯一在前次帝国大战中幸存下来的</p> <p align="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ---- 程序员, </p> <p align="center">需要在即将爆发的新战争前完成一个关系到帝国生存任务</p> <p align="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ---- 搬箱子~~</p> <p align="center">&nbsp;</p> <p align="center">&nbsp;</p> <p align="left">&nbsp;&nbsp;&nbsp; 哈哈...废话不说, 先上图了...</p> <p align="left">&nbsp;</p> <p align="left"><a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP-Game-for-Programmer_14C29/ip_1_2.png"><img title="ip_1" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip_1" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP-Game-for-Programmer_14C29/ip_1_thumb.png" width="604" height="364" /></a></p> <p align="left"><a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP-Game-for-Programmer_14C29/ip_2_2.png"><img title="ip_2" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip_2" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP-Game-for-Programmer_14C29/ip_2_thumb.png" width="604" height="364" /></a></p> <p>&nbsp;&nbsp;&nbsp; </p><a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP-Game-for-Programmer_14C29/ip_3_2.png"><img title="ip_3" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip_3" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP-Game-for-Programmer_14C29/ip_3_thumb.png" width="604" height="364" /></a> <a href="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP-Game-for-Programmer_14C29/ip_4_2.png"><img title="ip_4" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ip_4" src="http://www.cppblog.com/images/cppblog_com/codejie/Windows-Live-Writer/IP-Game-for-Programmer_14C29/ip_4_thumb.png" width="604" height="364" /></a>  <p>&nbsp;</p> <p>&nbsp;</p> <p>&nbsp;&nbsp; 搞定, 这样I;P最迟本周末应该可以发布了~睡觉去了~</p><img src ="http://www.cppblog.com/codejie/aggbug/206037.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/codejie/" target="_blank">codejie</a> 2014-03-05 00:10 <a href="http://www.cppblog.com/codejie/archive/2014/03/05/206037.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>LingosHook：Lingoes生词本下载页</title><link>http://www.cppblog.com/codejie/archive/2010/07/23/108996.html</link><dc:creator>codejie</dc:creator><author>codejie</author><pubDate>Fri, 23 Jul 2010 08:56:00 GMT</pubDate><guid>http://www.cppblog.com/codejie/archive/2010/07/23/108996.html</guid><wfw:comment>http://www.cppblog.com/codejie/comments/108996.html</wfw:comment><comments>http://www.cppblog.com/codejie/archive/2010/07/23/108996.html#Feedback</comments><slash:comments>185</slash:comments><wfw:commentRss>http://www.cppblog.com/codejie/comments/commentRss/108996.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/codejie/services/trackbacks/108996.html</trackback:ping><description><![CDATA[<br />
<br />
<a></a>
<table border="1" cellspacing="2" cellpadding="2">
     <tbody>
         <tr>
             <td>应用</td>
             <td>版本</td>
             <td>上传时间</td>
             <td>下载地址</td>
             <td>更新记录</td>
             <td>注释说明</td>
         </tr>
        <tr>
             <td>New I;P</td>
             <td>preview v3</td>
             <td>2014.04.06</td>
             <td><a href="https://play.google.com/store/apps/details?id=jie.android.ip.preview">google play install</a><a href="https://play.google.com/store/apps/details?id=jie.android.ip"><br />
             </a><br />
             apk download<br />
             </td>
             <td>
             <div>1<span style="font-size: 10pt; line-height: 21px;">. add achievement and leaderboard</span></div>
             </td>
             <td><a href="http://www.cppblog.com/codejie/archive/2014/04/07/206489.html">更新说明</a>
             </td>
         </tr>
         <tr>
             <td>I;P (I'm a Programmer)</td>
             <td>preview v12.0</td>
             <td>2014.04.01</td>
             <td><a href="https://play.google.com/store/apps/details?id=jie.android.ip">google play install<br />
             </a><br />
             apk download<br />
             </td>
             <td>
             <div>1<span style="font-size: 10pt; line-height: 21px;">. add new four stages&nbsp;</span><span style="font-size: 13px; line-height: 21px;">from Leo&nbsp;</span><span style="font-size: 10pt; line-height: 21px;">into Unsolved pack;</span></div>
             </td>
             <td><br />
             </td>
         </tr>
         <tr>
             <td>I;P (I'm a Programmer)</td>
             <td>preview v11.0</td>
             <td>2014.03.30</td>
             <td>google play install<br />
             <br />
             apk download<br />
             </td>
             <td>
             <div><span style="font-size: 10pt; line-height: 21px;">1. support to break execution anytime;&nbsp;</span></div>
             <div><span style="font-size: 10pt;">2. add new four stages into Unsolved pack;</span></div>
             </td>
             <td><br />
             </td>
         </tr>
         <tr>
             <td>I;P (I'm a Programmer)</td>
             <td>preview v10.0</td>
             <td>2014.03.28</td>
             <td>google play install<br />
             <br />
             apk download<br />
             </td>
             <td>
             <div><span style="font-size: 10pt; line-height: 21px;">1. support to execute Step by Step;</span></div>
             <div><span style="font-size: 10pt;">2. add new three stages into Unsolved pack;</span><br />
             <span style="font-size: 10pt;">
             3. add a new tutorial stage;</span></div>
             </td>
             <td><a href="http://www.cppblog.com/codejie/archive/2014/03/28/206388.html">更新说明</a>
             </td>
         </tr>
         <tr>
             <td>I;P (I'm a Programmer)</td>
             <td>preview v9.0</td>
             <td>2014.03.25</td>
             <td>google play install<br />
             <br />
             apk download<br />
             </td>
             <td>
             <div><span style="font-size: 10pt; line-height: 21px;">1. support shot Menu screen;</span></div>
             <div><span style="font-size: 10pt;">2. add new 2 stages into Easy pack;</span></div>
             </td>
             <td><a href="http://www.cppblog.com/codejie/archive/2014/03/25/206333.html">更新说明</a>
             </td>
         </tr>
         <tr>
             <td>I;P (I'm a Programmer)</td>
             <td>preview v7.0</td>
             <td>2014.03.21</td>
             <td>google play install<br />
             <br />
             apk download<br />
             </td>
             <td><span style="font-size: 10pt;">1. adjust stages;</span><br />
             <span style="font-size: 10pt;">
             2. fixed some bugs;</span><br />
             </td>
             <td><a href="http://www.cppblog.com/codejie/archive/2014/03/22/206272.html">更新说明</a>
             </td>
         </tr>
         <tr>
             <td>I;P (I'm a Programmer)</td>
             <td>preview v6.0</td>
             <td>2014.03.17</td>
             <td>google play install<br />
             <br />
             apk download<br />
             </td>
             <td><span style="font-size: 10pt;">1. Move all unsolved stages to 'Unsolved' pack, please feedback your solution!</span><br />
             </td>
             <td><br />
             </td>
         </tr>
         <tr>
             <td>I;P (I'm a Programmer)</td>
             <td>preview v4.0</td>
             <td>2014.03.14</td>
             <td>google play install<br />
             <br />
             apk download<br />
             </td>
             <td><span style="font-size: 10pt;">1. fixed some bugs</span><br />
             </td>
             <td><br />
             </td>
         </tr>
         <tr>
             <td>I;P (I'm a Programmer)</td>
             <td>preview v3.0</td>
             <td>2014.03.13</td>
             <td>google play install<br />
             <br />
             apk download<br />
             </td>
             <td><span style="font-size: 10pt;">1. fixed some bugs</span><br />
             <span style="font-size: 10pt;">
             2. show source in target window while done</span></td>
             <td><br />
             </td>
         </tr>
         <tr>
             <td>I;P (I'm a Programmer)</td>
             <td>preview v2.0</td>
             <td>2014.03.12</td>
             <td>google play install<br />
             <br />
             apk download<br />
             </td>
             <td><span style="font-size: 10pt;">增加高亮支持</span></td>
             <td><a href="http://www.cppblog.com/codejie/archive/2014/03/12/206135.html">在线文档</a></td>
         </tr>
         <tr>
             <td>I;P (I'm a Programmer)</td>
             <td>preview</td>
             <td>2014.03.07</td>
             <td>google play install<br />
             <br />
             apk download<br />
             </td>
             <td></td>
             <td><a href="http://www.cppblog.com/codejie/archive/2014/03/07/206085.html">在线文档</a></td>
         </tr>
         <tr>
             <td></td>
             <td></td>
             <td></td>
             <td></td>
             <td></td>
             <td></td>
         </tr>
         <tr>
             <td>&nbsp;EL (ESL within LAC)</td>
             <td>&nbsp;1.6.1</td>
             <td>&nbsp;2013.11.10</td>
             <td><a href="https://play.google.com/store/apps/details?id=jie.android.el">google play install</a><br />
             <br />
             <a href="http://lingoshook.googlecode.com/files/EL_1.6.1.apk">EL_1.6.1.apk</a></td>
             <td>
             <div>1. 支持'中文';<br />
             2. 登录Google Play;</div>
             </td>
             <td><a href="http://www.cppblog.com/codejie/archive/2013/11/10/204190.html">更新说明</a></td>
         </tr>
         <tr>
             <td>&nbsp;LingosHook -WordExport</td>
             <td>&nbsp;1.1.1</td>
             <td>&nbsp;2013.10.29</td>
             <td><a href="http://lingoshook.googlecode.com/files/P_WordExport_1.1.1.zip">WordExport.zip</a></td>
             <td>
             <div>1. 支持部分自定义输出格式</div>
             </td>
             <td><a href="http://www.cppblog.com/codejie/archive/2013/10/30/203982.html">更新说明</a></td>
         </tr>
         <tr>
             <td>&nbsp;EL (ESL with LAC)</td>
             <td>&nbsp;1.6.0</td>
             <td>&nbsp;2013.10.22</td>
             <td>&nbsp;<a href="http://lingoshook.googlecode.com/files/EL_1.6.0.apk">EL_1.6.0.apk</a></td>
             <td>
             <div>1. 新增EL的Widget;</div>
             <div>2. 修正包下载bugs;</div>
             <div>3. 重新设计播放接口;</div>
             <div>4. 重写UI切换代码;</div>
             </td>
             <td><a href="http://www.cppblog.com/codejie/archive/2013/10/21/203861.html">更新说明</a></td>
         </tr>
         <tr>
             <td>&nbsp;EL (ESL with LAC)</td>
             <td>&nbsp;1.5.0</td>
             <td>&nbsp;2013.10.09</td>
             <td>&nbsp;<a http:=""  code.google.="" com="" p="" lingoshook="" downloads=""  list"="">EL_1.5.0.apk</a></td>
             <td>1. 自动下载/安装新版本;<br />
             2. 通知栏中控制播放;
             </td>
             <td><a href="http://www.cppblog.com/codejie/archive/2013/10/09/203623.html">更新说明</a></td>
         </tr>
         <tr>
             <td>&nbsp;EL (ESL with LAC)</td>
             <td>&nbsp;1.4.0</td>
             <td>&nbsp;2013.09.28</td>
             <td>&nbsp;<a href="http://code.google.com/p/lingoshook/downloads/list">EL_1.4.0.apk</a></td>
             <td>1. 新增背诵(Reciting)功能;<br />
             2. 新增生词本(Vocab)功能;
             </td>
             <td><a href="http://www.cppblog.com/codejie/archive/2013/09/27/203461.html">更新说明</a></td>
         </tr>
         <tr>
             <td>&nbsp;EL (ESL with LAC)</td>
             <td>&nbsp;1.3.0</td>
             <td>&nbsp;2013.09.07</td>
             <td>&nbsp;<a href="http://code.google.com/p/lingoshook/downloads/list">EL_1.3.0.apk</a></td>
             <td>1. 新增'check for new packages';<br />
             2. 修正切换ESL播放异常;<br />
             3. 修正2.3.x下的下载兼容问题;
             </td>
             <td><a href="http://www.cppblog.com/codejie/archive/2013/09/07/203062.html">更新说明</a></td>
         </tr>
         <tr>
             <td>&nbsp;EL (ESL with LAC)</td>
             <td>&nbsp;1.2.2</td>
             <td>&nbsp;2013.09.02</td>
             <td>&nbsp;<a href="http://code.google.com/p/lingoshook/downloads/list">EL_1.2.2.apk</a></td>
             <td>1. 修正2.3.x平台兼容问题</td>
             <td><a href="http://www.cppblog.com/codejie/archive/2013/09/02/202969.html">更新说明</a></td>
         </tr>
         <tr>
             <td>&nbsp;EL (ESL with LAC)</td>
             <td>&nbsp;1.2.1</td>
             <td>&nbsp;2013.08.26</td>
             <td>&nbsp;<a href="http://code.google.com/p/lingoshook/downloads/list">EL_1.2.1.apk</a></td>
             <td>1. 修正播放状态栏提示Bug</td>
             <td><a href="http://www.cppblog.com/codejie/archive/2013/08/26/202782.html">更新说明</a></td>
         </tr>
         <tr>
             <td>&nbsp;EL (ESL with LAC)</td>
             <td>&nbsp;1.2</td>
             <td>&nbsp;2013.08.24</td>
             <td>&nbsp;<a href="http://code.google.com/p/lingoshook/downloads/list">EL_1.2.apk</a></td>
             <td>1. 新增词典功能</td>
             <td><a href="http://www.cppblog.com/codejie/archive/2013/08/24/202720.html">更新说明</a></td>
         </tr>
         <tr>
             <td>&nbsp;EL (ESL with LAC)</td>
             <td>&nbsp;1.1alpha</td>
             <td>&nbsp;2013.08.15</td>
             <td>&nbsp;<a href="http://code.google.com/p/lingoshook/downloads/list">EL_1.1.apk</a></td>
             <td>1. 标记前次播放的课程;<br />
             2. 快速跳转到课程指定部分;<br />
             3. 清除下载记录;<br />
             </td>
             <td>&nbsp;<a href="http://www.cppblog.com/codejie/archive/2013/08/18/202625.html">EL使用说明</a></td>
         </tr>
         <tr>
             <td>&nbsp;EL (ESL with LAC)</td>
             <td>&nbsp;1.0 alpha</td>
             <td>&nbsp;2013.08.15</td>
             <td>&nbsp;<a href="http://code.google.com/p/lingoshook/downloads/list">EL.apk</a></td>
             <td>&nbsp;<a href="http://www.cppblog.com/codejie/archive/2013/08/13/202525.html">alaph版本说明</a></td>
             <td>&nbsp;<a href="http://www.cppblog.com/codejie/archive/2013/08/13/202526.html">EL使用说明</a></td>
         </tr>
         <tr>
             <td><a title="LingosHook" href="www.cppblog.com/codejie">LingosHook</a> x64</td>
             <td>1.6.700</td>
             <td>2013.04.24</td>
             <td><a href="https://code.google.com/p/lingoshook/downloads/detail?name=LingosHook-Setup_x64-1.6.700.exe">LingosHook-Setup_x64</a></td>
             <td>1.支持x64<br />
             2.不包含任何插件</td>
             <td>看<a href="http://www.cppblog.com/codejie/archive/2013/04/24/199667.html">这里</a></td>
         </tr>
         <tr>
             <td><a title="LAC" href="www.cppblog.com/codejie">LingosHook Android Client</a></td>
             <td>v2</td>
             <td>2013.04.06</td>
             <td><a href="https://lingoshook.googlecode.com/files/DemoDictionaryOfLAC2.apk">DemoDictionayOfLAC2.apk</a></td>
             <td>Native Dictionary Demo</td>
             <td>看<a href="http://www.cppblog.com/codejie/archive/2013/04/06/199142.html">这里</a></td>
         </tr>
         <tr>
             <td><a title="LAC" href="www.cppblog.com/codejie">LingosHook Android Client</a></td>
             <td>v1</td>
             <td>2013.02.13</td>
             <td><a href="https://code.google.com/p/lingoshook/downloads/list">DemoDictionayOfLAC2.apk</a></td>
             <td>Native Dictionary Demo</td>
             <td>看<a href="http://www.cppblog.com/codejie/archive/2013/02/13/197822.html">这里</a></td>
         </tr>
         <tr>
             <td><a title="LingosHook" href="www.cppblog.com/codejie">LingosHook</a></td>
             <td>1.6.700</td>
             <td>2013.01.07</td>
             <td>
             <p><a href="http://code.google.com/p/lingoshook/downloads/detail?name=LingosHook-Setup-1.6.700.exe&amp;can=2&amp;q=">LingosHook-Setup</a></p>
             <p><a href="http://code.google.com/p/lingoshook/downloads/detail?name=LingosHook-mini-Setup-1.6.700.exe&amp;can=2&amp;q=">LingosHook-Mini-Setup</a></p>
             </td>
             <td>
             <p>1.修正Index页面下,使用'copy to tag'菜单时崩溃问题.<br />
             </p>
             </td>
             <td>更新说明看<a href="http://www.cppblog.com/codejie/archive/2013/01/07/197089.html">这里</a>；</td>
         </tr>
         <tr>
             <td><a title="LingosHook" href="www.cppblog.com/codejie">LingosHook</a> Plugins - WordExport</td>
             <td>1.0.1</td>
             <td>2012.10.23</td>
             <td><a href="http://code.google.com/p/lingoshook/downloads/detail?name=P_WordExport.zip&amp;can=2&amp;q=">WordExport</a></td>
             <td>1. 支持按照单词字母顺序和添加顺序导出;</td>
             <td>更新说明看<a href="http://www.cppblog.com/codejie/archive/2012/10/23/193750.html">这里</a>。</td>
         </tr>
         <tr>
             <td><a title="LAC" href="www.cppblog.com/codejie">LingosHook Android Client</a></td>
             <td>1.1.1</td>
             <td>2012.08.30</td>
             <td><a href="http://lingoshook.googlecode.com/files/LingosHookAndroidClient_P1.apk">LAC</a><br />
             <br />
             <a href="http://lingoshook.googlecode.com/files/LingosHook%20Android%20Client_P2.apk">LAC</a></td>
             <td>1. 修改数据导入时,无Word数据;<br />
             2. 修改数据导入时,无Word数据显示;</td>
             <td>更新说明看<a href="http://www.cppblog.com/codejie/archive/2012/08/30/188681.html">这里</a>。</td>
         </tr>
         <tr>
             <td><a title="LAC" href="www.cppblog.com/codejie">LingosHook Android Client</a></td>
             <td>1.1.0</td>
             <td>2012.08.28</td>
             <td><br />
             </td>
             <td>1. 支持XML格式导入;<br />
             2. 支持单个数据导入;<br />
             3. 支持远程(HTTP)方式导入;<br />
             4. 增加'Html界面点击'配置.</td>
             <td>更新说明看<a href="http://www.cppblog.com/codejie/archive/2012/08/28/188560.html">这里</a>。</td>
         </tr>
         <tr>
             <td>&nbsp;LAC</td>
             <td>&nbsp;1.0.0</td>
             <td>&nbsp;2012.08.02</td>
             <td><a href="http://code.google.com/p/lingoshook/downloads/detail?name=LingosHookAndroidClient_D-1.0.0.apk&amp;can=2&amp;q=">LAC</a><br />
             <a href="http://code.google.com/p/lingoshook/downloads/detail?name=LingosHook%20Android%20Client-1.0.0.apk&amp;can=2&amp;q=">LAC</a><br />
             <a href="http://code.google.com/p/lingoshook/downloads/detail?name=c4.db3&amp;can=2&amp;q=">CET-4</a><br />
             <a href="http://code.google.com/p/lingoshook/downloads/detail?name=c6.db3&amp;can=2&amp;q=">CET-6</a><br />
             <a href="http://code.google.com/p/lingoshook/downloads/detail?name=c46.db3&amp;can=2&amp;q=">CET-4&amp;6</a><br />
             <a href="http://code.google.com/p/lingoshook/downloads/detail?name=LH_Export.db3&amp;can=2&amp;q=">MyDB</a></td>
             <td>1. Beta后第一版；<br />
             2. 提供四个实例数据库；<br />
             </td>
             <td>1. 更新说明看这<a href="http://www.cppblog.com/codejie/archive/2012/08/02/186053.html">里</a>；<br />
             2.<a href="http://www.cppblog.com/codejie/archive/2012/08/02/164888.html"> LAC帮助文档</a>在这里！<br />
             </td>
         </tr>
         <tr>
             <td><a title="LingosHook" href="www.cppblog.com/codejie">LingosHook</a></td>
             <td>1.6.618</td>
             <td>2012.06.18</td>
             <td><a href="http://code.google.com/p/lingoshook/downloads/detail?name=LingosHook-Setup-1.6.618.exe&amp;can=2&amp;q=">LingosHook-Setup</a><br />
             <a href="http://code.google.com/p/lingoshook/downloads/detail?name=LingosHook-mini-Setup-1.6.618.exe&amp;can=2&amp;q=">LingosHook-Mini-Setup</a></td>
             <td>1. 支持删除&#8216;无匹配数据&#8217;单词</td>
             <td>更新说明看<a href="http://www.cppblog.com/codejie/archive/2012/06/18/179305.html">这里</a>。</td>
         </tr>
         <tr>
             <td><a title="LingosHook" href="www.cppblog.com/codejie">LingosHook</a></td>
             <td>&nbsp;1.6.061</td>
             <td>&nbsp;2012.06.01</td>
             <td><a href="http://code.google.com/p/lingoshook/downloads/detail?name=LingosHook-Setup-1.6.061.exe&amp;can=2&amp;q=">LingosHook-Setup</a><br />
             <a href="http://code.google.com/p/lingoshook/downloads/detail?name=LingosHook-mini-Setup-1.6.061.exe&amp;can=2&amp;q=">LingosHook-Mini-Setup</a></td>
             <td>
             <p>1. 支持将Tag下所有单词移动到另外Tag下；<br />
             2. 支持HTML数据优化；<br />
             3. 更新WordExport插件；</p>
             4. 修正&#8216;数据添加Bug'，并新增DataCleanup插件；<br />
             5. ForDonator插件更新；<br />
             </td>
             <td>1. 更新说明看<a href="http://www.cppblog.com/codejie/archive/2012/06/01/177047.html">这里</a>；<br />
             2. 小宝六一快乐！</td>
         </tr>
         <tr>
             <td><a title="LingosHook" href="www.cppblog.com/codejie">LingosHook</a></td>
             <td>1.5222</td>
             <td>2012.02.23</td>
             <td>
             <p><a href="http://code.google.com/p/lingoshook/downloads/detail?name=LingosHook-Setup-1.5.222.exe&amp;can=2&amp;q=">LingosHook-Setup</a></p>
             <p><a href="http://code.google.com/p/lingoshook/downloads/detail?name=LingosHook-mini-Setup-1.5.222.exe&amp;can=2&amp;q=">LingosHook-Mini-Setup</a></p>
             </td>
             <td>
             <p>1. 支持一定范围内的单词批量删除；<br />
             2. 支持Tag的更名；<br />
             3. 添加LingosHook主页的显示和设置；<br />
             4. 修改插件接口；<br />
             5. 修正'天天背单词'中快捷键无法使用小键盘的问题；<br />
             6. 更新版本为1.5.xxx；</p>
             </td>
             <td>更新说明看<a href="http://www.cppblog.com/codejie/archive/2012/02/22/166260.html">这里</a>；</td>
         </tr>
     </tbody>
</table>
<br />
[这里是<a href="http://www.cppblog.com/codejie/archive/2010/04/08/112016.html">Q&amp;A链接</a>,刚从页面最后行拷贝上来的..有问题请查看先,没有的请来<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#99;&#111;&#100;&#101;&#106;&#105;&#101;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;">mail</a>,辛苦各位了~]<br />
<br />
升级说明：<br />
&nbsp;&nbsp;&nbsp; 1. <span style="color: #ff0000">不建议</span>删除原来的LingosHook，直接安装覆盖就好；<br />
<br />
插件安装说明：<br />
&nbsp;&nbsp;&nbsp; 1. 直接将插件放到LingosHook应用目录下的plugins子目录中即可；<br />
&nbsp;&nbsp;&nbsp; 2. 各位Donator，ForDonator插件当前是兼容的，有任何问题，请直接M我。<br />
<br />
<br />
&lt;---- 下面是原来的更新记录（是不是上面的更好点啊） ----&gt;<br />
<p><br />
&nbsp;&nbsp;&nbsp; LingosHook上传没有30分钟，就发现两个Bugs，那想来后面可能的更新会更多，为了防止到处修改下载地址，统一放在这里，这样改一次就好了，嘿嘿～～<br />
<br />
&nbsp;&nbsp;&nbsp; LingosHook当前版本点击<a href="http://code.google.com/p/lingoshook/downloads/detail?name=LingosHook-Setup-1.4.061.exe&amp;can=2&amp;q=">这里下载</a>，最小安装包（不包含VC Redistributable）<a href="http://code.google.com/p/lingoshook/downloads/detail?name=LingosHook-mini-Setup-1.4.061.exe&amp;can=2&amp;q=">这里下载</a>。（请安装前杀毒，安全第一～）</p>
&nbsp;&nbsp; &nbsp; &nbsp;
<table style="padding-bottom: 2px; margin-top: 2px; margin-right: 2px; margin-bottom: 2px; margin-left: 2px; padding-left: 2px; padding-right: 2px; border-collapse: collapse; padding-top: 2px; " border="1" cellspacing="2" cellpadding="3">
     <tbody>
         <tr>
             <td>版本</td>
             <td>上传时间</td>
             <td>修改记录</td>
             <td>注释说明</td>
         </tr>
         <tr>
             <td>0.5.100</td>
             <td>2010.03.05</td>
             <td>
             <p>1.TinyHtmlParser对象内存泄露错误</p>
             <p>2.Unhook操作异常</p>
             </td>
             <td>界面说明在<a href="http://www.cppblog.com/codejie/archive/2010/03/05/108812.html">这里</a></td>
         </tr>
         <tr>
             <td><a href="http://cid-68438b1b5aa55663.skydrive.live.com/self.aspx/LingosHook/LingosHook-Setup-0.5.700.7z">0.5.700</a></td>
             <td>2010.03.10</td>
             <td>
             <p>1.增加自动Hook功能</p>
             </td>
             <td>界面说明在<a href="http://www.cppblog.com/codejie/archive/2010/03/10/109394.html">这里</a></td>
         </tr>
         <tr>
             <td><a href="http://cid-68438b1b5aa55663.skydrive.live.com/self.aspx/LingosHook/LingosHook-Setup-0.7.100.7z">0.7.100</a></td>
             <td>2010.03.25</td>
             <td>
             <p>1.增加Tag功能</p>
             </td>
             <td>
             <p>1.Tag的使用说明<a href="http://www.cppblog.com/codejie/archive/2010/03/25/110490.html">这里</a><br />
             2.版本更新说明<a href="http://www.cppblog.com/codejie/archive/2010/03/24/110484.html">这里</a><br />
             3.由于数据库表发生了变化，<span style="color: red">安装前请一定要手工删除原有的数据库文件<br />
             </span>(文件名称为lingosHook.db3，缺省安装目录为C:\Program Files\Jie\LingosHook)</p>
             </td>
         </tr>
         <tr>
             <td><a href="http://cid-68438b1b5aa55663.skydrive.live.com/self.aspx/LingosHook/LingosHook-Setup-0.8.000.7z">0.8.000</a></td>
             <td>2010.04.01</td>
             <td>
             <p>1.增加Memory Daily功能</p>
             </td>
             <td>
             <p>1.可以背单词了～ <br />
             2.版本更新说明以及Memory Daily功能使用说明<a href="http://www.cppblog.com/codejie/archive/2010/04/01/111306.html">这里</a></p>
             </td>
         </tr>
         <tr>
             <td><a href="http://cid-68438b1b5aa55663.skydrive.live.com/self.aspx/LingosHook/LingosHook-Setup-0.8.200.7z">0.8.200</a></td>
             <td>2010.04.08</td>
             <td>1.修改TinyHtmlParser对象，以提高识别能力</td>
             <td>改动说明在<a href="http://www.cppblog.com/codejie/archive/2010/04/08/112011.html">这里</a></td>
         </tr>
         <tr>
             <td><a href="http://cid-68438b1b5aa55663.skydrive.live.com/self.aspx/LingosHook/LingosHook-Setup-0.9.000.7z">0.9.000</a></td>
             <td>2010.04.14</td>
             <td>
             <p>1.支持<a href="http://www.lingoes.cn/zh/dictionary/dict_down.php?id=7AB175CC5F622A44A0DECE976AF22A16">朗道英汉词典</a>（Langdao EC&nbsp;Dictionary）</p>
             <p>2.增加生词右键ContextMenu管理菜单</p>
             </td>
             <td>
             <p>1. 终于可以说支持多词典了（虽然就两个，Vicon和Langdao）；</p>
             <p>2.版本更新及使用说明在<a href="http://www.cppblog.com/codejie/archive/2010/04/14/112572.html">这里</a>；</p>
             </td>
         </tr>
         <tr>
             <td>0.9.200</td>
             <td>2010.04.15</td>
             <td>1. 支持HTML强制截取功能；</td>
             <td>1. 版本更新及使用说明在<a href="http://www.cppblog.com/codejie/archive/2010/04/16/112738.html">这里</a>；</td>
         </tr>
         <tr>
             <td><a href="http://cid-68438b1b5aa55663.skydrive.live.com/self.aspx/LingosHook/LingosHook-Setup-0.9.640.7z">0.9.640</a></td>
             <td>2010.04.20</td>
             <td>
             <p>1. 支持语音了；</p>
             <p>2. 支持模糊窗口句柄定位了；</p>
             </td>
             <td>1. 版本更新及使用说明在<a href="http://www.cppblog.com/codejie/archive/2010/04/19/113029.html">这里</a>；</td>
         </tr>
         <tr>
             <td><a href="http://cid-68438b1b5aa55663.skydrive.live.com/self.aspx/LingosHook/LingosHook-Setup-1.0.000.7z">1.0.000</a></td>
             <td>2010.04.29</td>
             <td>
             <p>1. 增加'Memory Daily'快捷操作方式；</p>
             <p>2. 支持自动语音；</p>
             <p>3. <span style="color: #ff0000">Open Source！</span></p>
             </td>
             <td>
             <p>1. 版本更新及其使用说明在<a href="http://www.cppblog.com/codejie/archive/2010/04/29/113961.html">这里</a>；</p>
             <p>2. Open Source信息看<a href="http://www.cppblog.com/codejie/archive/2010/04/29/113969.html">这里</a>；</p>
             </td>
         </tr>
         <tr>
             <td><a href="http://lingoshook.googlecode.com/files/LingosHook-Setup-1.0.001.7z">1.0.001</a></td>
             <td>2010.05.04</td>
             <td>
             <p>1. 增加更多的Memory Daily快捷操作方式；</p>
             <p>2. 修正了FilterShow对象的bugs。</p>
             </td>
             <td>
             <p>1. 版本更新说明在<a href="http://www.cppblog.com/codejie/archive/2010/05/05/114396.html">这里</a>；<br />
             2.. 可以在Googlecode.com上下载了,<a href="http://lingoshook.googlecode.com/files/LingosHook-Setup-1.0.001.7z">这里</a>；</p>
             </td>
         </tr>
         <tr>
             <td><a href="http://lingoshook.googlecode.com/files/LingosHook-Setup-1.0.002.7z">1.0.002</a></td>
             <td>2010.05.05</td>
             <td>1. 修正HTML解析对象bug</td>
             <td>1. 随笔在<a href="http://www.cppblog.com/codejie/archive/2010/05/05/114521.html">这里</a>；</td>
         </tr>
         <tr>
             <td><a href="http://lingoshook.googlecode.com/files/LingosHook-Setup1.0.003a.7z">1.0.003a</a></td>
             <td>2010.05.14</td>
             <td>1. 引入Tidy，用于预处理HTML数据；</td>
             <td>1. 版本说明在<a href="http://www.cppblog.com/codejie/archive/2010/05/14/115322.html">这里</a>；</td>
         </tr>
         <tr>
             <td><a href="htt &lt;br id="  -moz-br-"=""></a></td>
         </tr>
     </tbody>
</table><img src ="http://www.cppblog.com/codejie/aggbug/108996.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/codejie/" target="_blank">codejie</a> 2010-07-23 16:56 <a href="http://www.cppblog.com/codejie/archive/2010/07/23/108996.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>