资源简介
linux 下C语言俄罗斯方块代码
可以实现支持全部的方块类型,支持左右移动,图形的旋转变化,快速下降,分数统计,级别提升,暂停等功能
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include “print.h“
#include “rand.h“
pthread_mutex_t mutex_lock;
//pthread_mutex_t mutex_lock_run_pause;
/* seven kinds blocks image */
int rus_image[7][4][2]={
{{01}{11}{21}{31}}
{{00}{01}{11}{21}}
{{10}{01}{11}{21}}
{{20}{01}{11}{21}}
{{00}{10}{01}{11}}
{{00}{01}{11}{12}}
{{10}{01}{11}{02}}
};
/* I image */
int rus_image_i[4][4][2]={
{{01}{11}{21}{31}}
{{13}{12}{11}{10}}
{{01}{11}{21}{31}}
{{13}{12}{11}{10}}
};
/* J image */
int rus_image_j[4][4][2]={
{{00}{01}{11}{21}}
{{02}{12}{11}{10}}
{{21}{20}{10}{00}}
{{10}{00}{01}{02}}
};
/*T image */
int rus_image_t[4][4][2]={
{{10}{01}{11}{21}}
{{01}{12}{11}{10}}
{{11}{20}{10}{00}}
{{21}{10}{11}{12}}
};
/* L image */
int rus_image_l[4][4][2]={
{{20}{01}{11}{21}}
{{00}{10}{11}{12}}
{{01}{00}{10}{20}}
{{12}{02}{01}{00}}
};
/* O image */
int rus_image_o[4][4][2]={
{{00}{10}{01}{11}}
{{00}{10}{01}{11}}
{{00}{10}{01}{11}}
{{00}{10}{01}{11}}
};
/* Q image */
int rus_image_q[4][4][2]={
{{00}{01}{11}{12}}
{{01}{11}{10}{20}}
{{00}{01}{11}{12}}
{{01}{11}{10}{20}}
};
/* P image */
int rus_image_p[4][4][2]={
{{10}{01}{11}{02}}
{{00}{11}{10}{21}}
{{10}{01}{11}{02}}
{{00}{11}{10}{21}}
};
int rus_image_change_num=0;
enum RUS_IMAGE{
RUS_I=0
RUS_J
RUS_T
RUS_L
RUS_O
RUS_Q
RUS_P
};
int image_num;
int rus_block_x[4]={0};
int rus_block_y[4]={0};
int image_next_num;
int rus_block_next_x[4]={0};
int rus_block_next_y[4]={0};
int rus_block[12][22]={0};
int score=0;
int level=0;
int sleep_time[5]={500000 300000 200000 100000 50000};
int run_pause=0;
void rus_init();
void rus_print();
void rus_next_print();
void rus_clear();
int rus_move_down();
int rus_move_left();
int rus_move_right();
void rus_move_drop();
void rus_move_change();
void rus_run_pause();
int rus_block_change(int rus_image_tmp[4][4][2]);
int rus_block_stop();
void rus_line_clear();
void rus_line_delete(int n);
void rus_exit();
void *rus_pthread_listen_key(void *ptr);
/* rus praph init */
void rus_init()
{
int ij;
int dytmp;
dy = 0;
tmp = 0;
/* rus block init */
for(i=0; i<12; i++){
for(j=0; j<22; j++){
rus_block[i][j] = -1;
}
}
/* print graph */
init_graph();
for(i=0; i<12; i++){
rus_block[i][0]=WHITE;
rus_block[i][21]=WHITE;
}
for(i=0; i<22; i++){
rus_block[0][i]=WHITE;
rus_block[11][i]=WHITE;
}
/* get a rus block and a next rus block */
srandNum();
image_num = randNum(0 6);
for(i=0; i<4; i++){
tmp = rus_image[image_num][i][1];
if(dy < tmp){
dy = tmp;
}
}
for(i=0; i<4; i++){
rus_block_x[i] = rus_image[image_num][i][0] + 5;
rus_block_
- 上一篇:最小权顶点覆盖问题的C++代码(完整)
- 下一篇:C++汽车销售管理系统
相关资源
- Linux那些事儿之我是USB core
- C语言的嵌入式汇编基本使用.docx(2页
- C语言嵌入式Modbus协议栈,支持主站和
- C语言封装的HttpClient接口
- C语言课设计算器
- C语言 学生兴趣管理系统
- c语言实现火车订票系统(控制台)源
- 模拟笔记本电脑(C语言实现)
- c语言实现竞技比赛打分系统
- KMP算法C语言程序
- Linux c语言 学生成绩管理系统
- 弹跳的小球(test.c)
- 俄罗斯方块游戏源码(Tetris)
- 林锐—高质量C编程
- 基于c语言的通讯录系统
- C语言全套课件与教学资料-哈工大
- 计算机二级C语言真题.docx
- C语言实现 设备信息管理系统
- GBT 28169-2011 嵌入式软件 C语言编码规范
- C语言标准库函数大全.chm
- C语言常用代码(分章节)
- c语言课程设计:客房登记系统源码
- C语言常用算法源代码
- 吕鑫:VS2015之博大精深的0基础C语言视
- c语言文都讲义2020
- c语言课件56883
- C语言推箱子win控制台
- C语言程序设计50例.docx
- 烟花优化算法(c语言版)
- C语言程序设计教材习题参考答案.do
评论
共有 条评论