C#游戏编程:《控制台小游戏系列》之《五、游戏框架完善》
一、游戏框架完善 前几章中,游戏框架并没有渲染游戏的能力,只是进行一些逻辑输入的运算,并没有把画面反馈到控制台界面。这一章中,我们将要扩展框架的功能,使它能够对游戏画面进行持续渲染。扩展的功能有:游戏的渲染和控制台的重绘,后者的意思是局部更新,则只更新指定的区域部分,其余区域画面保持不变,减小画面因绘制导致的闪烁。下面是游戏框架类的扩展后的实现: ///CGame类实现using System;using CGraphics;namespace CEngine{ /// <summary> /// 重绘事件参数 /// </summary> public sealed class CPaintEventArgs : EventArgs { private CRect m_rect; private CDraw m_draw; public CPaintEventArgs(CRect rect, CDraw draw) { this.m_rect = rect; this.m_draw = draw; } public CRect getClientRect() { return this.m_rect; } public void setClientRect(CRect rect) { this.m_rect = rect; } public CDraw getDraw() { return this.m_draw; } public void setDraw(CDraw draw) { this.m_draw = draw; } }}
至此,游戏框架类已基本完成,至于声音模块目前就不实现。接下来的几章我们将会使用这个框架实现几个小游戏,以熟悉这个框架的使用方法,并在必要的情况下进行优化,从而更符合使用需求。