俄罗斯方块 你还记得吗?
各位,看题目大家应该都知道了,没错,今天给大家带来的是童年的经典小游戏——俄罗斯方块。今天写这篇推送的时候想起了小时候玩这个游戏的一些画面,时光飞逝,感慨颇多,所以开头选了一首音乐—怀念青春。
童年的回忆有人说,它没有最经典,只有更经典;
也有人说没有玩过这个游戏的不算拥有完整的童年。
大家看下面的图熟悉吗?
童年脑海里总会回忆起当时玩俄罗斯方块的情景,一眨眼我们都长大成人了,慢慢的从小学—初中—大学,一直到现在,但是依然会想起俄罗斯方块陪伴我度过了快乐的童年!
C语言实现俄罗斯方块人终归是要长大的,回忆再美好,生活还是得继续,小时候我们只会玩游戏,长大后我们有能力自己写游戏玩,我想这就是成长吧!
回到今天的主题,给大家带来俄罗斯方块的C语言源码,应该说写这个游戏比昨天的贪吃蛇复杂一些,如果这个游戏你能弄懂并自己实现一遍,你的C语言水平会有不小的提升,可能得费不少时间,但还是建议大家自己尝试一遍。
为了方便大家学习,还是尽量给大家提供一个代码量比较少的版本,一共400多行。其实这个游戏算法比较简单,主要功夫都在界面体验上了,比如方块图形、用户控制、消去与累计等。看下运行效果图吧!
老规矩,为方便大家我们把源码放一份在下面,大家可直接使用。 另外我们在文章最后还提供了下载方式,大家按照需要下载也可!#include#include#include#include#include#define SPACE 32#define LEFT 75#define RIGHT 77#define DOWN 80#define ESC 27#define Wall 2#define Box 1#define Kong 0#define FACE_X 29#define FACE_Y 20 //界面尺寸void gotoxy(int x,int y); //移动光标int color(int c); //颜色void hidden_cursor(); //隐藏光标void inter_face(); //初始化界面void init_dia(); //初始化方块信息void draw_dia(int base,int space_c,int x,int y); //覆盖方块void draw_kong(int base,int space_c,int x,int y); //画方块int pd(int n,int space_c,int x,int y); //判断是否到底void start_game(); //开始游戏int xc();//消除void read_file(); //读写最高记录void write_file(); //写最高纪录int grade=0;//当前分数int max=0;//最高记录int nn=0;struct Face{
int data[FACE_X][FACE_Y+10]; //数值,为1是方块,为0是空格 int color[FACE_X][FACE_Y+10]; //对应方块的颜色}face;typedef struct Diamonds{