Lumiukko
|
00001 using Jypeli; 00002 00003 /// @author Vesa Lappalainen 00004 /// @version 09.10.2011 00005 /// 00006 /// <summary> 00007 /// Kaksi lumiukkoa aliohjelman avulla 00008 /// </summary> 00009 public class LumiukkoAli : PhysicsGame 00010 { 00011 /// <summary> 00012 /// Pääohjelmassa laitetaan "peli" käyntiin Jypeli-kirjastolle tyypilliseen tapaan 00013 /// </summary> 00014 /// <param name="args">Ei käytössä</param> 00015 public static void Main(string[] args) 00016 { 00017 using (LumiukkoAli peli = new LumiukkoAli()) 00018 { 00019 peli.Run(); 00020 } 00021 } 00022 00023 00024 /// <summary> 00025 /// Aliohjelmassa piirretään ja zoomataan kamera siten, 00026 /// että kenttä näkyy hyvin ruudulla. 00027 /// </summary> 00028 public override void Begin() 00029 { 00030 // Camera.ZoomToLevel(); 00031 Level.BackgroundColor = Color.Black; 00032 00033 PiirraLumiukko(this, 0, Level.Bottom + 200.0); 00034 PiirraLumiukko(this, 200.0, Level.Bottom + 300.0); 00035 Camera.ZoomToAllObjects(100); 00036 // Level.CreateBorders(); 00037 BoundingRectangle rect = Level.FindObjectLimits(); 00038 Camera.ZoomTo(rect); 00039 Level.Width = rect.Width; 00040 Level.Height = rect.Height; 00041 Level.CreateBorders(); 00042 } 00043 00044 00045 /// <summary> 00046 /// Aliohjelma piirtää lumiukon 00047 /// annettuun paikkaan. 00048 /// </summary> 00049 /// <param name="peli">Peli, johon lumiukko tehdään.</param> 00050 /// <param name="x">Lumiukon alimman pallon x-koordinaatti.</param> 00051 /// <param name="y">Lumiukon alimman pallon y-koordinaatti.</param> 00052 public static void PiirraLumiukko(PhysicsGame peli, double x, double y) 00053 { 00054 PhysicsObject p1, p2, p3; 00055 double r1 = 100; 00056 double r2 = 50; 00057 double r3 = 30; 00058 00059 p1 = new PhysicsObject(2 * r1, 2 * r1, Shape.Circle); 00060 p1.X = x; 00061 p1.Y = y; 00062 peli.Add(p1); 00063 00064 p2 = new PhysicsObject(2 * r2, 2 * r2, Shape.Circle); 00065 p2.X = x; 00066 p2.Y = p1.Y + r1 + r2; 00067 peli.Add(p2); 00068 00069 p3 = new PhysicsObject(2 * r3, 2 * r3, Shape.Circle); 00070 p3.X = x; 00071 p3.Y = p2.Y + r2 + r3; 00072 peli.Add(p3); 00073 } 00074 }