为什么c语言编译器闪屏,C语言贪吃蛇闪屏问题,求大神!!!
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
#include
#include
#include
using namespace std;
#define HEAD 'H'
#define BODY 'X'
#define WALL '*'
#define money 'S'
#define N 50
#define n 20
void output();
void snakemove(int a,int b);
void putmoney();
#define MAX 20
int snakex[MAX] = {1,1,1,1,1};
int snakey[MAX] = {1,2,3,4,5};
char snakemap[n][N] =
{"********************************************",
"*XXXXH *",
"* *",
"* *",
"* *",
"* *",
"* *",
"* *",
"* *",
"* *",
"* *",
"* *",
"* *",
"* *",
"* *",
"* *",
"* *",
"* *",
"* *",
"********************************************"
};
int length = 5;
int alive = 1;
char direction = 'D';
int main()
{
char ch;
system("color 00");
system("color A4");
putmoney();
output();
while(alive)
{
if(kbhit())
{
ch = getch();
switch(ch)
{
case 'A':
case 'a':if(direction == 'd')break;direction = tolower(ch);snakemove(0,-1);break;
case 'D':
case 'd':if(direction == 'a')break;direction = tolower(ch);snakemove(0,1);break;
case 'S':
case 's':if(direction == 'w')break;direction = tolower(ch);snakemove(1,0);break;
case 'W':
case 'w':if(direction == 's')break;direction = tolower(ch);snakemove(-1,0);break;
}
Sleep(50);
output();
}
else
{
switch(direction)
{
case 'a':snakemove(0,-1);break;
case 'd':snakemove(0,1);break;
case 's':snakemove(1,0);break;
case 'w':snakemove(-1,0);break;
}Sleep(50);
output();
}
}
system("cls");
cout<
return 0;
}
void snakemove(int a,int b)
{
int x,y;
x = snakex[length-1] + a;
y = snakey[length-1] + b;
if(snakemap[x][y] == HEAD || snakemap[x][y] == BODY || snakemap[x][y] == WALL)
alive = 0;
else if(snakemap[x][y] == money && length < 20)
{
length++;
putmoney();
snakex[length-1] = x;
snakey[length-1] = y;
snakemap[snakex[length-1]][snakey[length-1]] = HEAD;
snakemap[snakex[length-2]][snakey[length-2]] = BODY;
}
else
{
int i;
int x1,y1;
x1 = snakex[0];
y1 = snakey[0];
for(i = 0;i
{
snakex[i] = snakex[i+1];
snakey[i] = snakey[i+1];
}
snakemap[x1][y1] = ' ';
snakex[length-1] = x;
snakey[length-1] = y;
snakemap[snakex[length-1]][snakey[length-1]] = HEAD;
snakemap[snakex[length-2]][snakey[length-2]] = BODY;
}
}
void output()
{
system("cls");
int i,j;
cout<
for(i = 0;i
{
for(j = 0;j
cout<
cout<
}system("color 00");
system("color A4");
}
void putmoney()
{
srand(time(0));
int x = 0,y = 0;
do
{
x = rand() % 15 + 1;
y = rand() % 40 + 1;
}while(snakemap[x][y] == WALL && snakemap[x][y] == BODY && snakemap[x][y] ==HEAD);
snakemap[x][y] = money;
}
代码如上,怎么样才能实现不闪屏,听说要用什么双缓冲技术,求会的大神帮我修改下代码让它不闪屏!!!小弟感激不尽!!!!!
为什么c语言编译器闪屏,C语言贪吃蛇闪屏问题,求大神!!!相关推荐
- 怎么用c语言表示大整数的四则运算,用c语言编写大整数的四则运算,求大神
用c语言编写大整数的四则运算,求大神 答案:3 信息版本:手机版 解决时间 2019-10-03 17:13 已解决 2019-10-03 01:32 用c语言编写大整数的四则运算,求大神 最佳答案 ...
- 请输入30名同学的c语言成绩,求大神帮忙做这几道结构体的c语言!今天就要交实验报告!急啊急!!!!! (1)一个班级共有30名学...
问题描述: 求大神帮忙做这几道结构体的c语言!今天就要交实验报告!急啊急!!!!! (1)一个班级共有30名学 求大神帮忙做这几道结构体的c语言!今天就要交实验报告!急啊急!!!!! (1)一个班级共 ...
- c语言中len的作用,C语言 int len( ) 求大神解释
C语言 int len( ) 求大神解释 sen3830058 LV12 2013-03-13 #include int len(char s[]){ int n=0; while(s[n]!='\0 ...
- 赫夫曼编码c语言 排序部分,c语言构造哈夫曼树输出哈夫曼编码出错 ,跪求大神帮我找错...
c语言构造哈夫曼树输出哈夫曼编码出错 ,跪求大神帮我找错0 youxun0952016.09.07浏览120次分享举报 #include #include #include typedef struc ...
- python12345输出54321_C语言编写程序 :输入一个正整数,将其逆序输出。例如,输入12345,输出54321. 跪求大神用循环语句...
点击查看C语言编写程序 :输入一个正整数,将其逆序输出.例如,输入12345,输出54321. 跪求大神用循环语句具体信息 答:#include int main() { int num; scanf ...
- c语言用结构体交换名字,结构体赋值给另一个 结构体 如何定义 求大神了
定义了一个 输入学生信息的 结构体 通过比较 总成绩 排名 各个信息都要交换信息,我想定义另一个结构体 盛放它 完成交换 #include struct Student//定义储存学生信息的结 ...
- c语言中已知x=7,y=3,计算表达式x%=y+3的值,已知:a=7,x=2.5,y=4.7,计算算术表示式x+a%3*(int)(x+y)%2/4的值。试程式设计上机验证。求大神帮助...
已知:a=7,x=2.5,y=4.7,计算算术表示式x+a%3*(int)(x+y)%2/4的值.试程式设计上机验证.求大神帮助以下文字资料是由(历史新知网www.lishixinzhi.com)小编 ...
- ubuntu14.04扩展屏幕后,打开matlab就死机。求大神帮忙解决!!!万分感谢
ubuntu14.04扩展屏幕后,打开matlab就死机.求大神帮忙解决!!!万分感谢
- Android App后台、锁屏运行,百度定位不实时定位。未解问题,求大神指教?
细节描述: 功能需要实现:App 一直给后台上传经纬度.(正常运行,后台运行,锁屏运行) 问题描述:红米Note 5A. 在A点,App 锁屏,走到B 点,然而在A---B之间一直上传的是A点锁屏前的 ...
- android重签名闪退,360加固保加固完之后重新签名的包运行闪退,求大神帮忙解答...
加固完之后重新签名的包运行闪退,求大神帮忙解答 错误提示: 07-08 15:51:23.769: E/AndroidRuntime(15012): FATAL EXCEPTION: main 07- ...
最新文章
- linuxsvn源代码版本库建立
- Hi3516A开发--安装交叉编译器
- AtCoder AGC031E Snuke the Phantom Thief (费用流)
- 智慧交通day04-特定目标车辆追踪02:Siamese网络+单样本学习
- 软考网络管理员学习笔记2之第二章数据通信基础
- 【现场福利+直播通道】2020数据技术嘉年华正式“菜单”出炉,饕餮盛宴等你共享!...
- VMware-workstation安装手册
- 阿里云GIS曾志明:空间数据中台是什么,怎么用
- 原生JS路由实现页面跳转
- 三相桥式全控整流电路simulink仿真_维修电工实训仿真软件-电工入门与提高
- 游戏测试----------------第4章
- mysql导入文本或excel文件
- busboy文件上传遇到的坑,已解决
- 关于淘宝和12306的分析
- 关于严蔚敏老师《数据结构(C语言版)》书中代码的误解
- 数字翻译器,Java
- 玩转Kubernetes—尝试以不同方式初始化集群
- 宠物诊所java项目_任务一宠物诊所项目概述.PDF
- SLAM算法资料收集
- 使用Youtube官方API订阅功能的实现