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

ops/2024/9/24 4:28:28/

文章目录

  • 🍊自我介绍
  • 🍊图像界面绘制
    • 界面绘制
    • 界面显示代码
    • 运行结果


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


🍊自我介绍

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


🍊图像界面绘制

界面绘制

在这里插入图片描述
解释图中信息:
  左边界面是游戏界面;右上边区域是下一个要出现的图形区域;右下方区域是显示分数和等级。
  图中(10,5),(40,5)等坐标表示横坐标和纵坐标。
  因为绘制的界面横坐标占用两个格子,纵坐标占用一个格子;所以x的有效取值范围是:12-39,y的有效取值范围是6-29。

界面显示代码

#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_oldtcgetattr(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;
}

运行结果

在这里插入图片描述


http://www.ppmy.cn/ops/105216.html

相关文章

【ES常用查询操作】

在 Elasticsearch (ES) 中&#xff0c;多条件检索可以通过组合多个查询条件来实现。Elasticsearch 提供了多种查询类型和组合方式&#xff0c;常见的有 bool 查询、must、should、must_not 和 filter 等。以下是一些常见的多条件检索示例。 1. 使用 bool 查询 bool 查询允许你…

SQL Server Service Broker故障排除

如果你的SQL Server Queue无法正常工作&#xff0c;这可能是由于多种原因造成的&#xff0c;比如设置不正确、SQL Server Service Broker存在问题&#xff0c;或者队列本身有问题。以下是一些故障排除步骤&#xff1a; Check SQL Server Service Broker: 你的队列所在的数据…

JS设计模式之“幽灵工厂” - 抽象工厂模式

image.png 一. 了解带头模范 - 抽象类 JavaScript中并没有原生的抽象类的概念&#xff0c;但可以通过一些方式来模拟实现抽象类的效果。 抽象类是一种不能被直接实例化的类&#xff0c;只能作为其他类的基类使用。它定义了一组抽象方法&#xff0c;子类必须实现这些抽象方法。…

JAVA vs Python:谁更适合后端开发?

在最近的学习中,总有人问我JAVA vs Python&#xff1a;谁更适合后端开发&#xff1f; 而在后端开发中&#xff0c;Java和Python经常被拿来比较&#xff0c;就像在问“你喜欢吃米饭还是面条&#xff1f;”答案并不绝对&#xff0c;而是取决于项目的需求、团队的熟悉度&#xff…

数据分析的革命:Docker容器化在数据分析中的应用

数据分析的革命&#xff1a;Docker容器化在数据分析中的应用 在当今的数据驱动世界中&#xff0c;数据分析流程的效率和可重复性至关重要。Docker容器化技术为数据分析提供了一种新的方法&#xff0c;通过将分析环境封装在容器中&#xff0c;确保了分析流程的一致性和可移植性…

详解Asp.Net Core管道模型中的五种过滤器的适用场景与用法

1. 前言 在 ASP.NET Core 中&#xff0c;过滤器是一种用于对请求管道进行前置或后置处理的组件。它们可以在请求处理的不同阶段干预和修改请求和响应&#xff0c;以实现一些通用的处理逻辑或功能增强。 ASP.NET Core 的管道模型由多个中间件组成&#xff0c;而过滤器是这个模…

C#中删除数组中的元素,并改变数组的长度

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web;namespace ArrayDemo07 {internal class Program{/// <summary>/// 删除数组中的元素&#xff0c;并改变数组的长度/// </s…

都2024年了你还缺客源?十分钟教你如何获取!

你是否还在为如何找到精准的客源而烦恼&#xff1f;别担心&#xff0c;今天我们就来分享一些客源采集方法&#xff0c;让你十分钟内掌握技巧&#xff0c;轻松获取全国各地各行各业的客源。 精准采集客源 1. 拓客工具 专业的拓客工具可以帮助你精准地采集到全国各地的客源信息。…