enemytanksprite.cs
来自「基于.net FrameWork的windows游戏-坦克大战游戏.用到了多线程」· CS 代码 · 共 88 行
CS
88 行
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.Windows.Forms;
using System.Threading;
public class EnemyTankSprite : SpriteDrawing
{
int formWidth, formHeight;
int enemyTankWidth, enemyTankHeight;
int direction;
int enemyTankX, enemyTankY;
Image[] enemyTankImg;
Form tankGame2008;
Random rand;
static int speed = 2;
public EnemyTankSprite(Image[] enemyTankImg, int enemyTankX, int enemyTankY, Form TankGame2008)
: base(enemyTankImg,enemyTankX,enemyTankY,TankGame2008)
{
this.enemyTankX = enemyTankX;
this.enemyTankY = enemyTankY;
this.enemyTankImg = enemyTankImg;
this.enemyTankWidth = 50;
this.enemyTankHeight = 50;
this.tankGame2008 = TankGame2008;
formWidth = 640;
formHeight = 448;
setVisible(true);
setActive(true);
rand = new Random();
}
public override void updatePos(int SpriteDirection)
{
switch (SpriteDirection)
{
case 0:
enemyTankX = this.getX() - speed;
if (enemyTankX < 0)
{
enemyTankX = 0;
this.direction = 1;
}
break;
case 1:
enemyTankX = this.getX() + speed;
if (enemyTankX > formWidth - enemyTankWidth)
{
enemyTankX = formWidth - enemyTankWidth;
this.direction = 0;
}
break;
case 2:
enemyTankY = this.getY() - speed;
if (enemyTankY < 0)
{
enemyTankY = 0;
this.direction = 3;
}
break;
case 3:
enemyTankY = this.getY() + speed;
if (enemyTankY > formHeight - enemyTankWidth)
{
enemyTankY = formHeight - enemyTankHeight;
this.direction = 2;
}
break;
}
this.setPos(enemyTankX, enemyTankY);
}
public int getTankDirection()
{
return direction;
}
public void setTankDirection(int direction)
{
this.direction = direction;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?