我罗斯方块

这个作业属于哪个课程 | 2020年面向对象程序设计

游戏规则

基本规则与俄罗斯方块相同
玩家一通过键盘上的W,A,S,D来控制方块的旋转、左移、加速下降、右移。
玩家二通过键盘上的↑,←,↓,→来控制方块的旋转、左移、加速下降、右移。
当玩家一方块填满一整行时,会消除该玩家这行方块,同时使得玩家二的方块底部增加一行,实现此消彼长。
当玩家一方块高度达到一个高度时就会结束游戏,玩家一失败,玩家二胜利。

游戏设计

方块类

方块的状态(形状、颜色),移动方块,变形方块,预览方块

class block
{
	private:
		int block_color;	//方块的颜色 
		int block_shape[4][4];	//方块的形状 
	public:
		void block_turn();	//方块旋转变形 
		void block_leftmove();	//方块左移 
		void block_rightmove();	//方块右移 
		void block_speedup();	//方块加速下落 
			 
}

玩家类

每一个玩家的名字、玩家分数、玩家地图

class player
{	
	public:
		string player_name;	//玩家名字 
		int player_score;	//玩家分数 
		char player_map[10][20];	//玩家地图 
		void score_initialize();	//分数初始化
		void score_add();	//分数累加 
		void operation_in();	//读入操作
		void block_judgemove();	//判断移动是否能进行
		void block_judgeturn();	//判断旋转变形是否能进行 
		void operation_carryout();	//操作执行
} 

游戏类

游戏的开始、暂停、消行与否、游戏的结束

class game
{
	public:
		void game_start();	//游戏开始
		void creat_block();	//生产方块
		void judge_remove();	//判断是否消行
		void block_add();	//增加一行
		void block_remove();	//消除一行 
		void judge_over(); //判断游戏是否结束  
 }

渲染类

控制台封装渲染需要的函数
随着操作和时间的变化不断更新画面

预览界面


posted @ 2020-05-06 16:23  jasf  阅读(187)  评论(0)    收藏  举报