本文整理汇总了C#中Game.Update方法的典型用法代码示例。如果您正苦于以下问题:C# Game.Update方法的具体用法?C# Game.Update怎么用?C# Game.Update使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Game
的用法示例。
在下文中一共展示了Game.Update方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
static void Main(string[] args)
{
Game g1 = new Game();
Game g2 = new Game();
Game g3 = new Game();
Game g4 = new Game();
g1.InitGrid(TestData.StillLife.Pond.Cells);
g2.InitGrid(TestData.Oscillator.Blinker.Cells1);
g3.InitGrid(TestData.Spaceship.Glider.Cells);
g4.InitGrid(TestData.Spaceship.HammerHead.RCells);
while (true)
{
Console.Clear();
//g1.Render();
//g2.Render();
//g3.Render();
g4.Render();
System.Threading.Thread.Sleep(500);
//g1.Update();
//g2.Update();
//g3.Update();
g4.Update();
}
}
示例2: Main
static void Main(string[] args)
{
while (true)
{
Game game = new Game();
//initialize
game.ShowUI();
GameState state = GameState.InProcess;
while (state == GameState.InProcess)
{
state = game.Update(Console.ReadLine());
}
if (state == GameState.Won)
Console.WriteLine("YOU WON!");
else
{
Console.WriteLine("YOU LOST! The word was '"+game.word+"'");
}
if (!WantToPlayAgain())
break;
}
}
示例3: Main
public static void Main()
{
Game Wumpus = new Game(1366, 768, 60, "Hunt the Wumpus"); //Create a new Game
GameStateManager.CurrentState = new MainMenu(); //Starting the actual game up :D
while(!Game.Quit) //The game loop!
{
Wumpus.Update(); //Update the game
}
Wumpus.Dispose(); //Denitialize everything when the program ends
}
示例4: Test
public void Test()
{
var game = new Game();
while (true)
{
game.Update();
game.Draw();
Thread.Sleep(1000);
}
}
示例5: Form1
public Form1()
{
InitializeComponent();
Surface surface = Video.SetVideoMode(500, 700, 32, false, false, false, true);
Game jogo = new Game();
List<Box> Boxes = new List<Box>();
SdlDotNet.Core.Events.Quit += new EventHandler<QuitEventArgs>(delegate(object sender, QuitEventArgs args)
{
SdlDotNet.Core.Events.QuitApplication();
});
SdlDotNet.Core.Events.Fps = 15;
SdlDotNet.Core.Events.Tick += new EventHandler<TickEventArgs>(delegate(object sender, TickEventArgs args)
{
Peca p = jogo.Tabuleiro.PecaAtual;
if (Keyboard.IsKeyPressed(Key.DownArrow))
p.descerUmNivel();
else if (Keyboard.IsKeyPressed(Key.LeftArrow))
p.moverParaEsquerda();
else if (Keyboard.IsKeyPressed(Key.RightArrow))
p.moverParaDireita();
else if (Keyboard.IsKeyPressed(Key.KeypadEnter) || Keyboard.IsKeyPressed(Key.Return))
p.Rotate();
surface.Fill(Color.Black);
//Imprime a peça atual
foreach (Box item in p.Piece)
item.Draw(surface, p.Cor, true, true);
//Imprime as peças do jogo
foreach (Box item in jogo.GamePieces)
item.Draw(surface, Color.Gray, true, true);
p.Update();
jogo.Update();
surface.Update();
});
SdlDotNet.Core.Events.Run();
}
示例6: OnReadOnlyMainThread
// Should use ReadWrite to be correct but that would be too slow
public override void OnReadOnlyMainThread(Game game, float dt)
{
game.Update(dt);
}
示例7: LaunchMissileTowardTarget
public void LaunchMissileTowardTarget()
{
var game = new Game();
var system = new StarSystem();
game.Add(system);
var enemy = new Ship();
system.AddEntity(enemy);
var attacker = new Ship() { Tubes = 3 };
system.AddEntity(attacker);
game.Update(TimeSpan.FromSeconds(0.25));
attacker.LoadProjectile(0, ProjectileType.Torpedo);
enemy.ImpulsePercentage = 100;
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
Assert.AreNotEqual(0, enemy.Position.X, "The enemy should have moved along the x axis");
Assert.AreEqual(0, attacker.Position.X, "the attacker was not at the center");
var missile = attacker.LaunchProjectile(0, enemy);
Assert.AreEqual(0, missile.Position.X, "the missile was not at the center");
var oldDiff = enemy.Position.X - missile.Position.X;
missile.Update(TimeSpan.FromSeconds(0.25));
var newDiff = enemy.Position.X - missile.Position.X;
Assert.IsTrue(newDiff < oldDiff, "The missile didn't get closer to the ship");
}
示例8: RunOutOfEnergy
public void RunOutOfEnergy()
{
var game = new Game();
var system = new StarSystem();
system.RandomlySpawnEnemies = false;
game.Add(system);
var ship = new Ship();
system.AddEntity(ship);
ship.ImpulsePercentage = 100;
Assert.IsTrue(ship.Energy > 0, "Ship didn't have any energy");
var oldVelocity = ship.Velocity;
Assert.AreEqual(0, ship.Velocity.Magnitude(), "Ship should be at rest at first");
for (int i = 0; i < 200; i++)
{
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
Assert.IsTrue(oldVelocity.Magnitude() < ship.Velocity.Magnitude(), "The ship didn't increase in speed");
oldVelocity = ship.Velocity;
}
Assert.AreEqual(0, ship.Energy, "The ship didn't run out of energy");
game.Update(TimeSpan.FromSeconds(1));
Assert.AreEqual(oldVelocity, ship.Velocity, "The ship should not have been able to increase it's velocity without energy.");
game.Update(TimeSpan.FromSeconds(100000)); // get that ship very far away, so the missile won't detonate
var missile = new Projectile();
system.AddEntity(missile);
missile.Target = ship;
oldVelocity = missile.Velocity;
Assert.AreEqual(0, missile.Velocity.Magnitude(), "Missile should be at rest at first.");
for (int i = 0; i < 20; i++)
{
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
Assert.IsFalse(missile.IsDestroyed, "the missile got destroyed.");
Assert.IsTrue(oldVelocity.Magnitude() < missile.Velocity.Magnitude(), "The missile didn't increase in speed");
oldVelocity = missile.Velocity;
}
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
Assert.IsFalse(missile.IsDestroyed, "the missile didn't get destroyed.");
oldVelocity = missile.Velocity;
game.Update(TimeSpan.FromSeconds(0.25));
Assert.AreEqual(oldVelocity.Magnitude(), missile.Velocity.Magnitude(), "The missile didn't run out of energy after over 20 seconds");
}
示例9: LoadProjectileLaunchWithoutWaitingAfterLoading
public void LoadProjectileLaunchWithoutWaitingAfterLoading()
{
var game = new Game();
var system = new StarSystem();
system.RandomlySpawnEnemies = false;
game.Add(system);
var ship = new Ship() { Tubes = 3 };
system.AddEntity(ship);
game.Update(TimeSpan.FromSeconds(0.25));
ship.LoadProjectile(0, ProjectileType.Torpedo);
var projectile = ship.LaunchProjectile(0, ship);
Assert.IsNull(projectile, "The projectile shouldn't have been launched if there hasn't been enough time to load it.");
}
示例10: DestroyShip
public void DestroyShip()
{
var game = new Game();
var system = new StarSystem();
system.RandomlySpawnEnemies = false;
game.Add(system);
var ship = new Ship();
system.AddEntity(ship);
ship.ImpulsePercentage = 100;
Assert.IsTrue(ship.Energy > 0, "Ship didn't have any energy");
var oldVelocity = ship.Velocity;
Assert.AreEqual(0, ship.Velocity.Magnitude(), "Ship should be at rest at first");
for (int i = 0; i < 20; i++)
{
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
Assert.IsTrue(oldVelocity.Magnitude() < ship.Velocity.Magnitude(), "The ship didn't increase in speed");
oldVelocity = ship.Velocity;
}
var missile = new Projectile();
system.AddEntity(missile);
missile.Target = ship;
oldVelocity = missile.Velocity;
Assert.AreEqual(0, missile.Velocity.Magnitude(), "Missile should be at rest at first.");
for (int i = 0; i < 9; i++)
{
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
Assert.IsFalse(missile.IsDestroyed, "the missile got destroyed.");
Assert.IsTrue(oldVelocity.Magnitude() < missile.Velocity.Magnitude(), "The missile didn't increase in speed");
oldVelocity = missile.Velocity;
}
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
game.Update(TimeSpan.FromSeconds(0.25));
Assert.IsTrue(missile.IsDestroyed, "the missile didn't get destroyed.");
oldVelocity = missile.Velocity;
game.Update(TimeSpan.FromSeconds(0.25));
Assert.AreEqual(oldVelocity.Magnitude(), missile.Velocity.Magnitude(), "The (dead) missile didn't increase in speed");
}
示例11: LoadProjectileLaunchWithoutLoading
public void LoadProjectileLaunchWithoutLoading()
{
var game = new Game();
var system = new StarSystem();
system.RandomlySpawnEnemies = false;
game.Add(system);
var ship = new Ship() { Tubes = 3 };
system.AddEntity(ship);
game.Update(TimeSpan.FromSeconds(0.25));
var projectile = ship.LaunchProjectile(0, ship);
Assert.IsNull(projectile, "The projectile shouldn't have been launched if it hadn't been loaded.");
}
示例12: LoadProjectileDoubleLoad
public void LoadProjectileDoubleLoad()
{
var game = new Game();
var system = new StarSystem();
system.RandomlySpawnEnemies = false;
game.Add(system);
var ship = new Ship() { Tubes = 3 };
system.AddEntity(ship);
game.Update(TimeSpan.FromSeconds(0.25));
var loaded = ship.LoadProjectile(0, ProjectileType.Torpedo);
Assert.IsTrue(loaded, "Couldn't load the first projectile");
loaded = ship.LoadProjectile(0, ProjectileType.Torpedo);
Assert.IsFalse(loaded, "Somehow Loaded a second projectile.");
}
示例13: Main
static void Main(String[] args)
{
var game = new Game();
game.Init();
while (true) {
game.Update();
game.Play();
foreach (var drone in game.MyPlayer.Drones)
{
Console.WriteLine(String.Format("{0} {1}", drone.TargetX, drone.TargetY));
}
}
}