private CogitaGameInstance() { Logger.Data("Game Instance Created"); Map = new Map(); for (double x = -50; x <= 50; x++) { for (double z = -50; z <= 50; z++) { var height = ((x * x) + (z * z)) / 256.0; Map.SetBlock((long)x, (long)height, (long)z, BrickTypeEnum.Stone); Map.SetBlock((long)x, (long)height-1, (long)z, BrickTypeEnum.Stone); Map.SetBlock((long)x, (long)32, (long)z, BrickTypeEnum.Oil); } } MapCursor = new MapCursor(Map, 0, 0, 0); Player = new Player(0, 16, 0, 0, 0); }
private static void ProcessKeyPresses(GameWindow w, Player player) { bool isMoving = false; var kstate = OpenTK.Input.Keyboard.GetState(); if (kstate[OpenTK.Input.Key.Q]) { player.Yaw -= 1.25; } if (kstate[OpenTK.Input.Key.Space] && Math.Abs(player.VY) < 0.25 && player.CanJump) { player.VY += 5; player.CanJump = false; } if (kstate[OpenTK.Input.Key.E]) { player.Yaw += 1.25; } if (kstate[OpenTK.Input.Key.D]) { player.Move(player.Yaw, 9); isMoving = true; } if (kstate[OpenTK.Input.Key.A]) { player.Move(player.Yaw + 180, 4); isMoving = true; } if (kstate[OpenTK.Input.Key.S]) { player.Move(player.Yaw + 90, 4); isMoving = true; } if (kstate[OpenTK.Input.Key.W]) { player.Move(player.Yaw - 90, 9); isMoving = true; } if (isMoving) player.Y += 0.025; }