2019春第一次课程设计实验报告

一、实验项目名称

反弹小球消砖块。

二、实验项目功能描述

1.在一个长方形框内,框的顶部中间有0(小球)和B(砖块),底部有由11个#组成的挡板;
2.程序启动则小球在框内弹动,如果在底部碰到挡板则弹回,反弹小球数加1,在顶部如果小球与砖块位置重合则消去砖块数加1,随机产生新砖块;
3.通过英文状态下输入a控制挡板向左移动一个位置,输入d控制挡板向右移动一个位置;
4.如果小球弹到框的底部没有被挡板挡住,则显示“游戏失败”,游戏结束。

三、项目模块结构介绍

1.源程序由4个预编译命令和一个主函数组成,其中主函数调用了4个函数,分别是startup()show()updataWithoutInput()updataWithInput()
2.其中函数show()中又使用了gotoxy函数(在windows.h中),函数updataWithoutInput()中用了sleep函数(在windows.h中),函数updataWithInput()中用了getch函数(在conio.h中)。

四、实现界面展示

挡板一开始是用*组成的,后来我改成了用#

五、代码托管链接

代码看这里

贡献截图

六、实验总结

问题

1.编译器有不同,显示sleep函数未定义;

解决办法:将s改为S
2.运行时输入a或d控制挡板移动,每输入一次都要按enter键才会移动;
解决办法:输入前将输入法换为英文输入状态。

感想

这是我第一次接触游戏设计,对于游戏设计是完全陌生的,所以这个游戏可以说是完全没有我自己的想法的,但是即使完全照书上写,也并不是完全没问题,在编译的时候会报错,大部分是因为编译器的不同而产生,之后再去网上找解决办法,另外还见到很多没见过的函数,又一一去网上查它们的功能。写完整个游戏后感觉对一个游戏的设计真的要细究到每一个步骤,每一个变化,这是在课堂上不会教的内容。

原文地址:https://www.cnblogs.com/LeeMayZ/p/10959991.html