所用主要相关技术:
C#语言,C#多线程,C#图形,C#计时器。
思路:
功能块分为,
1.坦克随按键移动。
2.子弹随按键发射。
3.子弹是否击中敌人。
4.计时器
具体开发:
1.有一个界面,有一个方块,有一个计时器,方块的XY坐标,有一个变量a1用来记录移动的方向,a2用来记录移动的时间长度。
具体就是,你按一下w键,方向向上,a1为1,a2等于50,如果按了s,方向向下,a1为2,同样,左边为3,右边为4,计时器隔一段时间,看一下a1的值,如果不为0,就看下他是1234中的哪一个,根据a1的不同,进入不同的小功能块,比如a1等于1 ,那么向上,Y自减1,然后a2自减1,然后把得到的新的Y的值赋给坦克,坦克就向下移动了一个单位,如果a2小于1,a1=0,停止运动。
/************************************************计时器的代码测试*******************************************************/
// 因为C#中只有极少部分代码是直接使用的,多数代码需要引入类的名字才可以使用里面的代码。
// 引入System包,可以使用Console.WriteLine这句代码
using System;
// 引入System.Threading包,可以使Timer类和TimerCallback类
using System.Threading;
// C#需要这个namespace照着写就行,game是namespace的名字,随便取,这行就照抄就行,没有大问题
namespace game
{
// 这是一个大功能块,大功能块的名字叫test
public class test
{
public static void TimerUp(object o){
Console.WriteLine("asdfas");
}
//这是功能块中细化下来的功能块,叫test2
public static void test2(){
// 这句话很长,只有四个东西要记一下,其它照着写就行,
// 分别是TimeUp,3000,1000,500
// TimeUp
new System.Threading.Timer(new TimerCallback(TimerUp), null, 3000, 1000).Change(0,500);
}
static void Main(string[] args)
{
test2();
Console.Read();
}
}
}
测试结果: