首页 > 编程语言 >贪吃蛇小游戏(c++)

贪吃蛇小游戏(c++)

时间:2025-01-15 20:31:46浏览次数:3  
标签:body 20 int move c++ else char 小游戏 贪吃蛇

随手写的,一个十分有趣的贪吃蛇小游戏。

用了随机数与二维数组实现。欢迎各位大佬提出修改意见

#include<iostream>
#include <cstdlib>
using namespace std;
int x=0,y=0,bx,by,f=0;
char move;
char map[20][20];
int body[20][2];
int ifb=0; 
int main(int argc, const char * argv[]){
   	bx=rand()%20;
   	by=rand()%20;
    while(1){
    	cin>>move;
    	if(move=='w'){
    		x--;
		}
		else if(move=='s'){
			x++;
		}
		else if(move=='a'){
			y--;
		}
		else if(move=='d'){
			y++;
		}
		x=x%20;
		y=y%20;
		if(x<0){
			x=0;
		}
		if(y<0){
			y=0;
		}
		for(int i=f;i>=1;i--){
			body[i][0]=body[i-1][0];
			body[i][1]=body[i-1][1];			
		}
		body[0][0]=x;
		body[0][1]=y;
		system("cls");
		for(int i=0;i<20;i++){
			for(int j=0;j<20;j++){
				ifb=0;
				for(int k=0;k<=f;k++){
					if(i==body[k][0]&&j==body[k][1]){
						cout<<" "<<"0"<<" ";
						ifb=1;
					}
				}
				if(ifb==0){
					if(i==x&&j==y){
						cout<<" "<<"O"<<" ";
					}
					else if(i==bx&&j==by){
						cout<<" "<<"H"<<" ";
					}
					else{
						cout<<" "<<"/"<<" ";
					}
				}
			}
			cout<<endl;
		}
		cout<<"分数:"<<f;
		if(x==bx&&y==by){
			f++;
   			if(f>=20){
   				f=20;
   				cout<<"不能再多了";	
			}
   			bx=rand()%20;
   			by=rand()%20;
		}
	}
}

标签:body,20,int,move,c++,else,char,小游戏,贪吃蛇
From: https://blog.csdn.net/2301_79451377/article/details/145167177

相关文章

  • C18.【C++ Cont】OJ测试用例的各种输入情况汇总
    目录1.思维导图2.单组测试用例3.多组测试用例1.测试数据组已知(输入)类模版例题2.测试数据组未知模版3.特殊值结束测试数据模版1.逐个字符处理2.一次读一行例题4.应对空格的处理方法1.一次读一行模板2.一次读一个单词5.应对数字的处理方法两个认知1.呈现在......
  • 【c++】函数调用机制
    【c++】函数调用机制1.建立栈帧空间2.传递数据,为局部变量分配空间3.保护现场,主调函数运行状态和返回值地址入栈4.执行被调函数体5.释放局部变量的栈空间6.恢复现场,取主调函数运行状态和返回值地址7.继续执行主调函数后续语句详细介绍:ebpespeax等均是寄存器1.......
  • 【c++】【Linux】堆和栈的区别
    【c++】【Linux】堆和栈的区别区别堆栈管理方式由程序员手动分配手动释放由系统自动管理生长方式从低地址向高地址增长从高地址向低地址增长空间大小32位linux下可占2.9G左右32位Linux下占10M左右windows下占1M左右存储内容动态分配的内存,常用于存储链表、对象等动态数据......
  • C++搜索问题
    C++中的搜索算法是指在数据结构或图中寻找某些特定元素或满足条件的路径的算法。搜索算法广泛应用于问题求解、路径规划、数据检索等领域。常见的搜索算法可以分为两大类:无权搜索算法:如深度优先搜索(DFS)、广度优先搜索(BFS)。启发式搜索算法:如A算法、双向搜索、IDA算法等。1.......
  • 2025-1-15-十大经典排序算法 C++与python
    文章目录十大经典排序算法比较排序1.冒泡排序2.选择排序3.插入排序4.希尔排序5.归并排序6.快速排序7.堆排序非比较排序8.计数排序9.桶排序10.基数排序十大经典排序算法十大经典排序算法可以分为比较排序和非比较排序:前者包括冒泡排序、选择排序、插......
  • c++&& SDK打包过程
     在C++中,SDK(SoftwareDevelopmentKit)打包工具的选择和使用通常取决于您的具体需求和目标平台。以下是一个详细的步骤描述,用于创建和打包一个C++SDK。这里我们假设您已经有一个C++项目需要打包为SDK。步骤一:准备你的C++项目项目结构规划:确定你的SDK包含哪些功能,比如源代......
  • Effective C++ 之【条款7:为多态基类声明virtual析构函数】
    文章目录Tips1Tips2一、为什么要有virtual析构函数?二、为什么有时候不要声明虚构函数?三、使用一下纯虚函数。TodayThinking~Tips1polymorphic(带有多态性质的)baseclasses应该声明一个virtual的虚构函数。如果class带有任何virtual函数,它就应该拥有一个virtual析构......
  • gesp(C++五级)(5)洛谷:B3929:[GESP202312 五级] 小杨的幸运数
    gesp(C++五级)(5)洛谷:B3929:[GESP202312五级]小杨的幸运数题目描述小杨认为,所有大于等于aaa的完全平方数都是他的超级幸运数。小杨还认为,所有超级幸运数的倍数都是他......
  • gesp(C++五级)(6)洛谷:B3930:[GESP202312 五级] 烹饪问题
    gesp(C++五级)(6)洛谷:B3930:[GESP202312五级]烹饪问题题目描述有NNN种食材,编号从00......
  • 【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-
    【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本背景之前优雅草央千澈在AE特效制作处博文已经完整介绍了本款游戏的素材开发,本文开始把素材利用起来放进去......