c语言俄罗斯方块源代码 解说,C语言课程设计俄罗斯方块源代码解说.doc
新建“.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相关推荐
- 员工信息管理系统语言论文c,C语言课程设计 职工信息管理系统.doc
C语言课程设计 职工信息管理系统.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. ...
- 职工工资程序c语言doc,C语言程序课程设计---职工工资单系统.doc
C语言程序课程设计---职工工资单系统.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水 ...
- c语言课设宿舍管理程序,C语言程序课程设计宿舍管理软件.doc
C语言程序课程设计宿舍管理软件.doc 课程设计(论文) 题 目 名 称 宿舍管理软件 课 程 名 称 C语言程序课程设计 学 生 姓 名 学 号 系 .专 业 信息工程系.信息大类 指 导 教 师 ...
- c语言课程设计文本编辑器实验报告6,C课程设计简易文本编辑器.doc
C课程设计简易文本编辑器 目录 第一章 课程设计目的和要求1 1.1课程设计的目1 1.2 基本要求1 第二章 课程设计任务内容2 2.1 设计背景2 2.2简易文本编辑器设计内容2 第三章 详细设计 ...
- 通讯录管理系统C语言课程设计大作业,c语言课程设计报告---通讯录管理系统.doc...
c语言课程设计报告---通讯录管理系统.doc Yangtze University College of Arts and Science 学生实习手册 (课程设计报告) 学 部 理 工 学 部 专 ...
- 为银行设计ATM菜单C语言,ATM银行管理系统代码及程序c语言课程设计【荐】.doc
ATM银行管理系统代码及程序c语言课程设计[荐].doc #include #include #include #include struct bank{ int account; char name ...
- 代写python期末作业价格_代写program留学生作业、代做Python程序语言作业、代写Python课程设计作业...
代写program留学生作业.代做Python程序语言作业.代写Python课程设计作业 日期:2019-11-29 12:55 Completing the Final Project - Pyth ...
- 扫雷java讲解_java课程设计(扫雷游戏)讲解.doc
java课程设计(扫雷游戏)讲解.doc 成 绩 评 定 表 学生姓名班级学号 专 业课程设计题目基于Java的扫雷游戏软件设计评 语 组长签字: 成绩 日期 2014 年 月 日 课程设计任务书 学 ...
- java蜘蛛纸牌课程设计_Java课程设计-蜘蛛纸牌游戏.doc
Java课程设计-蜘蛛纸牌游戏.doc 还剩 33页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: Java 课 ...
- c语言订单管理,C语言课程设计订单管理系统方案.doc
C语言课程设计 随米打印订单管理系统 学 院: 计算机与信息科学学院 学生姓名: 谢润发 指导教师: 王新祥 职称 教授 专 业: 网络工程 班 级: 1501 完成时间: 2016-6 目 录 1 ...
最新文章
- 各种Optimizer梯度下降优化算法回顾和总结
- (转)linux运行tomcat时JRE_HOME显示不对怎么办?
- python中如何调用类_python如何调用java类
- html radio 作用域,ionic 表单输入 ion-checkbox ion-radio ion-toggle ion-spinner
- 如何生成全局唯一标识
- python系统下载-深度操作系统中怎样下载python?
- html5历史纪录管理,HTML 5 新增方法以及历史管理
- 现代男人养生的10点忠告
- 小程序源码:微信智慧外链接致富版微信小程序源码下载,支持多端转换-多玩法安装简单
- 国防科技大学 educoder C语言答案(湖南工业大学)
- Javascrpt测试
- 5APMP项目管理:PMP考试备考经验学习方法和模拟考题(1-经验篇)
- 音频文件编辑 android,音频剪辑编辑APP
- 浩辰3D软件入门攻略:什么是有限元分析?
- CSV保存身份证后再打开后4位0000的解决办法
- 测试自己移动速度的软件,Superspeed一键测速脚本 测试服务器到国内电信/联通/移动速度...
- R语言入门(1)时间序列分析
- 我所经历的Android面试|掘金技术征文
- 一个手机里登录2个微信号(微信双开)
- 分治法——棋盘覆盖问题/L形组件填图问题(Java实现)