tankthread.cs

来自「基于.net FrameWork的windows游戏-坦克大战游戏.用到了多线程」· CS 代码 · 共 59 行

CS
59
字号
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Windows.Forms;

public class TankThread
{
    Thread tankThread;
    Form TankGame2008;
    PlayerTankSprite playerTank;
    EnemyTankSprite[] enemyTank;
    public TankThread(Form TankGame2008, PlayerTankSprite playerTank, EnemyTankSprite[] enemyTank)
    {
        this.playerTank = playerTank;
        this.enemyTank = enemyTank;
        this.TankGame2008 = TankGame2008;
    }

    public void run()
    {
        
        while (tankThread != null)
        {
            TankGame2008.Invalidate();
            try
            {
                Thread.Sleep(45);
            }
            catch
            {
            }
            if (playerTank.getActive() == true)
            {
                playerTank.updatePos(playerTank.getTankDirection());
            }
            for (int i = 0; i < enemyTank.Length; i++)
            {
                if (enemyTank[i].getActive() == true)
                {
                    enemyTank[i].updatePos(enemyTank[i].getTankDirection());
                }
            }
        }
    }

    public void startRuning()
    {
        tankThread = new Thread(run);
        tankThread.Start();
    }

    public void stopRuning()
    {
        tankThread = null;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?