- Timestamp:
- 2015-06-26 11:33:13 (8 years ago)
- Location:
- 2015/26/JoonaO
- Files:
-
- 1 deleted
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
2015/26/JoonaO/Autopeli1.cs
r6364 r6449 14 14 Image autonKuva = LoadImage("Auto3"); 15 15 Image taustaKuva = LoadImage("rata"); 16 16 PhysicsObject viiva; 17 DoubleMeter alaspainLaskuri; 18 Timer aikaLaskuri; 19 17 20 public override void Begin() 18 21 { 22 AlkuValikko(); 23 24 } 25 26 void AlkuValikko() 27 { 28 ClearAll(); 29 19 30 SetWindowSize(1000, 800); 20 Level.CreateBorders();31 Surfaces seinat = Level.CreateBorders(); 21 32 Level.Background.Image = taustaKuva; 33 34 MultiSelectWindow alkuValikko = new MultiSelectWindow("MeneeLintassa", 35 "Aloita peli", "Lopeta"); 36 alkuValikko.Color = Color.Red; 37 Add(alkuValikko); 38 alkuValikko.AddItemHandler(0, AloitaPeli); 39 40 alkuValikko.AddItemHandler(1, Exit); 41 42 } 43 44 void LiikutaPelaajaa(Vector vektori) 45 { 46 auto.Push(vektori); 47 } 48 49 void Ajastin() 50 { 51 Timer aikaLaskuri = new Timer(); 52 aikaLaskuri.Start(); 53 54 Label aikaNautto = new Label(); 55 aikaNautto.TextColor = Color.White; 56 aikaNautto.DecimalPlaces = 1; 57 aikaNautto.BindTo(aikaLaskuri.SecondCounter); 58 double aikaaKulunut = aikaLaskuri.SecondCounter.Value; 59 Add(aikaNautto); 60 } 61 62 void KaasutaAutoa() 63 { 64 auto.Accelerate(); 65 } 66 67 void KaannaPelaajaa(Angle kulma) 68 { 69 auto.Turn(kulma, 1.0); 70 } 71 72 void Jarruta() 73 { 74 auto.Brake(); 75 } 76 77 void PelaajaTormasi(PhysicsObject tormaaja, PhysicsObject kohde) 78 { 79 if (kohde != viiva) 80 { 81 MessageDisplay.Add("Vedit seinää päi!"); 82 hyppyAani.Play(); 83 MessageDisplay.Add("Bump!"); 84 } 85 } 86 87 void AloitaPeli() 88 { 89 22 90 auto = new Automobile(50, 38); 23 91 auto.Shape = Shape.Rectangle; 24 92 auto.Mass = 100000000000.0; 25 26 27 93 auto.AngularDamping = 0.9; 28 94 auto.Image = autonKuva; 95 auto.X = -Level.Width / 4; 96 auto.Y += Level.Height / 3 + auto.Height; 29 97 Add(auto); 30 AloitaPeli(); 31 32 33 34 MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", 35 "Aloita peli", "Parhaat pisteet", "Lopeta"); 36 alkuValikko.Color = Color.Red; 37 Add(alkuValikko); 38 alkuValikko.AddItemHandler(0, AloitaPeli); 39 alkuValikko.AddItemHandler(1, ParhaatPisteet); 40 alkuValikko.AddItemHandler(2, Exit); 41 Pause(); 42 98 99 viiva = PhysicsObject.CreateStaticObject(10, auto.Height * 2 + 5); 100 viiva.X = -Level.Width / 4 + auto.Width; 101 viiva.Y += Level.Height / 3 + viiva.Height / 2 - 7; 102 viiva.IgnoresCollisionResponse = true; 103 Add(viiva); 104 105 LuoAikaLaskuri(); 106 107 AddCollisionHandler(auto, viiva, Kaunnistaaika); 108 LuoCheckPoint(); 43 109 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 44 110 ControllerOne.Vibrate(0.5, 0.5, 0.0, 0.0, 0.1); … … 50 116 Keyboard.Listen(Key.P, ButtonState.Pressed, Pause, "Pysäyttää pelin"); 51 117 Mouse.IsCursorVisible = true; 118 52 119 AddCollisionHandler(auto, PelaajaTormasi); 53 } 54 void LiikutaPelaajaa(Vector vektori) 55 { 56 auto.Push(vektori); 57 } 58 void Ajastin() 59 { 60 Timer aikaLaskuri = new Timer(); 61 aikaLaskuri.Start(); 62 63 Label aikaNautto = new Label(); 64 aikaNautto.TextColor = Color.White; 65 aikaNautto.DecimalPlaces = 1; 66 aikaNautto.BindTo(aikaLaskuri.SecondCounter); 67 double aikaaKulunut = aikaLaskuri.SecondCounter.Value; 68 Add(aikaNautto); 69 } 70 void KaasutaAutoa() 71 { 72 auto.Accelerate(); 73 } 74 void KaannaPelaajaa(Angle kulma) 75 { 76 auto.Turn(kulma, 1.0); 77 } 78 void Jarruta() 79 { 80 auto.Brake(); 81 } 82 void PelaajaTormasi(PhysicsObject tormaaja, PhysicsObject kohde) 83 { 84 MessageDisplay.Add("Vedit seinää päi!"); 85 hyppyAani.Play(); 86 } 87 void AloitaPeli() 88 { 89 90 } 120 //AddCollisionHandler(auto, PelaajatTormaavat); 121 } 122 91 123 void ParhaatPisteet() 92 124 { … … 94 126 } 95 127 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 128 void Kaunnistaaika(PhysicsObject auto, PhysicsObject viiva) 129 { 130 if (!aikaLaskuri.Enabled) 131 { 132 alaspainLaskuri.Value = 30; 133 aikaLaskuri.Start(); 134 } 135 else 136 { 137 aikaLaskuri.Stop(); 138 } 139 140 } 115 141 116 142 117 143 144 void LuoAikaLaskuri() 145 { 146 alaspainLaskuri = new DoubleMeter(30); 147 148 aikaLaskuri = new Timer(); 149 aikaLaskuri.Interval = 0.1; 150 aikaLaskuri.Timeout += LaskeAlaspain; 151 //aikaLaskuri.Start(); 152 153 Label aikaNaytto = new Label(); 154 aikaNaytto.TextColor = Color.White; 155 aikaNaytto.DecimalPlaces = 1; 156 aikaNaytto.BindTo(alaspainLaskuri); 157 aikaNaytto.Position -= new Vector(100, 0); 158 aikaNaytto.Color = Color.White; 159 aikaNaytto.TextColor = Color.Black; 160 Add(aikaNaytto); 161 } 162 163 void LaskeAlaspain() 164 { 165 alaspainLaskuri.Value -= 0.1; 166 167 if (alaspainLaskuri.Value <= 0) 168 { 169 MessageDisplay.Add("Aika loppui..."); 170 aikaLaskuri.Stop(); 171 double aikaaKulunut = aikaLaskuri.SecondCounter.Value; 172 //Exit(); 173 Timer.SingleShot(3, AlkuValikko); 174 } 175 } 176 177 178 void PelaajatTormaavat(PhysicsObject tormaaja, PhysicsObject kohde) 179 { 180 MessageDisplay.Add("Bump!"); 181 } 182 183 void LuoCheckPoint() 184 { 185 PhysicsObject viiva = PhysicsObject.CreateStaticObject(10, auto.Height * 2 + 5); 186 viiva.Color = Color.Red; 187 viiva.X = -Level.Width / 4 + auto.Width; 188 viiva.Y += Level.Height / 3 + viiva.Height / 2 - 7; 189 viiva.IgnoresCollisionResponse = true; 190 Add(viiva); 191 } 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 118 209 119 210 }
Note: See TracChangeset
for help on using the changeset viewer.