Skip to content

AkiyamaKunka/Tetris

 
 

Repository files navigation

Tetris 开发文档

一、 工作的组织

1.日期

1)在6.1前完成“准备工作”(下述)

2)6.1-6.12完成程序本体。

3)6.12-6.15 完成程序测试+实验报告撰写

4)DLL在6.28 DLL,我们争取在6.20左右完成本项目。

2.代码的共享

以Github Platform Share、Revise、Peer-Review、Test、Publish

3. 准备工作

1)下载并学习Qt框架的基本使用流程和方法

分享一个B站的Qt教学视频https://www.bilibili.com/video/BV1g4411H78N?p=4

2)了解Github/Git工具的基本操作和原理,下载Github for Desktop客户端,会使用基本的Markdown文档,了解Commit/Revise/Review的方法

3)本地开发环境(如IDE)自备

二、 使用的平台

1. Mac 平台下的Qt框架。由于其跨平台,没有Mac电脑可以用windows或者其他系统下的Qt进行开发

2. 我们建立Github Organization 用其Git工具完成合作

  • a. Name of Organization : MagicalLovelyGirls
  • b. Name of Repository: MagicalLovelyGrils/Tetris
  • c. Name of Junjia Wang : Akiyamakunka
  • d. 记得申请加入Organ以获得commit权限

三、 需要提交的内容:

1. 源程序

2. 报告(严格按照规范来写,评分有权重)

3. 演示视频

四、产品的设计

1. 功能

1)输入:接受外界编码的一组具有顺序的方块生成序列信息+模式难度信息。模式难度信息包含下降周期、生成频率。方块序列信息包含生成时间,方块种类。其输入方式有三

  • a. 由外界文件输入指令
  • b. 由人类玩家手动输入指令
  • c. 由本程序随机生成
  • 方块种类:5种情况拓扑独立,实际输入有7种

2)对方块的操作:

  • a. 左右平行移动(高级功能 T形平滑等)
  • b. 顺逆时针旋转
  • c. 加速垂直下降
  • d. 瞬时触底

3)窗口大小的设置:大作业课程设置要求20 column * 10 raw。我们添加自定义功能

4)方块消除:同一行上填满方块,此行即消解

5)自定义游戏速度:下降周期+生成频率。容易”级别,下降周期为 500 毫秒,新方块的生成 的时间间隔为 5 秒,。“适中”级别,下降周期为 300 毫秒,新方块的生成的时间间隔为 3 秒。“挑战”级别, 二者分别为 200 毫秒以及 1 秒。

6)分数系统:记录能够消除的小方格数量。

7)视觉:

  • a.基本图形界面(美观不作为评估标准)
  • b.在游戏顶部显示下一个要出现的方块
  • c. 消除方块时的视觉效果
  • d. 下落过程(一个屏幕上允许存有多个方块正在下落,但是只操作最下边的那个方块)
  • e.底部剩余方块情况
  • f.显示游戏时间,采用秒做计时单位,作为方块出现时间的参考。
  • g. 显示出现方块的总个数

8) AI:

  • a. 只允许读取信息序列最前部的方块,不允许预先分析全部序列。
  • b. 模拟人手操作,消除方块,体现操作的过程。

2.函数及接口

请在Paradox给出的头文件中参阅

3.最终运行的视频

链接: https://pan.baidu.com/s/1XqOTxYX-q_y6jI1A-J8UjA 提取码: j6xy

About

A Project for cpp course of NKU

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 58.7%
  • Makefile 34.1%
  • C 5.8%
  • QMake 1.4%