- Timestamp:
- 2010-08-06 13:03:18 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/31/vivevinu/Mittelo maasta/Peli.cs
r1630 r1673 1 1 using System; 2 using System.Collections.Generic; 2 3 using Jypeli; 3 4 using Jypeli.Widgets; … … 19 20 const int ruudunLeveys = 40; 20 21 const int ruudunKorkeus = 40; 21 Label teksti2;// = new Label();// = new Label("Ostettava ruutu: " + x.ToString() + ", " + y.ToString()); 22 Label teksti2; 23 Label teksti5; 24 25 List<PhysicsObject> pelaaja1maat = new List<PhysicsObject>(); 26 List<PhysicsObject> pelaaja2maat = new List<PhysicsObject>(); 22 27 23 28 protected override void Begin() … … 25 30 paikka = new Vector(0,0); 26 31 teksti2 = new Label(); 32 teksti5 = new Label("pelaaja1"); 33 Add(teksti5); 27 34 Add(teksti2); 28 35 LuoKentta(); … … 37 44 teksti1.X = Screen.Left + 50; 38 45 teksti1.Y = Screen.Top - 15; 46 39 47 Add(teksti1); 40 48 for (int i = -15; i < 16; i++) … … 58 66 { 59 67 b = "pelaaja2"; 60 Label teksti5 = new Label(b);68 teksti5.Text = b; 61 69 teksti5.X = Screen.Left + 160; 62 70 teksti5.Y = Screen.Top - 15; 63 Add(teksti5);64 71 } 65 72 else 66 73 { 67 74 b = "pelaaja1"; 68 Label teksti5 = new Label(b);75 teksti5.Text = b; 69 76 teksti5.X = Screen.Left + 160; 70 77 teksti5.Y = Screen.Top - 15; 71 Add(teksti5);72 78 } 73 79 Liikkuminen(); 74 a = false;75 80 } 76 81 void Liikkuminen() 77 82 { 83 ClearControls(); 78 84 Vector vasen = new Vector(-1, 0); 79 85 Vector ylos = new Vector(0,1); … … 86 92 teksti2.X = Screen.Left + 600; 87 93 teksti2.Y = Screen.Top - 15; 88 89 Keyboard.Listen(Key.Enter, ButtonState.Down, Ostamaa, null); 90 94 Keyboard.Listen(Key.Enter, ButtonState.Pressed, Ostamaa, null); 91 95 } 92 96 93 97 void LiikutaValintaa(Vector maara) 94 98 { 99 paikka += maara; 95 100 teksti2.Text = "Ostettava ruutu: " + paikka.X + ", " + paikka.Y; 96 paikka = paikka + maara;97 101 } 98 102 99 103 void Ostamaa() 100 104 { 101 a = true; 102 105 if (TarkistaPaikka(paikka) != null) 106 { 107 Liikkuminen(); 108 return; 109 } 110 if (TarkistaPaikka(paikka) == null) 111 { 112 PhysicsObject lippu = PhysicsObject.CreateStaticObject(40.0, 40.0); 113 PhysicsObject torni = PhysicsObject.CreateStaticObject(40, 40); 114 PhysicsObject rata = PhysicsObject.CreateStaticObject(40.0, 40.0); 115 rata.Image = lentokentta; 116 if (-16 < paikka.X && paikka.X < 16 && -12 < paikka.Y && paikka.Y < 12) 117 { 118 if (b == "pelaaja1") 119 { 120 lippu.Image = sinlippu; 121 lippu.Tag = "pelaaja1"; 122 pelaaja1maat.Add(lippu); 123 } 124 else 125 { 126 lippu.Tag = "pelaaja2"; 127 lippu.Image = punlippu; 128 pelaaja2maat.Add(lippu); 129 } 130 } 131 lippu.Position = 40 * paikka; 132 Add(lippu); 133 Tutkisuorat(); 134 Vuoro(); 135 } 136 } 137 138 PhysicsObject TarkistaPaikka(Vector paikka) 139 { 140 foreach (PhysicsObject lippu in pelaaja1maat) 141 { 142 if (lippu.Position == paikka * 40) return lippu; 143 } 144 foreach (PhysicsObject lippu in pelaaja2maat) 145 { 146 if (lippu.Position == paikka * 40) return lippu; 147 } 148 149 return null; 150 } 151 void Tutkisuorat() 152 { 153 foreach (PhysicsObject lippu in pelaaja1maat) 154 { 155 if (TarkistaVaakaSuora(lippu, "pelaaja1") || TarkistaPystySuora(lippu, "pelaaja1")) 156 { 157 PaataPeli("pelaaja1"); 158 } 159 160 } 161 foreach (PhysicsObject lippu in pelaaja2maat) 162 { 163 if (TarkistaVaakaSuora(lippu, "pelaaja2") || TarkistaPystySuora(lippu, "pelaaja2")) 164 { 165 PaataPeli("pelaaja2"); 166 } 167 } 168 } 169 170 bool TarkistaVaakaSuora(PhysicsObject lippu, string omistaja) 171 { 172 Vector lipunPaikka = lippu.Position; 173 Vector tarkistuspaikka = new Vector(0, 0); 174 tarkistuspaikka.Y = (lippu.Y / 40); 175 bool suora = true; 176 for (int i = 1; i < 5; i++) 177 { 178 tarkistuspaikka.X = (lipunPaikka.X / 40) - i; 179 180 if (TarkistaPaikka(tarkistuspaikka) == null) 181 { 182 suora = false; 183 break; 184 } 185 if (TarkistaPaikka(tarkistuspaikka).Tag.ToString() != omistaja) 186 { 187 suora = false; 188 break; 189 } 190 } 191 return suora; 192 } 193 194 bool TarkistaPystySuora(PhysicsObject lippu, string omistaja) 195 { 196 Vector lipunPaikka = lippu.Position; 197 Vector tarkistuspaikka = new Vector(0, 0); 198 tarkistuspaikka.X = (lippu.X / 40); 199 bool suora = true; 200 for (int i = 1; i < 5; i++) 201 { 202 tarkistuspaikka.Y = (lipunPaikka.Y / 40) - i; 203 204 if (TarkistaPaikka(tarkistuspaikka) == null) 205 { 206 suora = false; 207 break; 208 } 209 if (TarkistaPaikka(tarkistuspaikka).Tag.ToString() != omistaja) 210 { 211 suora = false; 212 break; 213 } 214 } 215 216 return suora; 217 } 218 219 void Tutkiymparisto() 220 { 221 foreach(PhysicsObject lippu in pelaaja1maat) 222 { 223 //if(lippu.Position==(lippu.Position.Y+1, lippu.Position.X) 224 } 103 225 } 104 226 PhysicsObject LuoPelto() … … 108 230 return peltomaa; 109 231 } 110 PhysicsObject Luosinlippu() 111 { 112 PhysicsObject sinilippu = PhysicsObject.CreateStaticObject(40.0, 40.0); 113 sinilippu.Image = sinlippu; 114 return sinilippu; 115 } 116 PhysicsObject Luopunlippu() 117 { 118 PhysicsObject punalippu = PhysicsObject.CreateStaticObject(40.0, 40.0); 119 punalippu.Image = punlippu; 120 return punalippu; 121 } 122 PhysicsObject Luosinitorni() 123 { 124 PhysicsObject sinitorni = PhysicsObject.CreateStaticObject(40.0, 40.0); 125 sinitorni.Image = sintorni; 126 return sinitorni; 127 } 128 PhysicsObject Luopuntorni() 129 { 130 PhysicsObject punatorni = PhysicsObject.CreateStaticObject(40.0, 40.0); 131 punatorni.Image = puntorni; 132 return punatorni; 133 } 134 PhysicsObject Luolentokentta() 135 { 136 PhysicsObject rata = PhysicsObject.CreateStaticObject(40.0, 40.0); 137 rata.Image = lentokentta; 138 return rata; 139 } 140 232 233 void PaataPeli(string voittaja) 234 { 235 ClearAll(); 236 Label teksti6 = new Label(voittaja + " voitti pelin!"); 237 teksti6.Position = new Vector(0, 0); 238 Add(teksti6); 239 Timer ajastin = new Timer(); 240 ajastin.Interval = 3; 241 ajastin.Trigger += Loppu; 242 ajastin.Start(); 243 244 245 } 246 void Loppu(Timer sender) 247 { 248 Exit(); 249 } 141 250 }
Note: See TracChangeset
for help on using the changeset viewer.