- Timestamp:
- 2010-06-15 11:25:39 (13 years ago)
- Location:
- 2010/24/Vilvaini
- Files:
-
- 22 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/24/Vilvaini/Pongi/Peli.cs
r824 r835 8 8 Vector nopeusAlas = new Vector(0, -400); 9 9 10 PhysicsObject pallo; 10 PhysicsObject pallo1; 11 PhysicsObject pallo2; 11 12 PhysicsObject maila1; 12 13 PhysicsObject maila2; … … 17 18 IntMeter pelaajan1Pisteet; 18 19 IntMeter pelaajan2Pisteet; 20 Timer aikaLaskuri; // laskee aikaa 21 ValueDisplay aikaNaytto; // näyttää ajan 19 22 23 private void aikaLoppui(Timer sender) 24 { 25 Level.BackgroundColor = RandomGen.NextColor(); 26 pallo1.Color = RandomGen.NextColor(); 27 pallo2.Color = RandomGen.NextColor(); 28 maila1.Color = RandomGen.NextColor(); 29 maila2.Color = RandomGen.NextColor(); 30 aikaLaskuri.Interval = 0.1; // nollataan aikalaskuri oletusarvoonsa, joka oli 0. 31 } 20 32 protected override void Begin() 21 33 { … … 24 36 LisaaLaskurit(); 25 37 AloitaPeli(); 38 aikaLaskuri = new Timer(); // luodaan uusi ajastin, nimeltä aikaLaskuri 39 aikaLaskuri.Interval = 0.1; // ajastukseksi 5 sekuntia 40 aikaLaskuri.Trigger += new Timer.TriggerHandler(aikaLoppui); // // asetetaan tapahtuma, kun aikaLaskuri kun 5 sekuntia on kulunut. 41 Add(aikaLaskuri); // lisätään aikaLaskuri peliin 42 aikaLaskuri.Start(); // käynnistetään aikaLaskuri 43 44 aikaNaytto = new ValueDisplay(); // luo uuden aikaNayton 45 aikaNaytto.Text = "Aikaa jäljellä: "; // laitetaan näytöllä näkyvä teksti 46 aikaNaytto.TextColor = Color.Red; // vaihdetaan tekstin väriä 47 aikaNaytto.FormatDouble(0, true); // asetetaan näyttämään aika siten, ettei siinä näy yhtään (0) desimaalia 48 aikaNaytto.ValueColor = Color.Red; 49 aikaNaytto.BindTo(aikaLaskuri.SecondCounter); // liitetään aikaNaytto aikaLaskuriin 50 26 51 } 27 52 28 53 void LuoKentta() 29 54 { 30 pallo = new PhysicsObject(40.0, 40.0);31 pallo.CanRotate = false;32 pallo.Shape = Shapes.Circle;33 pallo.X = -200.0;34 pallo.Y = 0.0;35 55 36 pallo.Restitution = 1.0; 37 Add(pallo); 38 AddCollisionHandler(pallo, KasittelePallonTormays); 56 pallo1 = LuoPallo(Level.Left + 20.0, 0.0); 57 pallo2 = LuoPallo(Level.Right - 20.0, 0.0); 58 59 39 60 40 61 maila1 = LuoMaila(Level.Left + 20.0, 0.0); … … 42 63 43 64 vasenReuna = Level.CreateLeftBorder(); 44 vasenReuna.Restitution = 1.0;65 vasenReuna.Restitution = 0.8; 45 66 vasenReuna.IsVisible = false; 46 67 oikeaReuna = Level.CreateRightBorder(); 47 oikeaReuna.Restitution = 1.0;68 oikeaReuna.Restitution = 0.8; 48 69 oikeaReuna.IsVisible = false; 49 70 PhysicsObject ylaReuna = Level.CreateTopBorder(); 50 ylaReuna.Restitution = 1. 0;71 ylaReuna.Restitution = 1.1; 51 72 ylaReuna.IsVisible = false; 52 73 PhysicsObject alaReuna = Level.CreateBottomBorder(); 53 alaReuna.Restitution = 1. 0;74 alaReuna.Restitution = 1.1; 54 75 alaReuna.IsVisible = false; 55 76 … … 68 89 Add(maila); 69 90 return maila; 91 } 92 93 PhysicsObject LuoPallo(double x, double y) 94 { 95 PhysicsObject pallo = new PhysicsObject(50.0, 50.0); 96 pallo.Shape = Shapes.Circle; 97 pallo.X = x; 98 pallo.Y = y; 99 pallo.Restitution = 1.0; 100 Add(pallo); 101 return pallo; 70 102 } 71 103 … … 89 121 } 90 122 91 void KasittelePallonTormays(PhysicsObject pallo , PhysicsObject kohde)123 void KasittelePallonTormays(PhysicsObject pallo1, PhysicsObject kohde) 92 124 { 93 125 if (kohde == oikeaReuna) … … 104 136 { 105 137 Vector impulssi = new Vector(500.0, 0.0); 106 pallo.Hit(impulssi); 138 pallo1.Hit(impulssi); 139 Vector impulsi = new Vector(500.0, 0.0); 140 pallo2.Hit(impulsi); 107 141 } 108 142 … … 138 172 void AsetaNopeus(PhysicsObject maila, Vector nopeus) 139 173 { 140 if ((nopeus.Y < 0) && (maila. Y< Level.Bottom))174 if ((nopeus.Y < 0) && (maila.Bottom < Level.Bottom)) 141 175 { 142 176 maila.Velocity = Vector.Zero; 143 177 return; 144 178 } 145 if ((nopeus.Y > 0) && (maila. Y> Level.Top))179 if ((nopeus.Y > 0) && (maila.Top > Level.Top)) 146 180 { 147 181 maila.Velocity = Vector.Zero;
Note: See TracChangeset
for help on using the changeset viewer.