⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainform.cs

📁 AI Life (Neural Networks, Genetic Algorithms, Steering Behaviours)
💻 CS
📖 第 1 页 / 共 2 页
字号:
            {
                case CurrentSimulation.SteeringBehaviours:
                    if (sBC != null)
                    {
                        if (e.KeyCode == Keys.Insert)
                            sBC.FirstVehicle.Mass++;
                        if (e.KeyCode == Keys.Delete)
                            sBC.FirstVehicle.Mass--;
                        if (e.KeyCode == Keys.Home)
                            sBC.FirstVehicle.MaxSpeed++;
                        if (e.KeyCode == Keys.End)
                            sBC.FirstVehicle.MaxSpeed--;
                        if (e.KeyCode == Keys.PageUp)
                            sBC.FirstVehicle.MaxForce++;
                        if (e.KeyCode == Keys.PageDown)
                            sBC.FirstVehicle.MaxForce--;
                        if (e.KeyCode == Keys.Q)
                            Vehicle.ArriveRadius++;
                        if (e.KeyCode == Keys.A)
                            Vehicle.ArriveRadius--;
                        if (e.KeyCode == Keys.W)
                            Vehicle.WanderDistance++;
                        if (e.KeyCode == Keys.S)
                            Vehicle.WanderDistance--;
                        if (e.KeyCode == Keys.E)
                            Vehicle.WanderRadius++;
                        if (e.KeyCode == Keys.D)
                            Vehicle.WanderRadius--;
                        if (e.KeyCode == Keys.R)
                            Vehicle.WanderJitter++;
                        if (e.KeyCode == Keys.F)
                            Vehicle.WanderJitter--;
                        if (e.KeyCode == Keys.T)
                            Vehicle.CohesionRadius++;
                        if (e.KeyCode == Keys.G)
                            Vehicle.CohesionRadius--;
                        if (e.KeyCode == Keys.Y)
                            Vehicle.FOV++;
                        if (e.KeyCode == Keys.H)
                            Vehicle.FOV--;
                    }
                    break;
                case CurrentSimulation.EString:
                    break;
                case CurrentSimulation.Ants:
                    if (world != null)
                    {
                        if (e.KeyCode == Keys.Insert)
                            Cosmos.elitismRate += .1f;
                        if (e.KeyCode == Keys.Delete)
                            Cosmos.elitismRate -= .1f;
                        if (e.KeyCode == Keys.Home)
                            Cosmos.mutationRate += .1;
                        if (e.KeyCode == Keys.End)
                            Cosmos.mutationRate -= .1;
                        if (e.KeyCode == Keys.PageUp)
                            Cosmos.foodTolerance += 1;
                        if (e.KeyCode == Keys.PageDown)
                            Cosmos.foodTolerance--;
                        if (e.KeyCode == Keys.Q)
                            Cosmos.maxForce++;
                        if (e.KeyCode == Keys.A)
                            Cosmos.maxForce--;
                        if (e.KeyCode == Keys.W)
                            Cosmos.maxSpeed++;
                        if (e.KeyCode == Keys.S)
                            Cosmos.maxSpeed--;
                    }
                    break;
                default:
                    break;
            }

        }

        private void leaveTrailToolStripMenuItem_Click(object sender, EventArgs e)
        {
            leaveTrail = !leaveTrail;
        }

        private void mirroredToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SBC.mirrored = !SBC.mirrored;
        }

        private void identicalBehaviourToolStripMenuItem_Click(object sender, EventArgs e)
        {
            identicalBehaviour = !identicalBehaviour;
        }

        private void cohesionToolStripMenuItem_Click(object sender, EventArgs e)
        {
            behaviourChanged = true;
            steeringBehaviour = SB.Cohesion;
            if (sBC != null)
                sBC.FirstVehicle.SteeringBehaviour = SB.Cohesion;
        }

        private void alignmentToolStripMenuItem_Click(object sender, EventArgs e)
        {
            behaviourChanged = true;
            steeringBehaviour = SB.Alignment;
            if (sBC != null)
                sBC.FirstVehicle.SteeringBehaviour = SB.Alignment;
        }

        private void cFToolStripMenuItem_Click(object sender, EventArgs e)
        {
            behaviourChanged = true;
            steeringBehaviour = SB.CF;
            if (sBC != null)
                sBC.FirstVehicle.SteeringBehaviour = SB.CF;
        }

        private void initializeToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            if (!drawingSurfaceInitialized)
                InitializeDrawingSurface();
            DestroyAll();
            timer1.Enabled = false;
            oldPoint = new Point(80, 450 - 200);
            newPoint = new Point(80, 450 - 200);
            ClearScreen();
            grafx.Render(Graphics.FromHwnd(mainPanel.Handle));
            leaveTrail = true;
            EString.elitism = float.Parse(textBoxElitismRate.Text);
            EString.maxIteration = uint.Parse(textBoxMaxIteration.Text);
            EString.mutationRate = float.Parse(textBoxMutationRate.Text);
            EString.popSize = int.Parse(textBoxPopulationSize.Text);
            CS = CurrentSimulation.EString;
            listView1.Visible = true;
            eStringRunning = true;
            listView1.Items.Clear();
            Start();

        }

        private void initializeToolStripMenuItem2_Click(object sender, EventArgs e)
        {
            if (!drawingSurfaceInitialized)
                InitializeDrawingSurface();
            DestroyAll();
            listView1.Items.Clear();
            DestroyAll();
            listView1.Visible = true;
            CS = CurrentSimulation.Ants;
            world = new Cosmos(int.Parse(textBoxFood.Text), int.Parse(textBoxNo.Text), mainPanel.ClientSize, g, listView1, mainPanel, grafx);
            world.Step();
        }

        private void fastModeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Cosmos.fastMode = !Cosmos.fastMode;
        }

        private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
        {
            aboutBox = new AboutBox();
            aboutBox.ShowDialog();
        }

        private void mainForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            Cosmos.isRunning = false;
            eStringRunning = false;
        }

        private void showDetailsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Cosmos.showDetails = !Cosmos.showDetails;
        }

        private void destroyAllToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DestroyAll();
        }

        private void separationToolStripMenuItem_Click(object sender, EventArgs e)
        {
            behaviourChanged = true;
            steeringBehaviour = SB.Separation;
            if (sBC != null)
                sBC.FirstVehicle.SteeringBehaviour = SB.Separation;
        }

        private void elitismToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            Cosmos.useElitism = !Cosmos.useElitism;
        }

        private void fCASToolStripMenuItem_Click(object sender, EventArgs e)
        {
            behaviourChanged = true;
            steeringBehaviour = SB.FCAS;
            if (sBC != null)
                sBC.FirstVehicle.SteeringBehaviour = SB.FCAS;
        }

        private void cASToolStripMenuItem_Click(object sender, EventArgs e)
        {
            behaviourChanged = true;
            steeringBehaviour = SB.CAS;
            if (sBC != null)
                sBC.FirstVehicle.SteeringBehaviour = SB.CAS;
        }

        private void fCSToolStripMenuItem_Click(object sender, EventArgs e)
        {
            behaviourChanged = true;
            steeringBehaviour = SB.FCS;
            if (sBC != null)
                sBC.FirstVehicle.SteeringBehaviour = SB.FCS;
        }

        private void cSToolStripMenuItem_Click(object sender, EventArgs e)
        {
            behaviourChanged = true;
            steeringBehaviour = SB.CS;
            if (sBC != null)
                sBC.FirstVehicle.SteeringBehaviour = SB.CS;
        }

        private void cAToolStripMenuItem_Click(object sender, EventArgs e)
        {
            behaviourChanged = true;
            steeringBehaviour = SB.CA;
            if (sBC != null)
                sBC.FirstVehicle.SteeringBehaviour = SB.CA;
        }

        private void weightedSumToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Vehicle.weightedSum = !Vehicle.weightedSum;
        }

        private void landMinesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Cosmos.landMines = !Cosmos.landMines;
        }

        private void identicalVehiclesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            mainForm.identicalVehicles = !mainForm.identicalVehicles;
        }

        private void sigmoidToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Network.tF = TransferFunctions.LogSigmoid;
        }

        private void hardLimitToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Network.tF = TransferFunctions.HardLimit;
        }

        private void saturatingLinearToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Network.tF = TransferFunctions.SaturatingLinear;
        }

        private void positiveLinearToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Network.tF = TransferFunctions.PositiveLinear;
        }

        private void dToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (sBC != null)
                sBC.FirstVehicle.NewPath();
        }

        private void specialPathsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Vehicle.enableSpecialPath = !Vehicle.enableSpecialPath;
        } 
        #endregion
    }
}

⌨️ 快捷键说明

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