原创 C#遊戲編程:《控制檯小遊戲系列》之《六、貪喫蛇實例》

一、遊戲分析   1976年,Gremlin平臺推出一款經典街機遊戲Blockade,則爲貪喫蛇的原型,這款簡單的小遊戲很受歡迎,給80後這代人帶來不可磨滅的記憶。作爲未來程序員的我們,玩自己設計出的貪喫蛇比玩現有的更加有趣,我們可以

原创 C#貪喫蛇遊戲之--構想篇(一)

本系列文章轉載至hwenycocodq520  貪喫蛇?對於很多人來說最熟悉不過了,今天就來實現一下這個小遊戲,無聊之時玩之,還是能找得出點樂趣的! : )     簡單的貪喫蛇遊戲主要包括兩個對象:蛇和食物。     蛇:  

原创 C#貪喫蛇遊戲之--實體對象層(二)

這一節分析下具體實體類的定義和實現,下面是這個遊戲的實體類結構:       遊戲物體的運動就是不斷創建畫面和銷燬畫面的過程,原理和播放錄象帶一樣。所以我定義了一個基類,裏面定義了子類共同的成員,由於方法具體實現都一樣,所以在基

原创 C#貪喫蛇遊戲之--界面層(五)

界面層調用邏輯層定義好的方法即可,相對比較簡單,直接帖代碼就好了!     界面暫且設計成上面的樣子,不怎麼美觀,根據個人愛好設置了! MySnakeUI.cs public partial class MySn

原创 C#貪喫蛇遊戲之--遊戲信息存取(四)

 遊戲如果沒有存檔,每次都從零開始,那將會很沒意思。爲了提高遊戲的可玩性,我這裏添加了信息的存取功能,主要包括遊戲積分、遊戲角色的存取和排行榜,這樣每次打開遊戲就可以看到最高分者!這樣纔有挑戰性,挑戰最高分並把你的大名記錄在英雄榜上!

原创 C#貪喫蛇遊戲之--邏輯層(三)

到了邏輯層了,我們要分析遊戲的規則:是否蛇可以爬行、是否喫掉食物、是否產生新食物、是否遊戲結束、積分規則等。     蛇死亡目前有兩種形式:撞到牆壁;咬到自己 :(     產生新食物前提:蛇喫掉食物,隨機產生新座標食物(新座標!=

原创 創建控制檯

  當系統啓動一個控制檯程序時就會創建一個新的控制檯,這個控制檯程序的入口點爲main函數。例如,系統在啓動命令處理器(命令提示符)時就會創建一個新的控制檯。一旦命令處理器啓動了一個新的控制檯程序,用戶就可以指定系統是否爲新的程序創建一

原创 C#遊戲編程:《控制檯小遊戲系列》之《二、遊戲框架設計》

一、遊戲框架結構      遊戲的運作流程和拍電影差不多,拍電影前演員事先準備好各種服裝和化妝等等準備工作(遊戲初始化),導演喊Action開始錄製電影(遊戲主循環開始),錄製的過程中導演會不時地指導着演員(遊戲輸入),而演員根據

原创 控制檯屏幕緩衝區

  屏幕緩衝區是一個在控制檯窗口輸出的二維字符及顏色數組。一個控制檯可以包含多個屏幕緩衝區,當前屏幕緩衝區指的是顯示在屏幕上的那個緩衝區。   系統在創建新控制檯時就會創建一個屏幕緩衝區。調用CreateFile函數指定CONOUT$

原创 C#遊戲編程:《控制檯小遊戲系列》之《一、黎明前的黑暗》

本系列文章轉載至hwenycocodq520 一、前言         碼夫掐指一算,博客擱置已半載有餘。這半年多來,油價漲的漲,食物毒的毒,小日本越發囂張……惟獨碼夫心如止水,不,是技如止水,技術還停留在“社會主義初級階段”,絲

原创 控制檯句柄

  控制檯程序通過句柄訪問控制檯的輸入緩衝區及屏幕緩衝區。程序可以通過GetStdHandle, CreateFile, 或者 CreateConsoleScreenBuffer 函數打開所需的句柄。   GetStdHandle 函

原创 改變整個控制檯的顏色

system("color 0A");  其中color後面的0是背景色代號,A是前景色代號。各顏色代碼如下:  0=黑色  1=藍色  2=綠色  3=湖藍色  4=紅色  5=紫色  6=黃色  7=白色  8=

原创 C#遊戲編程:《控制檯小遊戲系列》之《四、遊戲渲染模塊》

一、繪圖模塊結構      渲染模塊,也即是繪圖模塊,由以上相關類和結構組成。以下對每個組件進行描述分析:   ■繪圖類(CDRraw)   這個類負責渲染畫面,提供了一系列的操作用於畫面的繪製: 在指定位置繪製字符串

原创 C#遊戲編程:《控制檯小遊戲系列》之《八、爆破七色磚實例》

一、遊戲分析   相信各位讀者都曾玩過一款叫做《打磚塊》的小遊戲,和貪吃蛇一樣,也是一款80後皆知的經典小遊戲。遊戲雖然簡單但極富挑戰性,這章的內容就是製作一款類打磚塊的小遊戲,繼續說明和熟悉遊戲框架的使用。和前幾個小遊戲不同,本章的

原创 C#遊戲編程:《控制檯小遊戲系列》之《三、遊戲輸入模塊》

一、輸入模塊結構      遊戲輸入模塊包括對鼠標和鍵盤兩種輸入設備的處理,此模塊主要爲遊戲框架提供鼠標操作和鍵盤操作能力,這些功能均以事件形式提供從而達到模塊間消息傳遞的目的。   模塊間的消息傳遞結構圖:   ①、C