发布时间:2019-07-29 20:12:23
整个程序文件
C#实现窗体的F1赛车V1.0
好久没写过什么代码了,突然觉得该做个什么东西了,于是想做点游戏什么的。第一浮现在我眼前的就是俄罗斯方块了。想到什么就做什么,于是打开VS2010开始了游戏制作之旅。
可是,无语的是,竟然想着做俄罗斯方块,结果做到了赛车去了那就做赛车游戏贝!
先说下里面用到的一些知识点:
1.获取用户按下的键。利用这个我们才能来控制赛车的移动了,这个是基础,当然我不知道如何获取用户按下的是除了字母或数字意外的键,在此请教各位大虾了。
2.计时器的使用。计时器就是每当多久就会执行一个函数方法,重要的属性就是计时的时间了(Interval),两个重要方法当然就是开始计时(Start)和结束计时(Stop)了。
3.动态创建控件。在创建好控件时,界面是不会有显示的,除非你添加进去,所以很重要的一步就是把控件添加到窗体里。操作控件跟拖的类似,只是需要控件的寻找方法(Find)来获取要操作的控件。
4.重启程序。利用这行代码就可以重启程序了。
System.Diagnostics.Process.Start(System.Reflection.Assembly.GetExecutingAssembly().Location);
5.XML文件的操作。我利用XML文件来保存获得最高分的名字和分数,有添加节点、添加元素、修改元素三种操作。
6.文件是否存在的判断。直接使用File.Exist();
7.去绝对值函数。System.Math.Abs()用来判断赛车是否相撞,下面会用到。
当然,很重要的一部分就是逻辑了:
1.赛车是从前方慢慢开过来的,所以动态创建好窗体后利用计时器来不停的改变创建好的窗体的位置,当然前方的车是不直线开过来的,只需改变Y值就行了。
2.赛车是随机出现在前方的,此时只需要是把窗体的X值传入个随机数就行了。
3.判断赛车相撞。若赛车相撞,则是两个窗体有重合部分,此时他们的X/Y值的差是小于窗体的宽高的。
4.得分。我这里设计的得分是根据时间来计算的,未撞车的时间越长,分数越高,各位读者可以根据自己爱好来设计。
5.为了增加难度,我把赛车出现的个数变为越来越多,赛车的速度越来越快,这个是通过改变计时器计时来完成的,当然由于计时不能为0或负数,所以加速是有限度的。
这个不能在这里