新建“.h”头文件,将“头文件”代码粘贴至其中,

新建“.c”源文件,将“源代码”代码粘贴到其中。

新建空白工程,将头文件和源代码添加进去,调试使用。

//头文件

//1.自定义枚举类型,定义7种形态的游戏方块

typedef enum tetris_shape

{

ZShape=0,

SShape,

LineShape,

TShape,

SquareShape,

LShape,

MirroredLShape

}shape;

//2.函数声明

//(1)操作方块函数

int maxX();//取得当前方块的最大x坐标

int minX();//取得当前方块的最小x坐标

void turn_left();//当前方块逆时针旋转90度

void turn_right();

int out_of_table();

void transform();

int leftable();

int rightable();

int downable();

void move_left();

void move_right();

//(2)操作游戏桌面的函数

int add_to_table();

void remove_full();

//(3)控制游戏函数

void new_game();

void run_game();

void next_shape();

int random(int seed);

//(4)绘图函数

void paint();

void draw_table();

//(5)其他功能函数

void key_down(WPARAM wParam);

void resize();

void initialize();

void finalize();

//(6)回调函数,用来处理Windows消息

LRESULT CALLBACK WndProc (HWND,UINT,WPARAM,LPARAM);

//源代码

//1.文件包含

#include

#include

#include

#include"tetris.h"

//2.常量定义

#define APP_NAME "TETRIS"

#define APP_TITLE "Tetris Game"

#define GAMEOVER "GAME OVER"

#define SHAPE_COUNT 7

#define BLOCK_COUNT 4

#define MAX_SPEED 5

#define COLUMS 10

#define ROWS 20

#define RED RGB(255,0,0)

#define YELLOW RGB(255,255,0)

#define GRAY RGB(128,128,128)

#define BLACK RGB(0,0,0)

#define WHITE RGB(255,255,255)

#define STONE RGB(192,192,192)

#define CHARS_IN_LINE 14

#define SCORE "SCORE %4d"

//3.全局变量定义

//(1)

char score_char[CHARS_IN_LINE]={0};

//(2)

char* press_enter="Press Enter key...";

//(3)帮助提示信息

char *help[]=

{

"press space or up key to transform shape.",

"Press left or right key to mover shape.",

"Press down key to speed up.",

"Press enter key to pause game.",

"Enjoy it.:-)",

0

};

//(4)枚举游戏的状态

enum game_state

{

game_start,

game_run,

game_pause,

game_over,

}state=game_start;

//(5)定义方块的颜色

COLORREF shape_color[]=

{

RGB(255,0,0),

RGB(0,255,0),

RGB(0,0,255),

RGB(255,255,0),

RGB(0,255,255),

RGB(255,0,255),

RGB(255,255,255)

};

//(6)方块的7中类型

int shape_coordinate[SHAPE_COUNT][BLOCK_COUNT][2]=

{

{{0,1},{0,0},{-1,0},{

c语言俄罗斯方块源代码 解说,C语言课程设计俄罗斯方块源代码解说.doc相关推荐

  1. 员工信息管理系统语言论文c,C语言课程设计 职工信息管理系统.doc

    C语言课程设计 职工信息管理系统.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. ...

  2. 职工工资程序c语言doc,C语言程序课程设计---职工工资单系统.doc

    C语言程序课程设计---职工工资单系统.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水 ...

  3. c语言课设宿舍管理程序,C语言程序课程设计宿舍管理软件.doc

    C语言程序课程设计宿舍管理软件.doc 课程设计(论文) 题 目 名 称 宿舍管理软件 课 程 名 称 C语言程序课程设计 学 生 姓 名 学 号 系 .专 业 信息工程系.信息大类 指 导 教 师 ...

  4. c语言课程设计文本编辑器实验报告6,C课程设计简易文本编辑器.doc

    C课程设计简易文本编辑器 目录 第一章 课程设计目的和要求1 1.1课程设计的目1 1.2 基本要求1 第二章 课程设计任务内容2 2.1 设计背景2 2.2简易文本编辑器设计内容2 第三章 详细设计 ...

  5. 通讯录管理系统C语言课程设计大作业,c语言课程设计报告---通讯录管理系统.doc...

    c语言课程设计报告---通讯录管理系统.doc Yangtze University College of Arts and Science 学生实习手册 (课程设计报告) 学 部 理 工 学 部 专 ...

  6. 为银行设计ATM菜单C语言,ATM银行管理系统代码及程序c语言课程设计【荐】.doc

    ATM银行管理系统代码及程序c语言课程设计[荐].doc #include #include #include #include struct bank{ int account; char name ...

  7. 代写python期末作业价格_代写program留学生作业、代做Python程序语言作业、代写Python课程设计作业...

    代写program留学生作业.代做Python程序语言作业.代写Python课程设计作业 日期:2019-11-29 12:55 Completing the Final Project - Pyth ...

  8. 扫雷java讲解_java课程设计(扫雷游戏)讲解.doc

    java课程设计(扫雷游戏)讲解.doc 成 绩 评 定 表 学生姓名班级学号 专 业课程设计题目基于Java的扫雷游戏软件设计评 语 组长签字: 成绩 日期 2014 年 月 日 课程设计任务书 学 ...

  9. java蜘蛛纸牌课程设计_Java课程设计-蜘蛛纸牌游戏.doc

    Java课程设计-蜘蛛纸牌游戏.doc 还剩 33页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: Java 课 ...

  10. c语言订单管理,C语言课程设计订单管理系统方案.doc

    C语言课程设计 随米打印订单管理系统 学 院: 计算机与信息科学学院 学生姓名: 谢润发 指导教师: 王新祥 职称 教授 专 业: 网络工程 班 级: 1501 完成时间: 2016-6 目 录 1 ...

最新文章

  1. 各种Optimizer梯度下降优化算法回顾和总结
  2. (转)linux运行tomcat时JRE_HOME显示不对怎么办?
  3. python中如何调用类_python如何调用java类
  4. html radio 作用域,ionic 表单输入 ion-checkbox ion-radio ion-toggle ion-spinner
  5. 如何生成全局唯一标识
  6. python系统下载-深度操作系统中怎样下载python?
  7. html5历史纪录管理,HTML 5 新增方法以及历史管理
  8. 现代男人养生的10点忠告
  9. 小程序源码:微信智慧外链接致富版微信小程序源码下载,支持多端转换-多玩法安装简单
  10. 国防科技大学 educoder C语言答案(湖南工业大学)
  11. Javascrpt测试
  12. 5APMP项目管理:PMP考试备考经验学习方法和模拟考题(1-经验篇)
  13. 音频文件编辑 android,音频剪辑编辑APP
  14. 浩辰3D软件入门攻略:什么是有限元分析?
  15. CSV保存身份证后再打开后4位0000的解决办法
  16. 测试自己移动速度的软件,Superspeed一键测速脚本 测试服务器到国内电信/联通/移动速度...
  17. R语言入门(1)时间序列分析
  18. 我所经历的Android面试|掘金技术征文
  19. 一个手机里登录2个微信号(微信双开)
  20. 分治法——棋盘覆盖问题/L形组件填图问题(Java实现)

热门文章

  1. 教程 | xampp mysql的可视化界面出现
  2. 探究VS2017运行库
  3. 社区养老管理系统开发满足老年人多样化、多层次的需求
  4. EXCEL以及VBA 函数讲解集合
  5. Linux 服务器上安装 ANSYS Fluent 2020R2
  6. V4L2视频采集与H264编码4—X264编码H264视频
  7. android 设置类PreferenceActivity
  8. 2019安全渗透类工具
  9. Tomcat-startup.bat一点闪退的原因与解决方法
  10. 2022百度之星程序设计大赛 - 复赛 1003 最大值