- Timestamp:
- 2010-08-02 22:40:35 (12 years ago)
- Location:
- 2010/30/tekrjant/Seikkailu
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/30/tekrjant/Seikkailu/Content/Content.contentproj
r1511 r1542 174 174 </Compile> 175 175 </ItemGroup> 176 <ItemGroup> 177 <Compile Include="ottiainen_kuollut.png"> 178 <Name>ottiainen_kuollut</Name> 179 <Importer>TextureImporter</Importer> 180 <Processor>TextureProcessor</Processor> 181 </Compile> 182 </ItemGroup> 176 183 </Project> -
2010/30/tekrjant/Seikkailu/Esine.cs
r1511 r1542 46 46 IgnoresCollisionResponse = true; 47 47 } 48 49 50 public static string Kuvaus( EsineenTyyppi t ) 51 { 52 switch ( t ) 53 { 54 case EsineenTyyppi.TuliSauva: 55 return "Taikasauva"; 56 case EsineenTyyppi.EnergiaSauva: 57 return "Välkkyvä taikasauva"; 58 case EsineenTyyppi.Lyhty: 59 return "Lyhty"; 60 case EsineenTyyppi.Timantti: 61 return "Kiiltävä timantti"; 62 default: 63 return t.ToString(); 64 } 65 } 48 66 } -
2010/30/tekrjant/Seikkailu/HUD.cs
r1346 r1542 136 136 Timer piilotusAjastin; 137 137 138 public EsineRuutu( Peli peli,double leveys, double korkeus )138 public EsineRuutu( double leveys, double korkeus ) 139 139 : base( leveys, korkeus ) 140 140 { … … 155 155 piilotusAjastin.Interval = 3; 156 156 piilotusAjastin.Trigger += delegate( Timer t ) { Hide(); }; 157 peli.Add( piilotusAjastin );158 157 } 159 158 160 159 public void Nayta( Esine e ) 161 160 { 162 teksti.Text = e.Tyyppi.ToString();161 teksti.Text = Esine.Kuvaus( e.Tyyppi ); 163 162 Show(); 164 163 piilotusAjastin.Start( 1 ); -
2010/30/tekrjant/Seikkailu/Otus.cs
r1486 r1542 50 50 public Animation LiikkumisAnimaatio; 51 51 public Animation HyokkaysAnimaatio; 52 public Image KuollutKuva; 52 53 public Image PalanutKuva; 54 55 public int OsumaPisteet = 10; 53 56 54 57 public bool OnKuollut { get { return tila == Tila.Kuollut; } } … … 141 144 } 142 145 143 public void Liekita() 146 public void TeeVahinkoa( int pisteet ) 147 { 148 OsumaPisteet -= pisteet; 149 if ( OsumaPisteet <= 0 ) 150 { 151 OsumaPisteet = 0; 152 Kuole(); 153 } 154 } 155 156 public void Kuole() 144 157 { 145 158 liikkumisAjastin.Stop(); 146 159 hyokkaysAjastin.Stop(); 147 160 kaantymisAjastin.Stop(); 161 Animation.Stop(); 148 162 // RemoveCollisionHandler() olis kiva 149 150 163 tila = Tila.Kuollut; 151 164 MaximumLifetime = Lifetime + TimeSpan.FromMinutes( 1 ); 152 this.Image = PalanutKuva; 165 166 if ( KuollutKuva != null ) 167 Image = KuollutKuva; 168 } 169 170 public void Liekita() 171 { 172 Kuole(); 173 if ( PalanutKuva != null ) 174 this.Image = PalanutKuva; 153 175 savu.AddEffect( this.X, this.Y, 1 ); 154 176 } -
2010/30/tekrjant/Seikkailu/Peli.cs
r1511 r1542 28 28 using Jypeli.Widgets; 29 29 using Jypeli.Effects; 30 using Physics2DDotNet.Ignorers; 30 31 31 32 … … 35 36 const double PelaajanKulmanopeus = 3.0; 36 37 38 Timer energiaAmpumisAjastin = new Timer() { Interval = 0.1 }; 39 ObjectIgnorer energiaIgnorer = new ObjectIgnorer(); 40 37 41 EsineRuutu esineRuutu; 38 42 EsineValikko esineValikko; … … 45 49 "ottiainen_syo1", "ottiainen_syo2", "ottiainen_syo3", "ottiainen_syo4", 46 50 "ottiainen_syo5", "ottiainen_syo6", "ottiainen_syo7", "ottiainen_syo8" ); 51 Image ottiainenKuollutKuva = LoadImage( "ottiainen_kuollut" ); 47 52 Image ottiainenPalanutKuva = LoadImage( "ottiainen_palanut" ); 48 53 Image liekinKuva = LoadImage( "liekki" ); … … 69 74 void LuoHUD() 70 75 { 71 esineRuutu = new EsineRuutu( this,200, 50 );76 esineRuutu = new EsineRuutu( 200, 50 ); 72 77 esineRuutu.X = Screen.Center.X + Screen.Width / 4; 73 78 esineRuutu.Y = Screen.Top - esineRuutu.Height / 2; … … 95 100 lyhtyAjastin.Interval = 0.1; 96 101 lyhtyAjastin.Trigger += PaivitaLyhtya; 102 103 energiaAmpumisAjastin.Trigger += AmmuEnergiaPallo; 97 104 98 105 double ruohonLeveys = 5; … … 156 163 energiaSauva.Image = taikasauva2Kuva; 157 164 energiaSauva.X = -1; 158 energiaSauva.Y = - 3;165 energiaSauva.Y = -1; 159 166 Add( energiaSauva, -1 ); 160 167 161 168 Esine lyhty = new Esine( 0.6, 0.6, Shapes.Circle, EsineenTyyppi.Lyhty ); 162 169 lyhty.Image = lyhdynKuva; 163 lyhty.X = 4;164 lyhty.Y = - 2;170 lyhty.X = 2; 171 lyhty.Y = -1; 165 172 Add( lyhty, -1 ); 166 173 … … 211 218 ottiainen.LiikkumisAnimaatio = new Animation( ottiaisenKuvat ) { FPS = 5 }; 212 219 ottiainen.HyokkaysAnimaatio = new Animation( ottiaisenSyomisKuvat ) { FPS = 20 }; 220 ottiainen.KuollutKuva = ottiainenKuollutKuva; 213 221 ottiainen.PalanutKuva = ottiainenPalanutKuva; 214 222 ottiainen.Angle = RandomGen.NextAngle(); … … 260 268 break; 261 269 case EsineenTyyppi.EnergiaSauva: 262 PhysicsObject energia = new PhysicsObject( 3, 1 ); 263 energia.MaximumLifetime = TimeSpan.FromSeconds( 6 ); 264 energia.Restitution = 1.5; 265 //energia.IgnoresCollisionResponse = true; 266 267 energia.Animation = new Animation( energiaKuvat ); 268 energia.Animation.FPS = 20; 269 energia.Animation.Start(); 270 271 Vector suunta = Vector.FromLengthAndAngle( 1, pelaaja.Angle ); 272 energia.Position = pelaaja.Position + suunta * 1; 273 energia.Velocity = suunta * 3; 274 energia.Angle = pelaaja.Angle; 275 Add( energia ); 270 energiaAmpumisAjastin.Start( 5 ); 276 271 break; 277 272 case EsineenTyyppi.Lyhty: … … 282 277 default: 283 278 break; 279 } 280 } 281 282 void AmmuEnergiaPallo( Timer ajastin ) 283 { 284 PhysicsObject energia = new PhysicsObject( 1, 1, Shapes.Circle ); 285 energia.MaximumLifetime = TimeSpan.FromSeconds( 6 ); 286 energia.Restitution = 1.5; 287 energia.CollisionIgnorer = energiaIgnorer; 288 AddCollisionHandler( energia, EnergiaPalloOsuu ); 289 290 energia.Animation = new Animation( energiaKuvat ); 291 energia.Animation.FPS = 20; 292 energia.Animation.Start(); 293 294 Angle kulmanVaihtelu = RandomGen.NextAngle( Angle.Degrees( -5 ), Angle.Degrees( 5 ) ); 295 Vector suunta = Vector.FromLengthAndAngle( 1, pelaaja.Angle + kulmanVaihtelu ); 296 energia.Position = pelaaja.Position + suunta * 1; 297 energia.Velocity = suunta * 3; 298 energia.Angle = pelaaja.Angle; 299 Add( energia ); 300 } 301 302 void EnergiaPalloOsuu( PhysicsObject energia, PhysicsObject kohde ) 303 { 304 if ( kohde is Otus ) 305 { 306 Otus otus = (Otus)kohde; 307 // TODO: efekti. 308 otus.TeeVahinkoa( 2 ); 284 309 } 285 310 }
Note: See TracChangeset
for help on using the changeset viewer.