⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 russia.h

📁 浙大《C语言设计基础课程设计》中的例程 有些比较好的代码!
💻 H
字号:
#include<stdio.h>
#include<stdlib.h>
#include<dos.h>
#include<graphics.h> /*系统提供的头文件*/

#define TIMER 0x1c /*定义时钟中断的中断号*/

#define VK_LEFT  0x4b00/*左移键*/
#define VK_RIGHT 0x4d00/*右移键*/
#define VK_DOWN  0x5000 /*加速键*/
#define VK_UP    0x4800 /*变形键*/
#define VK_SPACE 0x3920 /*变形键*/
#define VK_END   0x4f00 /*暂停键*/
#define VK_ESC   0x011b
#define VK_ENTER 0x1c0d

#define BSIZE 16 /*方块的边长是16个象素*/
#define MAX_SHAPE 19 /*总共有19种各形态的方块*/
#define BOARD_WIDTH 10 /*游戏面板的宽度,以方块的宽度为单位*/
#define BOARD_HEIGHT 20/*游戏面板的高度,以方块的宽度为单位*/

#define BGCOLOR BLACK /*背景色*/
#define FORECOLOR WHITE /*前景色*/

#define FALSE 0
#define TRUE 1

#define EMPTY 0
#define FILLED 1


#define BOARD_LEFT_X 10 /*游戏面板左上角的横坐标*/
#define BOARD_LEFT_Y 5 /*游戏面板左上角的纵坐标*/

/*定义全局变量*/
extern int Gameboard[BOARD_WIDTH+2][BOARD_HEIGHT+2];
extern int nCurrent_block_index  ; /*当前下落的方块的索引号*/
extern int nNext_block_index ; /*下一个方块的索引号*/
extern int nSpeed, nScore; /*速度和得分*/
extern int nSpeedUpScore; /*第一次要加速需达到的分数*/
extern int bAccel, bOver;
extern int nOriginX, nOriginY;/*某一形状的原点的绝对坐标*/
extern unsigned int TimerCounter;  /* 计时变量,每秒钟增加18 */

struct block{
 int arrXY[8];
 int nColor;
 int nNext;
}; /*保存某一形状信息的结构体*/
typedef struct block BLOCK;
extern BLOCK arrayBlock[19];


void interrupt newtimer(void);
void SetTimer(void interrupt(*IntProc)(void));
void KillTimer();
void InitializeGraph();
void InitializeGameboard() ;
void DrawSquare(int x, int y);
void DrawBlock(int BlockIndex, int sx, int sy,int color);
int IsConflict(int BlockIndex, int x, int y);
void HandleLeft(int BlockIndex,int *x, int *y);
void HandleRight(int BlockIndex,int *x, int *y);
void HandleUp(int *BlockIndex,int *x, int *y);
int HandleDown(int BlockIndex,int *x, int *y);
int IsLineFull(int y);
void KillLine(int y);
int KillLines(int y);
int IsGameOver();
int GameOver();
void StartGame();
void ProcessInGame();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -