当前位置: 首页 > news >正文

(C语言贪吃蛇)4.贪吃蛇地图优化及算法说明

上节代码示例:

#include <curses.h>void initNcurse()
{initscr();keypad(stdscr,1);
}void gamePic()
{int hang;int lie;for(hang = 0;hang < 20;hang ++){if(hang == 0){for(lie = 0;lie < 20;lie ++){printw("--");}printw("\n");for(lie = 0;lie <= 20;lie ++){if(lie == 0 || lie == 20) printw("|");else printw("  ");}printw("\n");}if(hang > 0 && hang <= 18){for(lie = 0;lie <= 20;lie ++){if(lie == 0 || lie == 20) printw("|");else printw("  ");}printw("\n");}if(hang == 19){for(lie = 0;lie < 20;lie ++){printw("--");}printw("\n");printw("by beiweiqiuAC");}}}int main()
{initNcurse();gamePic();getch();//防止程序退出endwin();return 0;
}

代码可以优化更简:

#include <curses.h>void initNcurse()
{initscr();keypad(stdscr,1);
}void gamePic()
{int hang;int lie;for(hang = 0;hang < 20;hang ++){if(hang == 0){for(lie = 0;lie < 20;lie ++){printw("--");}printw("\n");}if(hang >= 0 && hang <= 19){for(lie = 0;lie <= 20;lie ++){if(lie == 0 || lie == 20) printw("|");else printw("  ");}printw("\n");}if(hang == 19){for(lie = 0;lie < 20;lie ++){printw("--");}printw("\n");printw("by beiweiqiuAC");}}}int main()
{initNcurse();gamePic();getch();//防止程序退出endwin();return 0;
}

那我们为什么需要这样做呢?

因为我们到时候不仅仅显示的是地图,还有贪吃蛇的身体和食物,相当于我们在这块空间不停扫描,如果用printw写死有些地方就不能显示空格了。

 

相关文章:

(C语言贪吃蛇)4.贪吃蛇地图优化及算法说明

上节代码示例&#xff1a; #include <curses.h>void initNcurse() {initscr();keypad(stdscr,1); }void gamePic() {int hang;int lie;for(hang 0;hang < 20;hang ){if(hang 0){for(lie 0;lie < 20;lie ){printw("--");}printw("\n");for(…...

国外电商系统开发-运维系统拓扑布局

点击列表中设备字段&#xff0c;然后定位到【拓扑布局】中&#xff0c;可以看到拓扑发生了变化 再回头&#xff0c;您再次添加一个服务器到系统中&#xff0c;并且选择该服务器的连接节点为您刚才创建的“SDN路由器”&#xff0c;保存后&#xff0c;您可以看到这个服务器连接着…...

使用winsock和ip相关指令重置Window网络配置

netsh winsock reset 和 netsh int ip reset 是 Windows 中用于修复网络问题的命令。它们分别用于重置 Winsock 和 TCP/IP 网络配置&#xff0c;以解决可能由于配置错误或网络堆栈损坏而导致的网络连接问题。 1. netsh winsock reset 1.1 作用 重置 Winsock 目录。Winsock 是…...

用AI做电子萌宠,快速涨粉变现

今天给大家分享一个很热门的小副业—AI宠物视频 项目介绍 前一阵刷到一个萌宠账号&#xff0c;爆款率可真高&#xff0c;涨粉可真快呀。 28篇笔记涨粉3.2万&#xff0c;点赞更是达到了十几万。其中有6篇点赞上万。 至于究竟是不是AI其实没那么重要&#xff0c;重要的是&…...

如何在 Axios 中封装事件中心EventEmitter

在 Axios 中封装一个事件中心 EventEmitter 允许你在请求的不同阶段&#xff08;如请求开始、请求成功、请求失败等&#xff09;触发事件。这可以通过创建一个自定义的 Axios 实例&#xff0c;并结合 Node.js 的 events 模块来实现。以下是一个详细的步骤指南和示例代码&#x…...

计算机网络——ftp

在网络通信中&#xff0c;控制连接和数据连接是两种不同类型的连接&#xff0c;它们各自具有特定的功能和用途。 一、控制连接 定义与功能&#xff1a; 控制连接主要用于在通信双方之间传输控制信息&#xff0c;以建立、维护和终止数据连接。它负责协调和管理数据传输的过程&am…...

Redis:set类型

Redis&#xff1a;set类型 set命令SADDSMEMBERSSISMEMBERSCARDSPOPSRANDMEMBERSMOVESREM 集合间操作SINTERSINTERSTORESUNIONSUNIONSTORESDIFFSDIFFSTORE 内部编码intsethashtable 当把一些关联的数据放到一起&#xff0c;就构成一个集合。在Redis中&#xff0c;使用set类型维护…...

九大排序之插入排序

1.前言 插入排序是把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中&#xff0c;直到所有的记录插入完为止&#xff0c;得到一个新的有序序列 。实际中我们玩扑克牌时&#xff0c;就用了插入排序的思想。 本章重点&#xff1a;主要着重的介绍两种插入排序…...

DNABERT: 一个基于 Transformer 双向编码器表征的预训练 DNA 语言模型

本文结合 DNABERT 的原文&#xff0c;主要介绍了&#xff1a; Overview of DNABERT 开发 DNABERT 的背景 DNABERT 的 tokenization DNABERT 的模型架构 DNABERT 的预训练 基于微调 DNABERT 的应用 1. Overview of DNABERT 我们之前介绍了 BERT&#xff0c;它是一个基于 Transfo…...

基于Hive和Hadoop的电商消费分析系统

本项目是一个基于大数据技术的电商消费分析系统&#xff0c;旨在为用户提供全面的电商消费信息和深入的消费行为分析。系统采用 Hadoop 平台进行大规模数据存储和处理&#xff0c;利用 MapReduce 进行数据分析和处理&#xff0c;通过 Sqoop 实现数据的导入导出&#xff0c;以 S…...

记一次炉石传说记牌器 Crash 排查经历

大家好这里是 Geek技术前线。最近在打炉石过程中遇到了HSTracker记牌器的一个闪退问题&#xff0c;尝试性排查了下原因。这里简单记录一下 最近炉石国服回归&#xff1b;由于设备限制&#xff0c;我基本只会在 Mac 上打炉石。并且由于主要打竞技场&#xff0c;所以记牌器是必不…...

精益驱动的敏捷开发

1. 什么是精益&#xff1f;精益能给软件开发带来什么&#xff1f; 精益是一种起源于制造业的管理哲学&#xff0c;尤其是从丰田的生产体系中发展而来。它的核心目标是通过最小化浪费、提高效率和优化流程来实现高效的生产。精益的核心原则包括&#xff1a; 消除浪费&#xff…...

SolidWorks机器转ROS2 URDF

文章目录 开发环境SolidWords插件使用生成urdf文件之后的处理CMakeLists文件修改package.xml变更Launch更改运行 开发环境 Linux系统&#xff1a;Ubuntu 22.04 Ros2版本&#xff1a;humble Solidwords版本&#xff1a;2023 &#xff08;2019以上版本应该都是可以的&#xff09…...

(Linux驱动学习 - 6).Linux中断

一. Linux 中断 API 函数 1.中断号 每个中断都有一个中断号&#xff0c;通过中断号即可区分不同的中断&#xff0c;有的资料也把中断号叫做中 断线。在 Linux 内核中使用一个 int 变量表示中断号。 2.申请中断 - request_irq 函数原型&#xff1a; int request_irq(unsigne…...

SpringBoot驱动的明星周边产品电商解决方案

1系统概述 1.1 研究背景 如今互联网高速发展&#xff0c;网络遍布全球&#xff0c;通过互联网发布的消息能快而方便的传播到世界每个角落&#xff0c;并且互联网上能传播的信息也很广&#xff0c;比如文字、图片、声音、视频等。从而&#xff0c;这种种好处使得互联网成了信息传…...

C++、Ruby和JavaScript

C C最初被称为带类的C, 兼容C的语法&#xff0c;此既是C得以流行的前提&#xff0c;也是C某些语法被捆绑的根源。C的来源于C语言的递增运算符&#xff0c;代表增加&#xff0c;意义为扩展。 C的历史 C类的设计思想来源于Simula. Simula为模拟的意思&#xff0c;被称为最早的面向…...

32单片机 低功耗模式

以下是一个基于STM32的低功耗模式示例代码&#xff0c;展示如何将STM32微控制器置于低功耗模式&#xff0c;并在特定条件下唤醒它。这个示例使用的是STM32 HAL库。 ### 示例代码&#xff1a;进入睡眠模式并使用外部中断唤醒 c #include "stm32f4xx_hal.h" // 函数声明…...

501、二叉搜索树中的众数

1、题目描述 . - 力扣&#xff08;LeetCode&#xff09; 要求&#xff1a;给一个包含重复值的BST&#xff0c;找出并返回BST中的众数(出现频次最高的元素)。 注&#xff1a;如果树中有不止一个众数可以按任意顺序返回&#xff0c;即如果有多个众数多个都要返回。 ps&#xff1…...

【洛谷】P2330 [SCOI2005] 繁忙的都市 的题解

【洛谷】P2330 [SCOI2005] 繁忙的都市 的题解 题目传送门 题解 水最小生成树&#xff0c;发现可以水一堆黄题qaq 这题显然就是求最大边权最小的生成树&#xff0c;而用 Kruskal 很容易证明这就是最小生成树&#xff0c;考虑一下这个算法每次取的都是不构成环的最小边即可&a…...

第18场小白入门赛(蓝桥杯)

第 18 场 小白入门赛 6 武功秘籍 考察进制理解。 对于第 i i i 位&#xff0c;设 b i t i x bit_ix biti​x &#xff0c;每一位的最大值是 b j b_j bj​ &#xff0c;也就是说每一位是 b j 1 b_j1 bj​1 进制 &#xff0c;那么第 i i i 位的大小就是 x ∑ j i 1…...

入库篇:仓库里的货从哪来?——WMS货品来源全解析,物流新人必读

仓库里的货从哪来&#xff1f;——WMS货品来源全解析&#xff0c;物流新人必读 摘要&#xff1a;每天在WMS系统里看到成百上千的库存记录&#xff0c;但你想过没有——这些货品最初是怎么进入系统的&#xff1f;是采购进来的&#xff1f;生产出来的&#xff1f;客户退回来的&am…...

【2026年拼多多暑期实习/春招- 5月17日-第四题- 多多的道路修建Ⅱ】(题目+思路+JavaC++Python解析+在线测试)

题目内容 多多现在在负责多多乡村的修建。 道路修建问题可以看作是在一条直线上,有NNN个单位。 经过认真分析,他发现每一段路有两种修建的方案,分别为“修111”和“修22...

stable-diffusion-webui怎么生成视频

我们知道stable-diffusion-webui是用来生成图片的&#xff0c;视频本质上就是图片的连续播放&#xff0c;那么stable-diffusion-webui是否就可以生成视频呢&#xff1f;答案是肯定的。本文介绍一种方法&#xff0c;使用stable-diffusion-webui来生成视频。 具体的方法是&#…...

音频智能切片工具:快速解放双手的终极音频分割解决方案

音频智能切片工具&#xff1a;快速解放双手的终极音频分割解决方案 【免费下载链接】audio-slicer A simple GUI application that slices audio with silence detection 项目地址: https://gitcode.com/gh_mirrors/aud/audio-slicer 还在为处理冗长的音频文件而烦恼吗&…...

终极指南:如何在Windows电脑上免费预览iPhone的HEIC照片

终极指南&#xff1a;如何在Windows电脑上免费预览iPhone的HEIC照片 【免费下载链接】windows-heic-thumbnails Enable Windows Explorer to display thumbnails for HEIC/HEIF files 项目地址: https://gitcode.com/gh_mirrors/wi/windows-heic-thumbnails 你是否经常遇…...

苹果砂不锈钢蜂窝板做出来真的和苹果店一样吗?来自广东优之彩!

当“苹果店质感”成为高级商业空间的隐形标尺&#xff0c;无数人追问&#xff1a;我们能用苹果砂不锈钢蜂窝板&#xff0c;复刻那种极致、均匀、充满科技感的哑光金属美学吗&#xff1f;答案是&#xff1a;可以。但前提是&#xff0c;你选择的不仅是材料&#xff0c;更是一套完…...

新手避坑指南:用ROS Melodic在Ubuntu 18.04上为Dofbot机械臂配置MoveIt!

新手避坑指南&#xff1a;用ROS Melodic在Ubuntu 18.04上为Dofbot机械臂配置MoveIt&#xff01; 第一次为Dofbot机械臂配置ROS Melodic和MoveIt时&#xff0c;很多新手会在环境搭建、依赖安装和配置文件调试等环节遇到各种"坑"。这些看似简单的问题往往耗费大量时间…...

终极免费MGit:在手机上管理Git仓库的完整解决方案

终极免费MGit&#xff1a;在手机上管理Git仓库的完整解决方案 【免费下载链接】MGit A Git client for Android. 项目地址: https://gitcode.com/gh_mirrors/mg/MGit 你是否曾经在通勤路上灵感迸发&#xff0c;却苦于无法立即提交代码&#xff1f;或者需要在移动设备上快…...

解锁AI编程新体验:开源助手完整配置指南

解锁AI编程新体验&#xff1a;开源助手完整配置指南 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your trial request li…...

【电影研究者的AI护城河】:NotebookLM深度定制教程——仅限高校影视实验室内部流传的6大高阶技巧

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;NotebookLM电影研究辅助的底层逻辑与范式迁移 NotebookLM 并非传统意义上的“AI笔记工具”&#xff0c;而是一个以语义理解为核心、以用户自有资料为知识边界的可验证推理引擎。其在电影研究领域的应用&#…...