社区
C语言
帖子详情
为什么我用c语言编写的贪吃蛇游戏运行时会闪退呢
xgsdatmlkp
2014-09-12 09:05:34
求大神告知哪里出了问题。。。。
...全文
282
4
打赏
收藏
为什么我用c语言编写的贪吃蛇游戏运行时会闪退呢
求大神告知哪里出了问题。。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2014-09-15
打赏
举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。
xgsdatmlkp
2014-09-13
打赏
举报
回复
#include<stdio.h> #include<time.h> #include<conio.h> #include<stdlib.h> int head=3 ,tail=0; int main() { int i,j,k=0; int zuobiao[2][80]; long start; int direction=77; int gamespeed; int timeover; int change(char qipan[20][80],int zuobiao[2][80],char direction); zuobiao[0][tail]=1; zuobiao[1][tail]=1; zuobiao[0][1]=1; zuobiao[1][1]=2; zuobiao[0][2]=3; zuobiao[0][2]=1; zuobiao[1][head]=1; zuobiao[1][head]=4; char qipan[20][80];//定义棋盘 for(i=0;i<20;i++) for(j=0;j<80;j++) qipan[i][j]=' ';//初始化棋盘 for(i=0;i<80;i++) qipan[0][i]='_'; for(i=0;i<20;i++) qipan[i][0]='|'; for(i=0;i<20;i++) qipan[i][79]='|'; for(i=0;i<80;i++) qipan[19][i]='_'; qipan[1][1]=qipan[1][2]=qipan[1][3]='*';//初始化蛇的位置 qipan[1][4]='#'; printf("This is a game of a SN AKE.\nGOOD LUCK TO YOU !\n"); printf("Input your game speed,please.(e.g.300)\n"); scanf("%d",&gamespeed); while(direction!='q') { system("cls"); for(i=0;i<20;i++)//打印出棋盘 for(j=0;j<80;j++) printf("%c",qipan[i][j]); timeover=1; start=clock(); while(!kbhit()&&(timeover=clock()-start<=gamespeed)); if(timeover) { getch(); direction=getch(); } else direction=direction; if(!(direction==72||direction==80||direction==75||direction==77)) { return 0; system("cls"); printf("GAME OVER!\n"); } if(!change(qipan,zuobiao,direction)) { direction='q'; system("cls"); printf("GAME OVER!\n"); } } return 0; } int change(char qipan[20][80],int zuobiao[2][80],char direction) { int x,y; if(direction==72) x=zuobiao[0][head]-1;y=zuobiao[1][head]; if(direction==80) x=zuobiao[0][head]+1;y=zuobiao[1][head]; if(direction==75) x=zuobiao[0][head];y=zuobiao[0][head]-1; if(direction==77) x=zuobiao[0][head];y=zuobiao[1][head]+1; if(x==0||x==18||y==78||y==0) return 0; if(qipan[x][y]!=' ') return 0; qipan[zuobiao[0][tail]][zuobiao[1][tail]]=' '; tail=(tail+1)%80; qipan[zuobiao[0][head]][zuobiao[1][head]]='*'; head=(head+1)%80; zuobiao[0][head]=x; zuobiao[1][head]=y; qipan[zuobiao[0][head]][zuobiao[1][head]]='#'; return 1; } 这是代码,求大牛
707wk
2014-09-12
打赏
举报
回复
你当我们是神啊,代码都没有就问问题
小白yige
2014-09-12
打赏
举报
回复
没有程序,谁知道呢。你只能自己调试,一步步,采用注释的办法,比如先注释掉后一半如果还是闪退,问题就在前一半,否则就在后一半找。这样逐渐缩小。闪退原因很多,比如该等待的时候没有等待某个条件完成,初始的时候和结束的时候弄成一样的了不好说
用200行
C语言
代码实现贪吃蛇——2.0(EasyX基本版)
这个版本使用了EasyX图形库,使动画效果更加丰富,更加接近真实的小游戏。当然这个“小游戏”并不是真正意义上的小游戏,只是个人对
C语言
的一些理解与应用。本人水平不高,通过博客来分享自己的学习成果,也算是一种复习。如果大家不知道什么是EasyX图形库,或者说不知道怎么安装、怎么使用,大家可以去网络上搜索一下。安装过程非常简单,使用起来仅仅针对于贪吃蛇这个项目而言,只需要引头文件,和使用头文件里面的库函数。与#include 然后使用printf函数没什么区别。需要注意的是,EasyX图形库之...
C/C++实现
贪吃蛇游戏
文章目录前言一、游戏效果展示二、具体项目实现1.游戏欢迎界面 welcome( )2.游戏背景 initGameScreen( )3.方块表示 int block[ ][ ][ ]总结 前言 俄罗斯方块(Tetris, 俄文:Тетрис)是一款电视游戏机和掌上游戏机游戏,它由俄罗斯人阿列克谢·帕基特诺夫发明,故得此名。俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。由于上手简单、老少皆宜,从而家喻户晓,风靡世界。 一、游戏效果展示 二、具体项目实现
c语言
实现greedy snake(贪吃蛇)
include //与绘图文件有关#include //两个都需要#define SNAKE_NUM 500 //宏定义 规定好蛇的最大节数,以防溢出enum DIR //枚举初始化方向UP,DOWN,LEFT,RIGHT,我们在第四行引入的头文件是为了产生一个生成随机数的种子(所以我们引入了该头文件)5函数名称: rand函数原型: int rand(void);函数功能: 产生0到32767间的随机整数(0到0x7fff之间)
模块化组装的课程设计1:
C语言
开发“
贪吃蛇游戏
”之准备工作
对于初学者而言,要把界面、运行、控制等功能模块的东西全部揉到一起,形成一个巨无霸的源文件,这是一个很不好的习惯,还不利于理解模块化、框架化的概念,调试压力也很大,为啥不把各个功能模块分割开呢?#pragma once //后面引用的头如果有重复的,只能算一次,不报错。
C语言
图形编程头文件graphics.h下载与实战应用
通过本章的学习,我们了解了libbgi.a的作用、获取方式及其在不同开发环境中的配置方法,并通过实际代码演示了如何使用 BGI 图形库进行简单的图形绘制。同时,我们还分析了常见链接错误及解决方案,并探讨了 BGI 在现代系统中的兼容性适配策略。在后续章节中,我们将进一步深入 BGI 的图形模式、色彩管理机制,以及如何在现代操作系统中通过虚拟化和模拟器运行 BGI 图形程序。这些知识将帮助开发者在教学、小型项目和历史代码维护中更好地使用 C 语言图形编程。
C语言
70,037
社区成员
243,244
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章