Changeset 1433 for 2010/30/lijiolva/Teh Bus Game/Peli.cs
- Timestamp:
- 2010-07-30 11:34:30 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/30/lijiolva/Teh Bus Game/Peli.cs
r1409 r1433 14 14 int minuutti = 0; 15 15 int tunti = 0; 16 int id = 0; 17 16 int id = 0; 17 int talojenlukumäärä = 0; 18 PhysicsObject[] talotaulukko = new PhysicsObject[100]; 19 Dictionary<PhysicsObject, int> ihmisiaPysakilla = new Dictionary<PhysicsObject,int>(); 20 int matkustajat = 0; 18 21 bool onkoPisteAlla; 19 22 … … 27 30 LuoBussi("Doublebus", 0, 0); 28 31 AsetaOhjaimet(); 29 IsFullScreen = true;32 //IsFullScreen = true; 30 33 Timer ajastin = new Timer(); 31 34 ajastin.Interval = 5; 32 35 ajastin.Trigger += paivitaKello; 33 36 ajastin.Start(); 34 37 LuoTalo(); 38 LuoTalo(); 39 LuoTalo(); 40 LuoTalo(); 41 LuoTalo(); 42 LuoTalo(); 43 LuoTalo(); 44 LuoTalo(); 45 LuoTalo(); 46 LuoTalo(); 47 LuoTalo(); 48 LuoTalo(); 49 LuoTalo(); 50 LuoTalo(); 51 LuoTalo(); 52 LuoTalo(); 53 LuoTalo(); 35 54 Label kello = new Label(); 36 55 kello.Text = tunti.ToString() + ":" + minuutti.ToString(); … … 41 60 42 61 ajastin.Tag = kello; 43 44 62 45 } 46 63 ihmisiaPysakilla = new Dictionary<PhysicsObject, int>(); 64 LuoLaatikko(); 65 66 } 67 void LuoTalo() 68 { 69 PhysicsObject talo = new PhysicsObject(40.0, 40.0); 70 talo.Position = RandomGen.NextVector(Level.Right, Level.Bottom, Level.Left, Level.Top); 71 talo.Tag = "talo"; 72 talo.Color = Color.Yellow; 73 talotaulukko[talojenlukumäärä] = talo; 74 talojenlukumäärä++; 75 Add(talo); 76 } 47 77 void AsetaOhjaimet() 48 78 { … … 129 159 if (tyyppi == "Doublebus") kapasiteetti = 80; 130 160 Add(bussi); 161 AddCollisionHandler(bussi, kasittele); 131 162 } 132 163 void paivitaKello(Timer ajastin) … … 146 177 kello.Text = tunti.ToString() + ":" + minuutti.ToString(); 147 178 } 179 180 void LuoLaatikko() 181 { 182 PhysicsObject laatikko = new PhysicsObject(40.0, 40.0); 183 laatikko.Position = RandomGen.NextVector(Level.Right, Level.Bottom, Level.Left, Level.Top); 184 laatikko.Tag = "laatikko"; 185 laatikko.IgnoresCollisionResponse = true; 186 laatikko.IgnoresPhysicsLogics = true; 187 Add(laatikko); 188 189 int ihmisia = 0; 190 for (int a = 0; a < talojenlukumäärä; a++) 191 { 192 double talonXetaisyys = laatikko.Position.X - talotaulukko[a].Position.X; 193 double talonYetaisyys = laatikko.Position.Y - talotaulukko[a].Position.Y; 194 195 if (talonXetaisyys < 0) 196 { 197 talonXetaisyys = talonXetaisyys * -1; 198 } 199 if (talonYetaisyys < 0) 200 { 201 talonYetaisyys = talonYetaisyys * -1; 202 } 203 double talonEtaisyys = talonXetaisyys + talonYetaisyys; 204 if (talonEtaisyys < 300) 205 { 206 ihmisia++; 207 } 208 } 209 ihmisiaPysakilla.Add(laatikko, ihmisia); 210 MessageDisplay.Add("Hemmoja jollakin pysäkillä: " + ihmisiaPysakilla.ToString()); 211 } 212 213 void kasittele(PhysicsObject auto, PhysicsObject kohde) 214 { 215 216 if (kohde.Tag == "laatikko") 217 { 218 MessageDisplay.Add("Ihmisia pysäkillä" + ihmisiaPysakilla[kohde].ToString()); 219 MessageDisplay.Add("Matkustajia linja-autossa" + matkustajat.ToString()); 220 221 if (ihmisiaPysakilla[kohde] > 0) 222 { 223 matkustajat = matkustajat + ihmisiaPysakilla[kohde]; 224 ihmisiaPysakilla[kohde] = 0; 225 } 226 else 227 { 228 MessageDisplay.Add("Tämä pysäkki on tyhjä"); 229 } 230 MessageDisplay.Add("Ihmisia pysäkillä" + ihmisiaPysakilla[kohde].ToString()); 231 MessageDisplay.Add("Matkustajia linja-autossa" + matkustajat.ToString()); 232 233 } 234 } 148 235 }
Note: See TracChangeset
for help on using the changeset viewer.