实战项目:俄罗斯方块(六)

文章目录


你的点赞评论就是对博主最大的鼓励
当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~


🍊自我介绍

Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名**"创始团队·嘉宾"** 和**"内容共创官"** ,现在我来为大家介绍一下有关物联网-嵌入式方面的内容。


🍊图像界面绘制

界面绘制


解释图中信息:

左边界面是游戏界面;右上边区域是下一个要出现的图形区域;右下方区域是显示分数和等级。

图中(10,5),(40,5)等坐标表示横坐标和纵坐标。

因为绘制的界面横坐标占用两个格子,纵坐标占用一个格子;所以x的有效取值范围是:12-39,y的有效取值范围是6-29。

界面显示代码

c 复制代码
#include <stdio.h>
#include <termios.h>
#include <signal.h>
#include <time.h>
#include <sys/time.h>
#include <stdlib.h>

int score_x = 45;
int score_y = 18;
int level_x = 45;
int level_y = 22;

int getch()//获得一个字符,不回显;切记是1个字符
{
	struct termios tm,tm_old;
	//1.获得用户输入的属性到 tm_old
	tcgetattr(0,&tm_old);
	//2.获取原始输入的属性
	cfmakeraw(&tm);
	//3.把输入的属性设置到终端上
	tcsetattr(0,0,&tm);
	//4.读取用户输入的一个字符
	int ch = getchar();
	//5.恢复正常输入
	tcsetattr(0,0,&tm_old);

	return ch;
}

void print_start_ui()
{
	printf("\33[2J");//清屏

	int i;

	for(i = 0;i < 47;i++)//输出黄色最顶行。最低行
	{
		printf("\033[%d;%dH\033[43m \033[0m",5,i+10);
		printf("\033[%d;%dH\033[43m \033[0m",30,i+10);
	}
	for(i = 0;i < 26;i++)
	{
		printf("\033[%d;%dH\033[43m  \033[0m",i+5,10);
		printf("\033[%d;%dH\033[43m  \033[0m",i+5,40);
		printf("\033[%d;%dH\033[43m  \033[0m",i+5,56);
	}
	for(i = 0;i < 17;i++)//输出用户下一图形分割行
	{
		printf("\033[%d;%dH\033[43m \033[0m",12,40+i);
	}
	printf("\033[%d;%dH分数:\033[0m",score_y,score_x);//输出分数

	printf("\033[%d;%dH分数:\033[0m",level_y,level_x);//输出等级
}
void init_game_ui()
{
	print_start_ui();//输出窗体界面

	getch();//等待用户输出,然后程序开始运行
	
}

int main()
{
	init_game_ui();
	return 0;
}

运行结果

相关推荐
你怎么知道我是队长7 小时前
C语言---头文件
c语言·开发语言
期待のcode7 小时前
Java虚拟机的运行模式
java·开发语言·jvm
hqwest7 小时前
码上通QT实战25--报警页面01-报警布局设计
开发语言·qt·qwidget·ui设计·qt布局控件
a程序小傲7 小时前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先
HellowAmy7 小时前
我的C++规范 - 玩一个小游戏
开发语言·c++·代码规范
3有青年8 小时前
nios ii 中 ‘ALT_CPU_FREQ‘ could not be resolved的分析和解决办法
c语言·fpga开发
徐先生 @_@|||8 小时前
Palantir Foundry 五层架构模型详解
开发语言·python·深度学习·算法·机器学习·架构
tang777899 小时前
爬虫如何绕过绕过“5秒盾”Cloudflare:从浏览器指纹模拟到Rust求解之不完全指南
开发语言·爬虫·rust·cloudflare
Yuer20259 小时前
什么是 Rust 语境下的“量化算子”——一个工程对象的最小定义
开发语言·后端·rust·edca os·可控ai
hqwest9 小时前
码上通QT实战26--系统设置01-系统设置布局
开发语言·qt·qss·qt基础控件·qt布局控件·qt表格控件