Changeset 2815 for 2012/23


Ignore:
Timestamp:
2012-06-06 15:59:53 (7 years ago)
Author:
lemilaht
Message:

Jatkuu

Location:
2012/23/LeoL
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • 2012/23/LeoL/Tasohyppelypeli1.cs

    r2804 r2815  
    99public class tasohyppelypeli : PhysicsGame 
    1010{ 
    11     Vector nopeusYlos = new Vector(0, 500); 
    12     Vector nopeusOikea = new Vector(500, 0); 
    13     Vector nopeusVasen = new Vector(-500, 0); 
    14     //Image[] pelaajanKuvat = LoadImages("an4", "An1", "an3", "na2", "an5"); 
    15     //Image[] pelaajanKuvatPeilattu; 
    16     PhysicsObject pelaaja; 
     11    DoubleMeter  elamaMittari; 
     12    Image Ampujankuva = LoadImage("Ampuja"); 
     13    Image DemoninKuva = LoadImage("Dem1.anm"); 
     14    Image olionKuva = LoadImage("cafgar.anm"); 
     15    Image[] pelaajanAnim = LoadImages("pelaaja", "Pelaaja2", "Pelaaja3"); 
     16    double nopeusYlos =  1250; 
     17    Vector nopeusOikea = new Vector(250, 0); 
     18    Vector nopeusVasen = new Vector(-250, 0); 
     19    Image pelaajanKuva = LoadImage("pelaaja"); 
     20     
     21    PlatformCharacter pelaaja; 
    1722 
    1823    public override void Begin() 
    1924    { 
    20        // pelaajanKuvatPeilattu = Image.Mirror(pelaajanKuvat); 
     25         
    2126 
    2227        LuoKenttä(); 
    2328        lataaKenttä(); 
    2429        AsetaOhjaimet(); 
    25         //Aloitapeli(); 
    26         //animaatio(); 
    27         //pelaaja.Animation.Start(); 
     30         
     31         
     32         
    2833    } 
    2934 
     
    3439    void LuoKenttä() 
    3540    { 
    36         TileMap ruudut = TileMap.FromLevelAsset("Kentta1"); 
     41        TileMap ruudut = TileMap.FromLevelAsset("kartta"); 
    3742        ruudut.SetTileMethod('_', LuoPalikka); 
    3843        ruudut.SetTileMethod('.', LuoSeina); 
    3944        ruudut.SetTileMethod('"', LuoPiikki); 
    4045        ruudut.SetTileMethod('!', LuoPelaaja); 
     46        ruudut.SetTileMethod('+', LuoCafgar); 
     47        ruudut.SetTileMethod('#', LuoDemoni); 
     48        ruudut.SetTileMethod('-', LuoAmpuja); 
    4149        ruudut.Execute(20, 20); 
    4250        Level.Background.Color = Color.ForestGreen; 
     
    6977        piikki.Shape = Shape.Triangle; 
    7078        piikki.Color = Color.Black; 
     79        piikki.Tag = "piikki"; 
    7180        Add(piikki); 
    7281    } 
     
    7887        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Pelaaja liikkuu vasemmalle", pelaaja, nopeusVasen); 
    7988        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero); 
    80         Keyboard.Listen(Key.W, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Pelaaaja hyppää  ylös", pelaaja, nopeusYlos); 
    81         Keyboard.Listen(Key.W, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero); 
     89        Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppy, "Pelaaja 1: Pelaaaja hyppää  ylös", pelaaja, nopeusYlos); 
    8290        Keyboard.Listen(Key.D, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Pelaaja Liikkuu Oikealle", pelaaja, nopeusOikea); 
    8391        Keyboard.Listen(Key.D, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero); 
    84         //Keyboard.Listen(Key.E, ButtonState.Pressed, 
     92        Keyboard.Listen(Key.E, ButtonState.Pressed, PelaajaLyo, null); 
    8593    } 
    8694 
    8795    void LuoPelaaja(Vector paikka, double leveys, double korkeus) 
    8896    { 
    89         pelaaja = new PhysicsObject(50, 100); 
     97        pelaaja = new PlatformCharacter(20, 40); 
    9098        pelaaja.Position = paikka; 
    91         pelaaja.Shape = Shape.Star; 
     99         
    92100        pelaaja.Color = Color.Aquamarine; 
     101        pelaaja.Image = pelaajanKuva; 
    93102        pelaaja.CanRotate = false; 
    94         pelaaja.Mass = 500; 
     103        AddCollisionHandler(pelaaja, "piikki", PelaajaKuolee); 
     104        AddCollisionHandler(pelaaja, "vihu", PelaajaMenettaa); 
     105        AddCollisionHandler(pelaaja, "Ampuja", PelaajaMenettaa2); 
     106        AddCollisionHandler(pelaaja, "cafgar", PelaajaMenettaa2); 
     107        PelaajanElamat(); 
     108        pelaaja.Mass = 5000; 
     109           
    95110        Add(pelaaja); 
    96111    } 
     
    101116    } 
    102117 
    103     //void animaatio() 
    104     //{ 
    105     //    pelaaja.Animation = new Animation(pelaajanKuvat); 
    106     //    pelaaja.Animation = new Animation(pelaajanKuvatPeilattu); 
    107     //} 
     118     
     119     
     120    void PelaajaKuolee(PhysicsObject pelaaja, PhysicsObject kohde ) 
     121    { 
     122        pelaaja.Destroy(); 
     123         
     124    } 
     125    void LuoCafgar(Vector paikka, double leveys, double korkeus) 
     126    { 
     127        PhysicsObject Cafgar = PhysicsObject.CreateStaticObject(20, 40); 
     128        Cafgar.Position = paikka; 
     129        Cafgar.Image = olionKuva; 
     130        Cafgar.Color = Color.Black; 
     131        Cafgar.Tag = "cafgar"; 
     132        Cafgar.Brain = Aivot(); 
     133        Add(Cafgar); 
     134    } 
     135    void LuoDemoni(Vector paikka, double leveys, double korkeus) 
     136    { 
     137        PhysicsObject Demoni = PhysicsObject.CreateStaticObject(20, 40); 
     138        Demoni.Position = paikka; 
     139        Demoni.Image = DemoninKuva; 
     140        Demoni.Color = Color.Black; 
     141        Demoni.Tag = "vihu"; 
     142        Demoni.Brain = Aivot(); 
     143        AddCollisionHandler(Demoni, "piikki", DemoniKuolee); 
     144        AddCollisionHandler(Demoni, "Ampuja", DemoniKuolee); 
     145        Demoni.Mass = 500; 
     146        Add(Demoni); 
     147    } 
     148    void Hyppy(PlatformCharacter pelaaja, double hypynVoima) 
     149    { 
     150        pelaaja.Jump(hypynVoima); 
     151    } 
     152    Brain Aivot() 
     153    { 
     154        FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja); 
     155    seuraajanAivot.Speed = 150;   
     156    seuraajanAivot.TargetFollowDistance = 200;   
     157    seuraajanAivot.FollowAlways = true;  
     158    seuraajanAivot.TargetCloseDistance = 20;   
     159   
     160 
     161     
     162    seuraajanAivot.TargetClose += mitaTapahtuuKunOllaanLahella; 
     163    return seuraajanAivot; 
     164    } 
     165 
     166    
     167   void mitaTapahtuuKunOllaanLahella(object lahettajaAivot, EventArgs e) 
     168   { 
     169   } 
     170   void DemoniKuolee(PhysicsObject Demoni, PhysicsObject kohde) 
     171   { 
     172       
     173       Explosion rajahdys = new Explosion(50); 
     174       rajahdys.Position = Demoni.Position; 
     175       Add(rajahdys); 
     176       Demoni.Destroy(); 
     177   } 
     178   Brain AivotAmpuja() 
     179   { 
     180       FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja); 
     181       seuraajanAivot.Speed = 0;   
     182       seuraajanAivot.TargetFollowDistance = 200;   
     183       seuraajanAivot.FollowAlways = true;  
     184       seuraajanAivot.TargetCloseDistance = 200;   
     185        
     186 
     187        
     188       seuraajanAivot.TargetClose += mitaTapahtuuKunOllaanLahella2; 
     189       return seuraajanAivot; 
     190   } 
     191 
     192    
     193   void mitaTapahtuuKunOllaanLahella2 (object lahettajaAivot, EventArgs e) 
     194   { 
     195       ((lahettajaAivot as Brain).Owner as PlatformCharacter).Weapon.Angle = (pelaaja.Position - (lahettajaAivot as Brain).Owner.Position).Angle; 
     196       PhysicsObject ammus = ((lahettajaAivot as Brain).Owner as PlatformCharacter).Weapon.Shoot(); 
     197       if (ammus != null) 
     198       { 
     199           AddCollisionHandler(ammus, pelaaja, PelaajaMenettaa2); 
     200           AddCollisionHandler(ammus, "vihu", DemoniKuolee); 
     201       } 
     202   } 
     203   void LuoAmpuja(Vector paikka, double leveys, double korkeus) 
     204   { 
     205        
     206       PlatformCharacter Ampuja = new PlatformCharacter(20, 20); 
     207       Ampuja.IgnoresGravity = true; 
     208       Ampuja.IgnoresPhysicsLogics = true; 
     209       Ampuja.MaxVelocity = 0.0; 
     210       Ampuja.Position = paikka; 
     211       Ampuja.Image = Ampujankuva; 
     212       Ampuja.Color = Color.Black; 
     213       Ampuja.Tag = "Ampuja"; 
     214       Ampuja.Brain = AivotAmpuja(); 
     215       Ampuja.Weapon = new PlasmaCannon(5, 3); 
     216       Ampuja.Weapon.TimeBetweenUse = TimeSpan.FromSeconds(1); 
     217       Add(Ampuja); 
     218   } 
     219   void PelaajaMenettaa() 
     220   {  
     221   } 
     222   void PelaajanElamat() 
     223   { 
     224       elamaMittari = new DoubleMeter(20); 
     225       elamaMittari.MaxValue = 10; 
     226       ProgressBar elamaPalkki = new ProgressBar(150, 10); 
     227       elamaPalkki.BindTo(elamaMittari); 
     228       Add(elamaPalkki); 
     229 
     230       elamaPalkki.X = Screen.Right - 150; 
     231       elamaPalkki.Y = Screen.Top - 20; 
     232       elamaPalkki.Angle = Angle.RightAngle; 
     233       elamaPalkki.BarColor = Color.Green; 
     234       elamaPalkki.BorderColor = Color.White; 
     235       elamaPalkki.Angle = Angle.FromDegrees(90); 
     236       elamaMittari.Value = 20; 
     237        
     238       elamaMittari.LowerLimit += PelaajaTuhoutuu; 
     239        
     240   } 
     241   void PelaajaMenettaa(PhysicsObject pelaaja, PhysicsObject kohde) 
     242   { 
     243       elamaMittari.Value -= 3; 
     244   } 
     245 
     246   void PelaajaTuhoutuu(double mittarinArvo) 
     247   { 
     248       pelaaja.Destroy(); 
     249       MessageDisplay.Add("Dead"); 
     250   } 
     251   void PelaajaMenettaa2(PhysicsObject pelaaja, PhysicsObject kohde) 
     252   { 
     253       elamaMittari.Value -= 5; 
     254   } 
     255   void PelaajaLyo() 
     256   { 
     257       pelaaja.Animation = new Animation(pelaajanAnim); 
     258       pelaaja.Animation.Start(); 
     259       pelaaja.Animation.Played += new Action(AnimValm); 
     260       pelaaja.Animation.FPS = 5; 
     261   } 
     262   void AnimValm() 
     263   { 
     264       pelaaja.Animation.Stop(); 
     265   } 
     266     
    108267} 
    109268 
  • 2012/23/LeoL/ThePeli.cs

    r2807 r2815  
    3737        ruudut.SetTileMethod('#', LuoDemoni); 
    3838        ruudut.SetTileMethod(';', LuoVartija); 
    39        // ruudut.SetTileMethod('+', LuoCafgar); 
     39        ruudut.SetTileMethod('+', LuoCafgar); 
    4040        ruudut.Execute(20, 20); 
    4141        Level.Background.Color = Color.ForestGreen; 
     
    142142        pelaaja.Animation.Start(); 
    143143    } 
     144    void LuoCafgar()  
     145    { 
     146        PhysicsObject Cafgar = PhysicsObject.CreateStaticObject(20, 40); 
     147        Cafgar.Position = paikka; 
     148        cafgar.Shape = Shape. 
     149        Cafgar.Tag = "Cafgar"; 
     150        Add(Cafgar); 
     151    } 
    144152} 
    145153 
  • 2012/23/LeoL/pong1/pong1/pong1/Peli.cs

    r2790 r2815  
    220220        Add(rajahdys2); 
    221221        maila2.Destroy(); 
    222         Explosion rajahdys3 = new Explosion(5000); 
    223         rajahdys3.Position = background.Position; 
    224         Add(rajahdys3); 
    225         background.Destroy(); 
     222         
    226223    } 
    227224     
Note: See TracChangeset for help on using the changeset viewer.