private void ProcessKeyboardInput(GameTime gameTime, Bot bot) { KeyboardState state = Keyboard.GetState(); if (state.IsKeyDown(Keys.Right) & !PrevState.IsKeyDown(Keys.Right)) { FocusID += 1; UpgradeFocus = false; } if (state.IsKeyDown(Keys.Left) & !PrevState.IsKeyDown(Keys.Left)) { FocusID -= 1; UpgradeFocus = false; } if (state.IsKeyDown(Keys.Down) & !PrevState.IsKeyDown(Keys.Down)) { UpgradeFocus = !UpgradeFocus; } if (state.IsKeyDown(Keys.Up) & !PrevState.IsKeyDown(Keys.Up)) { UpgradeFocus = !UpgradeFocus; } if (FocusID < 0) { FocusID = NumberOfButtons - 1; } else if (FocusID >= NumberOfButtons) { FocusID = 0; } if (state.IsKeyDown(Keys.Enter) & !PrevState.IsKeyDown(Keys.Enter)) { bot.IsStarted = true; if (!UpgradeFocus) { switch ((ButtonID)FocusID) { case ButtonID.explosiveForceButton: { Player1.AddForces(new ExplosiveForce(gameTime), Player2, gameTime); break; } case ButtonID.rifleForceButton: { Player1.AddForces(new RifleForce(gameTime), Player2, gameTime); break; } case ButtonID.rocketForceButton: { Player1.AddForces(new RocketForce(gameTime), Player2, gameTime); break; } case ButtonID.droneCarrierForceButton: { Player1.AddForces(new DroneCarrierForce(gameTime), Player2, gameTime); break; } case ButtonID.cannonForceButton: { Player1.AddForces(new CannonForce(gameTime), Player2, gameTime); break; } default: break; } } else { LearnInputOutput learning = new LearnInputOutput(Player2.ListOfForces, Player1.ListOfForces, Player1.Upgrades, Player1.Cash, (int)((int)((ForcesType)FocusID) + 6)); Data.WriteToFile(learning); Player1.DidSomething(gameTime); Player1.Upgrade((ForcesType)FocusID); } } //TEMP ADDING ENEMY /* * if (state.IsKeyDown(Keys.NumPad1) & !PrevState.IsKeyDown(Keys.NumPad1)) * { * Player2.AddForces(new ExplosiveForce(gameTime), Player1, gameTime); * } * if (state.IsKeyDown(Keys.NumPad2) & !PrevState.IsKeyDown(Keys.NumPad2)) * { * Player2.AddForces(new RifleForce(gameTime), Player1, gameTime); * } * if (state.IsKeyDown(Keys.NumPad3) & !PrevState.IsKeyDown(Keys.NumPad3)) * { * Player2.AddForces(new RocketForce(gameTime), Player1, gameTime); * } * if (state.IsKeyDown(Keys.NumPad4) & !PrevState.IsKeyDown(Keys.NumPad4)) * { * Player2.AddForces(new DroneCarrierForce(gameTime), Player1, gameTime); * } * if (state.IsKeyDown(Keys.NumPad5) & !PrevState.IsKeyDown(Keys.NumPad5)) * { * * Player2.AddForces(new CannonForce(gameTime), Player1, gameTime); * } * //TEMP UPGRADING ENEMY * if (state.IsKeyDown(Keys.NumPad0) & !PrevState.IsKeyDown(Keys.NumPad0)) * { * Player2.Upgrade((ForcesType)0); * } * if (state.IsKeyDown(Keys.NumPad6) & !PrevState.IsKeyDown(Keys.NumPad6)) * { * Player2.Upgrade((ForcesType)1); * } * if (state.IsKeyDown(Keys.NumPad7) & !PrevState.IsKeyDown(Keys.NumPad7)) * { * Player2.Upgrade((ForcesType)2); * } * if (state.IsKeyDown(Keys.NumPad8) & !PrevState.IsKeyDown(Keys.NumPad8)) * { * Player2.Upgrade((ForcesType)3); * } * if (state.IsKeyDown(Keys.NumPad9) & !PrevState.IsKeyDown(Keys.NumPad9)) * { * Player2.Upgrade((ForcesType)4); * } * //testing engine * if (state.IsKeyDown(Keys.Space) & !PrevState.IsKeyDown(Keys.Space)) * { * //GameEventEngine.Add(new GameEventDelayed(() => { tmpColor = Color.Red; },1.0f)); * //GameEventEngine.Add(new GameEventDelayed(() => { tmpColor = Color.Green; }, 2.0f)); * //GameEventEngine.Add(new GameEventDelayed(() => { tmpColor = Color.Black; }, 3.0f)); * //GameEventEngine.Add(new GameEventCyclic(() => { tmpColor = Color.Red; }, 2, 5)); * } */ PrevState = state; }