public override void Draw(Graphics g) { switch (this.Type) { case 0: for (int i = 0; i < imgs1.Length; i++) { g.DrawImage(imgs1[i], this.X, this.Y); } break; case 1: for (int i = 0; i < imgs2.Length; i++) { g.DrawImage(imgs2[i], this.X, this.Y); } break; case 2: for (int i = 0; i < imgs3.Length; i++) { g.DrawImage(imgs3[i], this.X, this.Y); } break; } SingleObject.GetSingle().RemoveGameObject(this); }
public override void MoveBorder() { if (this.Y <= 0 || this.Y >= 812) { //将子弹对象移除 SingleObject.GetSingle().RemoveGameObject(this); } }
public static SingleObject GetSingle() { if (_single == null) { _single = new SingleObject(); } return(_single); }
public override void Draw(Graphics g) { for (int i = 0; i < heroImage.Length; i++) { g.DrawImage(heroImage[i], this.X, this.Y); SingleObject.GetSingle().RemoveGameObject(this); } }
public void InitialGame() { //初始化游戏背景 SingleObject.GetSingle().AddGameObject(new Background(0, -850, 20)); //初始化游戏玩家 SingleObject.GetSingle().AddGameObject(new HeroPlane(200, 200, 20, 1, Direction.Up)); //初始化敌人飞机 InitialEnemyPlane(); }
public override void IsOver() { if (this.Lift == 0) { //爆炸效果 SingleObject.GetSingle().AddGameObject(new EnemyBoom(this.X, this.Y, this.EnemyType)); //移除敌人飞机 SingleObject.GetSingle().RemoveGameObject(this); } }
private void timer1_Tick(object sender, EventArgs e) { this.Invalidate(); //不停地判断当前飞机的数量 if (SingleObject.GetSingle().listEnemyPlane.Count <= 1) { InitialEnemyPlane(); } SingleObject.GetSingle().PZJC(); }
/// <summary> /// 初始化敌人飞机 /// </summary> private void InitialEnemyPlane() { for (int i = 0; i < 4; i++) { SingleObject.GetSingle().AddGameObject(new EnemyPlane(r.Next(0, this.Width), -100, r.Next(0, 2))); } //给百分之10的机率 if (r.Next(0, 101) > 90) { SingleObject.GetSingle().AddGameObject(new EnemyPlane(r.Next(0, this.Width), -100, 2)); } }
private void timer2_Tick(object sender, EventArgs e) { if (IsStar) { PlayTime++;//如果开始游戏,则开始计时 if (PlayTime == 20) { IsStar = false;//到达时间则停止游戏 //将结果发送给服务器 //把分数转换成字节数组发送给客户端 byte[] buffer = Encoding.Default.GetBytes(SingleObject.GetSingle().Score.ToString()); socket.Send(buffer); } } }
bool IsPaintResult = false; //是否绘制结果字符串 private void Form1_Paint(object sender, PaintEventArgs e) { SingleObject.GetSingle().BG.Draw(e.Graphics); if (IsStar) { SingleObject.GetSingle().DrawGameObject(e.Graphics); } //绘制各种游戏对象 //背景的 玩家飞机的 敌人飞机 子弹的 string s = SingleObject.GetSingle().Score.ToString(); //绘制游戏的分数 e.Graphics.DrawString(s, new Font("微软雅黑", 20, FontStyle.Bold), Brushes.Red, new Point(0, 0)); if (IsPaintResult) { e.Graphics.DrawString(result, new Font("宋体", 20, FontStyle.Bold), Brushes.Red, new Point(0, 200)); } }
public override void MoveBorder() { if (this.Y >= 812) { //将敌人飞机销毁 SingleObject.GetSingle().RemoveGameObject(this); } //小飞机的坐标>200后 if (this.EnemyType == 0 && this.Y >= 200) { //表示小飞机在左边 if (this.X >= 0 && this.X <= 240) { this.X += r.Next(0, 200); } else { this.X -= r.Next(0, 50); } } }
public override void IsOver() { //玩家死亡 SingleObject.GetSingle().AddGameObject(new HeroBoom(this.X, this.Y)); }
public override void Fire() { //玩家发射子弹 SingleObject.GetSingle().AddGameObject(new HeroZiDan(this, 20, 1)); }
public override void Fire() { //敌人发射子弹 SingleObject.GetSingle().AddGameObject(new EnempyZiDan(this, this.EnemyType)); }
private void Form1_MouseMove(object sender, MouseEventArgs e) { //将鼠标的坐标赋值给玩家坐标 SingleObject.GetSingle().HP.MoveWithMouse(e); }
private void Form1_MouseClick(object sender, MouseEventArgs e) { SingleObject.GetSingle().HP.MouseDownLeft(e); }