2019春第二次课程实际实验报告
2019春第二次课程实际实验报告
一:实验项目名称
贪吃蛇游戏工作室
二:实验项目功能描述
编写代码,能够使游戏正常运行,达到基础的编写游戏的功能,在这个游戏中,就是通过贪吃蛇不停的吃,使之能够不停的长大,级为游戏的运行,如果撞到边界 ,则为游戏失败
三:项目模块结构介绍:
if(kbhit()) // 判断是否有输入
{
input = getch(); // 根据用户的不同输入来移动,不必输入回车
if (input == 'a')
{
moveDirection = 3; // 位置左移
moveSnakeByDirection();
}
else if (input == 'd')
{
moveDirection = 4; // 位置右移
moveSnakeByDirection();
}
else if (input == 'w')
{
moveDirection = 1; // 位置上移
moveSnakeByDirection();
}
else if (input == 's')
{
moveDirection = 2; // 位置下移
moveSnakeByDirection();
}
}
这段代码用来实现贪吃蛇的移动,达到控制游戏的效果
for (i=0;i<High;i++)
{
for (j=0;j<Width;j++)
{
if (canvas[i][j]0)
printf(" "); // 输出空格
else if (canvas[i][j]-1)
printf("#"); // 输出边框#
else if (canvas[i][j]1)
printf("@"); // 输出蛇头@
else if (canvas[i][j]>1)
printf(""); // 输出蛇身
else if (canvas[i][j]-2)
printf("F"); // 输出食物F
}
这段代码用来构建基础的游戏要素,
f (canvas[newHead_i][newHead_j]>0 || canvas[newHead_i][newHead_j]==-1)
{
printf("游戏失败!\n");
Sleep(2000);
system("pause");
exit(0);
判断游戏的运行,如果存在撞墙,则输出游戏失败,然后输出选项
四:实现界面展示
五:代码托管连接
https://gitee.com/langziya/fish_pond.git
六:实验总结
这次的代码编写中,我和我的组员们,一直认为代码的编写还是需要个人单独完成,根据别人的代码,每个人有每个人的不同的方法,就小蛇的移动那一段,我觉得没必要要用书上的,主要是我们自己编写的还有一点不正确,不然应该不是那一段代码