C语言版——俄罗斯方块(一)

——使用软件VC6.0(需要一个函数库——Easy_X)


#include <stdio.h>

#include <graphics.h

#include <conio.h>

#include <stdlib.h>

#include <time.h>

#include <conio.h>

#include <windows.h>

#include <mmsystem.h>

#pragma comment (lib,"winmm.lib")

#define B1_x 0// 游戏矩形左边值#define B2_x 360//游戏矩形右边值#define B1_y 120//上边值#define B2_y 480

#define V_box 20//每个小方块边长#define H_box 20

#define M 18//一共有18个小方块#define N 18

#define left 1

#define right 2

#define down 3

#define up 4

#define space 5

#define F 0

#define T 1

struct MAX_BOX

{

int var;//填充值!

int color;}min_box[M][N];int R_top_x;//小游戏方块的最右边值

int R_top_y;

int bottom_y;//zuixiazhiint bottom_x;

int L_bottom_x;

int score=0;

int speed=0;

int n=1;

int full_row=0;

int flag_newbox=0;

int speed_step=30;

int sleeptime=1000;

#define MAX_BOX 19struct SHAPE{ char box[2];

int color;

int next;

}shapes[MAX_BOX]=

{ {0x88,0xc0,RED,1},

{0x8e,0x0,RED,2},

{0xc4,0x40,RED,3},

{0x2e,0x0,RED,0}, //******************* {0x44,0xc0,MAGENTA,5}, {0x8e,0x0,MAGENTA,6}, {0xc8,0x80,MAGENTA,7}, {0xe2,0x0,MAGENTA,4}, //++++++++++++++++++++ {0x8c,0x40,WHITE,9}, {0x6c,0x0,WHITE,8}, //******************* {0x4c,0x80,YELLOW,11}, {0xc6,0x0,YELLOW,10}, //____________________

{0x4e,0x0,BLUE,15},

{0x8c,0x80,BLUE,14},

{0xe4,0x0,BLUE,13},

{0x4c,0x40,BLUE,12}, //&&&&&&&&&&&&&&&&&&&&&& {0x88,0x88,RED,17},

{0xf0,0x0,RED,16}, //*********************** {0xcc,0x0,MAGENTA,18}, };

void interface_one()//第一幅画面

{

initgraph(640,480);

setbkcolor(BLACK);// 设置背景色为黑色 cleardevice();// 用背景色清空屏幕 settextcolor(RED);

settextstyle(50,0,_T("楷体"));

RECT r={0,0,640,480};// drawtext(_T("俄罗斯方块游戏"),&r,DT_CENTER|DT_VCENTER|DT_SINGLELINE);

getch();

closegraph(); }

void interface_game()//游戏运行画面!

{


int i,j;

int x1=B1_x;

int y1=B1_y;

int x2=B2_x;

int y2=B2_y;

initgraph(640,480);

setbkcolor(BLACK);

cleardevice();

setlinecolor(RED);

line(0,30,640,30);

settextcolor(RED);

settextstyle(16,0,_T("楷体"));

RECT r={0,0,640,30};

drawtext(_T("欢迎来到俄罗斯方块游戏"),&r,DT_CENTER|DT_SINGLELINE|DT_VCENTER);

setlinecolor(RED);

for(i=0;i<M;i++)

{

for(j=0;j<N;j++)

{

min_box[i][j].var=0;

min_box[i][j].color=BLACK; line(x1,y1,x1+H_box,y1); line(x1,y1+V_box,x1+H_box,y1+H_box); line(x1,y1,x1,y1+V_box); line(x1+H_box,y1,x1+H_box,y1+V_box); x1=x1+H_box; } x1=B1_x; y1=y1+H_box;

}

}

int born_box()//随机生成方块!

{

int box_numb; srand(time(NULL)); box_numb=(rand()%19);

return(box_numb);

}

int randomize()//初始化X的坐标!

{

int B_x;

srand(time(NULL));

B_x=(rand()%15)*20; return(B_x);

}

void show_score(int s)

{

char S[5];


setcolor(RED);

setfillcolor(RED); rectangle(480,120,640,180);

  floodfill(501,121,RED);

RECT r={480,120,640,180}; settextcolor(RED); settextstyle(25,0,_T("宋体"));

drawtext(_T("当前得分"),&r,DT_CENTER|DT_SINGLELINE|DT_VCENTER);

sprintf(S,"%d",s);

outtextxy(560,200,S);//指定位置输出字符串 }

void show_level(int k)

{

char L[5];

setcolor(RED);

setfillcolor(RED); rectangle(480,240,640,300);

  floodfill(501,241,RED);

settextcolor(RED);

RECT r={480,240,640,300}; settextstyle(25,0,_T("宋体")); drawtext(_T("当前等级"),&r,DT_CENTER|DT_SINGLELINE|DT_VCENTER);

sprintf(L,"%d",k);

outtextxy(560,320,L);

}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容