没有合适的资源?快使用搜索试试~ 我知道了~
首页C语言课程设计俄罗斯方块
C语言课程设计俄罗斯方块
5星 · 超过95%的资源 需积分: 1 35 下载量 176 浏览量
更新于2023-03-16
评论 4
收藏 104KB DOC 举报
文档里面有源代码,和详细的操作步骤,按照步骤,一步一步操作,就可以完成调试。
资源详情
资源评论
资源推荐
该课程设计用 VC++6.0 操作如下:
1、文件->新建->文件->左边
选 C/C++ Header File->右边文件名
命名为“tetris.h” ->路径假定为桌面
文件夹:tetris->确定。然后将下面
红色字体标记的“头文件”代码粘贴
至其中,保存并退出(或者关闭工
作空间)。
2、文件->新建->文件->左边
选 C/C++ Header File->右边文件名
命名为“tetris.h” ->路径假定为桌面
文 件 夹 : tetris-> 确 定 。 新 建
“tetris.c”源文件,将下面“源代码”
代码粘贴到其中,保存并退出(或
者关闭工作空间)。
3、文件->新建->工程->左边
选 Win32 Application ->右边工程名
称命名为:tetris->路径假定为桌面
文件夹:tetris->确定->一个空工程-
>完成。接下来:工程->增加到工
程->文件。这时候,将头文件和源
代码添加进去,调试使用。
//头文件
//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<windows.h>
#include<time.h>
#include<stdio.h>
#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},{-1,1}},
{{0,-1},{0,0},{1,0},{1,1}},
{{0,-1},{0,0},{0,1},{0,2}},
剩余19页未读,继续阅读
蘑菇猎手
- 粉丝: 67
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
- MW全能培训汽轮机调节保安系统PPT教学课件.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1