c#的第二个训练《飞机大战》
按照习惯,话不多说,先来一张实际运行图
此训练分为客户端和服务端两个部分,使用TCP协议进行通讯
客户端的特点是搞了一个单一类,用此单一类把所有游戏对象封装起来跟外部操作进行联接。
客户端winform窗体代码如下:
namespace 打飞机
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
InitialGame();
Control.CheckForIllegalCrossThreadCalls = false;
}
private void InitialGame()
{
SingleObject.GetSingle().AddGameObject(new Background(0, -850,10, FangXiang.down));
SingleObject.GetSingle().AddGameObject(new HeroPlane(200, 200, 20, 10, FangXiang.up));
}
Random r = new Random();
private void AddEnemyP()
{
for (int i = 0; i < 3; i++)
{
SingleObject.GetSingle().AddGameObject(new EnemyPlane(r.Next(0, 450), -100, r.Next(1, 4), 10, 1, FangXiang.down));
}
}
bool Isstart = false;
int PlayTimer = 0;
string resultstr = "";
bool IsDrawResultTime = false;
private void Form1_Paint(object sender, PaintEventArgs e)
{
SingleObject.GetSingle().BG.Draw(e.Graphics);
string StrScore = SingleObject.GetSingle().Score.ToString();
e.Graphics.DrawString(StrScore,