更新內(nèi)容.又再一次地修改了CCGL,使它可以支持變寬字符. 這樣輸出就美觀了.
進一步完善了游戲,加入了開場場景等邏輯相關的東西.
BUG:消除方塊時的算法一直沒修正. 計分系統(tǒng)沒有做.
最新下載地址:
Tetris 0.0.1.rar下面是截圖,算不上精彩.但在控制臺下也不見得有多遜色.



----------------------------------------------------------------------------------------------------------------------------------
麻雀雖小,五臟具全.
此次正式將我寫的控制臺圖形命名為CCGL(cukcoo console graphic layer).弄個名字,精神也自然來了.純屬自娛自樂.
關于CCGL的功能如下:
1,支持圖文混排(英文字符和中文字符同寬,即都占兩格).
2,支持雙緩沖.
3,能夠指定緩沖區(qū)大小.
4,能夠定位像素位置.

注:所有的X,Y都做了轉(zhuǎn)換.使用時,采用與GDI相同的坐標系.即左上角為(0,0)
關于這個俄羅斯方塊.
在網(wǎng)上有很多關于俄羅斯方塊的代碼,有的是一兩個類堆積而成,有的則是一個個函數(shù)拼接.當然,還有更厲害的就是一個main函數(shù)搞定一切的大仙們的作品.
此次寫俄羅斯方塊,花了兩三天晚上的時間. 并且還有BUG,也是不完整的產(chǎn)品. 時間花在了哪里呢.那就得看看這俄羅斯方塊有什么.
俄羅斯方塊能有什么,就是一堆方塊而已.但是,俄羅斯方塊的代碼呢. 卻要看你是怎么寫了.
突發(fā)其想,將俄羅斯方塊按普通的MMO游戲來寫.即對其各模塊進行分類.
圖形(CCGL)
場景(與圖形繪制相關的部分,唯一)
對象(將場景對象與邏輯對象合并了.多實例)
邏輯場景(多實例,與邏輯相關的部分,邏輯狀態(tài)決定了采用哪個場景,對應的場景決定了如何處理消息.)
邏輯(這是處理場景轉(zhuǎn)換,整合多個模塊功能的地方,唯一)Launcher (加載器,加載游戲并執(zhí)行.在進入游戲前可以選擇一些初始配置)
Main 這就是主函數(shù)了.其實它最簡單了.
GLaucncher.Init();
GLaucncher.Run();
GLaucncher.Exit();
上張圖看看效果.
完成度未知,但可以試玩.

希望能給游戲開發(fā)愛好者們一些思路和幫助.
源碼和可執(zhí)行程序
請點這里 順便說一下,我是一個喜歡造輪子的人. 當然,我會選擇一些比較有意思的輪子.而不是盲目濫造. 我知道,將東西發(fā)到CPP首頁,就有可能受到批判.批判我會接受,但請注意文明.