c语言编出来的游戏程序如何在不关闭界面的情况下重新从头开始运行

c语言编出来的游戏程序如何在不关闭界面的情况下重新从头开始运行,第1张

这明显是没有重新初始化游戏数据造成的,简单的方法就是选择重新开始后从游戏初始化开始调用函数,但这无法释放内存会造成在玩了N盘之后程序崩溃,最佳的方法是将游戏的所有代码做到一个函数里,这个函数返回最后是否选择继续,main里判断这个返回值,如果继续就再次调用游戏函数.

硬件电路上用一个I/O口连接到复位端,然后直接在单片机的中断程序的最后加一个控制该I/O口的电平的指令就好了。或者我百度的其他人的资料:

这不是复位,只是把程序转到地址0去执行,不如用一个JMP更直接。目前可能极少数单片机或者用户已经自行添加Boot load时用户程序的程序开始地址并不为0x0000,所以需要查找这些特定单片机的启动地址。

在keil C51下面可以这样实现:

void soft_reset(void)

{

((void (code *) (void)) 0x0000) ()

}

在需要软件复位的地方使用语句:

soft_reset();

一般可实现软件复位。

可以用死循环实现, 这是很常用的方法!

代码框架如下:

#include <stdio.h>

#include <stdlib.h>

int main()

{

char ch[20] = {0}

int choice = 0

while (1)

{

//...

//Add you coding here

//...

printf("1, continue 2, exit\n")

gets(ch)

choice = atoi(ch)

if (choice <= 0 || choice >=3)

{

printf("Your select error, input again!\n")

}

else if (choice == 1)

{

continue

}

else

{

exit(1)

//or

//break

}

}

return 0

}

当然情况多的话可以用case 语句实现~~~!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8126532.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存