俄罗斯方块设计思想.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南京邮电大学 通达学院 算法与数据结构设计报告 ( 2016/ 2017学年 第 二 学期) 专 业 软件工程嵌入式 学 号 姓 名 学 号 姓 名 学 号 姓 名 学 号 姓 名 指 导 教 师 陈兴国 指 导 单 位 计算机学院计算机科学与技术系 日 期 2017-5-26 评 分 细 则 评分项 优秀 良好 中等 差 遵守机房规章制度 上机时的表现 学习态度 程序准备情况 程序设计能力 团队合作精神 课题功能实现情况 算法设计合理性 报告书写认真程度 内容详实程度 验收答辩情况 评分等级 姓名(组长) 姓名(组员1) 姓名(组员2) 姓名(组员3) 简 短 评 语 指导教师签名 日期 2017-5-27 备注 评分等级有五种:优秀、良好、中等、及格、不及格 俄罗斯方块 课题内容 实现俄罗斯方块游戏。主要功能为游戏界面显示、上下左右键响应以及当前得分统计。通过该课题全面熟悉数组、字符串等的使用。掌握设计的基本方法及友好界面的设计。 课题要求: 游戏界面显示:下落方块和方块堆、左右移动、旋转、删除行等特效以及得分。 动作选择:上下左右键对应于旋转、加速、左右移动的功能。 得分统计判断:判定能否消除行、并统计得分总数等。 扩展要求: 用户数据管理。 算法设计与分析 I、俄罗斯方块游戏需要解决的问题包括 (1)、随机产生方块并自动下移 (2)、用 键变体 (3)、用 键和 键左右移动方块,按Q退出,按space暂停 II、俄罗斯方块游戏需要设计的功能函数包括 (1)、声明俄罗斯方块的结构体 (2)、函数原型声明 (3)、制作游戏窗口 (4)、制作俄罗斯方块 (5)、判断是否可动 、随机产生俄罗斯方块类型序号 、判断是否满行并删除满行的俄罗斯方块 (8)暂停,继续功能 (9)新游戏创建 (10)用户的创建,分数用户名的保存,查看分数 Tetris类(主要类) 该类包含main方法,应为应用程序的主类。该类用来创建游戏的用户界面,事件处理功能和menu餐单,用户信息的存储。整个程序从该类的main方法开始执行。 成员变量:String userName; 构造方法:Tetris 内部类:Members,Tetrisblock Tetrisblok类: 用来设计游戏界面。游戏界面显示在由Tetrisblok类创建的整个用户界面的中(Center)区,游戏的即时分数、方块的效果图及方的预览功能都在整个类里面实现。用来封装俄罗斯小方块。一个方块的属性是由方块1位置即x和y的坐标、颜色决定的。 成员变量 private int blockType; Timer timer=null; private int turnState; private int x; private int y; private int i = 0; int j = 0; static int score = 0; int flag = 0; int delay=1000; // 定义已经放下的方块x=0-12,y=0-22; int[][] map = new int[14][24]; // 方块的形状 第一组代表方块类型有S、Z、L、J、I、O、T 7种 第二组 代表旋转几次 第三四组为 方块矩阵 private final int shapes[][][] 成员方法: public void newblock() public void drawwall() public void newmap() public void newgame() public void turn(); public void left(); public void right(); public void down() ; public int blow(int x, int y, int blockType, int turnState); public void delline() ; public int gameover(int x, int y); public void add(int x, int y, int blockType, int turnState); public void paintComponent(Graphics g); public void keyPressed(KeyEvent e); public void keyTyped(KeyEve

文档评论(0)

金华 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档