标签归档:俄罗斯方块

linux c 俄罗斯方块之方快绘制及方块自然下落

在俄罗斯方块开发中,我们需要解决几大问题:
1 键盘读入键盘读入
2 方块绘制
3 方块碰撞
此文主要演示方块绘制及方块下落的效果:
效果图如下:
俄罗斯方块
具体实现代码:
#include < stdio.h>
#include < unistd.h> sleep函数需引用头文件
int mapCheck(int x,int y,int x_,int y_); //地图上是否存在物体检测
void main(){
int x =40; //定义地图的高度
int y =40; //定义地图的宽度
int x1,y1; //定义临时变量
char t=’.’; //定义地图默认值
int x_=0; //定义当前运动物体的X轴偏移
int y_=0; //定义当前运动物体的y轴偏移
while(1) //循环打印出地图
{
printf(“\033[2J”); //
for(x1=0;x1

linux c 监控键盘输入

系统运行环境:
阿里云CentOs
直接上代码:
#include < stdio.h>
#include < termios.h>
#include < unistd.h>
struct termios old,new;
int main(){
char ch[4];
tcgetattr(0,&old); //获取终端初始时属性设置
cfmakeraw(&new); //制作新的终端控制属性,用于捕捉用户按键的输入
tcsetattr(0,0,&new); //改变终端的属性
while(1){
fflush(NULL); //清空读写缓冲区
read(0,ch,3);
if(ch[0] ==’e’){
printf(“game over!\n”);
tcsetattr(0,0,&old); //还原终端的属性
break;
}
printf(“%c\n”,ch[0]);
}
}

为后续 俄罗斯方块获取键盘值服务
linux --获取键盘