俄罗斯方块项目(c#)第二天

今天对项目中的yi'x一些功能具体分析:


1.俄罗斯方块项目需求调研:
	1.这是一个单机游戏。
	2.友好的界面,界面包括方块落下和消失的,计分面板,时间面板,下一个方块样式,以及难易度的选择
	3.游戏开始,结束,保存,
2.界面功能分析
        文件:
	1.开始游戏
	2.重新开始
	3.保存游戏
	4.最新记录
       设置:
	1.下落速度
		1.加快
		2.减慢
	2.游戏背景
		1.style1
		2.style2
		3.style3
	3.游戏音乐
		1.music1
		2.music2
		3.music3
       帮助:
	1.使用技巧
	2.开发人员
	3.版本信息

3,游戏对象分析:
	1.游戏窗体由界面设计完成
	2.游戏中下落的小方块为对象
		1.这个小方块需要变化
			1,变成一条线
			2,变成矩形
			3,变成向上的三角形
			4,变成向下的三角形
			5,变成向右的三角形
			6,变成向左的三角形
			7,变成锐角向上的直角三角形
			8,变成锐角向下的三角形
			9,变成锐角向右的三角形
			10,变成锐角向左的三角形
			11,随机编号确定要变成的是那种三角形
			12,同时方块进行颜色的变化
				1,颜色的变化按照红绿蓝黄随机变化
			13,方块的生成采用2D绘图绘制
		2,小方块的属性:
			1,width/可以被游戏窗口整除的整数,这是个定值
			2,height/可以被游戏窗口高度整除的整数,这是个定值
			3,X/记录小方块的左上角位置,转化维数组时需要考虑到方块的大小
			4,Y
			5,speed/记录方块的速度,方块的下落速度由此操作
			6,color/记录方块的颜色,由枚举值确定,
		3,小方块的方法:
			1.小方块变形,调用这个方法可以获得小方块下一刻的形态以及颜色
			2.将小方块绘制在窗口中
		4,碰撞的处理,
			1,当小方块碰到其他方块或者界面的底部时停止移动,
			     判断数组横向有没有构成消失条件
			     判断数组纵第一行有没有变化
				第一行发生改变说明数组已经碰到窗口顶部,游戏结束,画面暂停
				没有则继续

				
	3.如何知道窗口中的方块是不是横向连成一条线呢
		1.用一个二维数组去存储小方格得位置
		2.二维数组中的值记录了当前小方块的颜色编号
		3.当二维数组中的行值相同时清除掉二维数组此行的值并且记录成绩,同时刷新界面
			1.刷新界面可以采用一个timer定时器实现
			2.还可以用这个定时器控刷新方块的移动

	





















    

猜你喜欢

转载自blog.csdn.net/fbw668859/article/details/81092847