luento16esimerkkeja
 All Classes Files Functions Variables Properties
HangryDog.cs
Go to the documentation of this file.
1 using System;
2 using System.Collections.Generic;
3 using Jypeli;
4 using Jypeli.Assets;
5 using Jypeli.Controls;
6 using Jypeli.Effects;
7 using Jypeli.Widgets;
8 
9 /// @author Vesa Lappalainen, kuvat ja äänet: Panu Lappalainen
10 /// @version 24.10.2014
11 /// <summary>
12 /// Esimerkki luokista ja perinnästä
13 /// </summary>
14 public class HangryDog : PhysicsGame
15 {
16  public override void Begin()
17  {
18  Koira koira = new Koira(this,200, Vector.Zero,"Musti");
19  LuoOhjaimet(koira, 100, Key.Up, Key.Down, Key.Left, Key.Right);
20 
21  Kissa kissa = new Kissa(this,200, new Vector(100,200),"Mirri");
22  LuoOhjaimet(kissa, 100, Key.W, Key.Z, Key.A, Key.S);
23 
24  Timer timer = new Timer();
25  timer.Interval = 0.500;
26  timer.Timeout +=LuoRuokaa;
27  timer.Start();
28 
29  Level.CreateBorders();
30 
31 
32  PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
33  Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
34  Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Avustus");
35 
36  Camera.ZoomToLevel();
37  LoadImage("");
38  }
39 
40 
41  void LuoOhjaimet(Elain elain, double voima, Key up, Key down, Key left, Key right)
42  {
43  Keyboard.Listen(up, ButtonState.Down, elain.Liiku, elain.Nimi + " up", new Vector(0, voima));
44  Keyboard.Listen(down, ButtonState.Down, elain.Liiku, elain.Nimi + " down", new Vector(0, -voima));
45  Keyboard.Listen(left, ButtonState.Down, elain.Liiku, elain.Nimi + " left", new Vector(-voima, 0));
46  Keyboard.Listen(right, ButtonState.Down, elain.Liiku, elain.Nimi + " right", new Vector(voima, 0));
47  }
48 
49 
50  void LuoRuokaa()
51  {
52  // var luu = new Luu(this, 50, 20, RandomGen.NextVector(Level.BoundingRect));
53  var juusto = new Juusto(this, 50, RandomGen.NextVector(Level.BoundingRect));
54  var hiiri = new Hiiri(this, 70, RandomGen.NextVector(Level.BoundingRect),juusto);
55  }
56 }