Changeset 3776 for 2011


Ignore:
Timestamp:
2012-07-26 15:06:23 (7 years ago)
Author:
lesejuku
Message:

Talletus.

Location:
2011/24/LeeviK
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • 2011/24/LeeviK/Pong/Pong/Pong/Peli.cs

    r3761 r3776  
    2020} 
    2121 
     22 
     23class Ase : AssaultRifle 
     24{ 
     25    public int tuhovoima; 
     26 
     27    public Ase(double leveys, double korkeus) 
     28        : base(leveys, korkeus) 
     29    { 
     30    } 
     31} 
     32 
    2233class Pelaaja : PhysicsObject 
    2334{ 
    2435 
    2536    public int Elamat = 2; 
    26     public List<Weapon> aseet; 
     37    public List<Ase> aseet; 
     38    public List<Animation> pelaajanAnimaatiot; 
     39    public int aktiivinenAseIndeksi; 
    2740 
    2841    public Pelaaja(double leveys, double korkeus) 
    2942        : base(leveys, korkeus) 
    3043    { 
    31         aseet = new List<Weapon>(); 
     44        aseet = new List<Ase>(); 
     45        pelaajanAnimaatiot = new List<Animation>(); 
    3246    } 
    3347} 
     
    4155 
    4256    //GameObject crosshair; 
    43     PhysicsObject pelaaja; 
    44     PhysicsObject pelaaja2; 
    45  
    46     AssaultRifle pulttilukkoKivaari; 
    47     AssaultRifle rynkky; 
    48     AssaultRifle aktiivinenAse; 
    49  
    50     Label ammoNaytto; 
    51     Animation pulttilukkoAnimaatio; 
    52     Animation rynkkyAnimaatio; 
    53     SoundEffect aseAani = LoadSoundEffect("SpringfieldFire1"); 
     57    Pelaaja pelaaja; 
     58    Pelaaja pelaaja2; 
     59 
     60    //AssaultRifle pulttilukkoKivaari; 
     61    //AssaultRifle rynkky; 
     62    //AssaultRifle aktiivinenAse; 
     63 
     64    //Label ammoNaytto; 
     65    SoundEffect aseAani2 = LoadSoundEffect("SpringfieldFire1"); 
     66    SoundEffect aseAani = LoadSoundEffect("ThompsonFire1"); 
    5467    ExplosionSystem explosionSystem2; 
    5568    ExplosionSystem explosionSystem; 
    5669    SoundEffect osumisAani = LoadSoundEffect("den_damage_32"); 
    57     Image crosshairkuva = LoadImage("crosshair kuva"); 
    5870    Image jenkkiveri = LoadImage("jenkkiveri"); 
    5971    Image muurikakka = LoadImage("Muuri"); 
    60     SoundEffect LaskuriAani = LoadSoundEffect("wave"); 
    6172    Image punainenlaiska = LoadImage("HITLERNATSI"); 
    6273    IntMeter kenttaLaskuri; 
     
    91102        natsinAivot.TurnWhileMoving = true; 
    92103        natsinAivot.Speed = 160; 
    93         natsinAivot.TargetClose += mitaTapahtuuKunOllaanLahella; 
     104 
     105        //natsinAivot.TargetClose += mitaTapahtuuKunOllaanLahella; 
    94106        //natsinAivot.FollowAlways = true; 
    95107        natsinAivot.Active = true; 
     
    150162    void LuoPelaajat(Vector paikka, double x, double y) 
    151163    { 
     164        Image[] p1pulttilukkoKuvat = LoadImages("jenkki2", "jenkki2lataus1", "jenkki2lataus1", "jenkki2lataus1", "jenkki2lataus2", "jenkki2lataus2", "jenkki2lataus2", "jenkki2lataus3", "jenkki2lataus3", "jenkki2lataus3", "jenkki2lataus2", "jenkki2lataus2", "jenkki2lataus2", "jenkki2lataus1", "jenkki2lataus1", "jenkki2lataus1", "jenkki2", "jenkki2", "jenkki2", "jenkki2", "jenkki2", "jenkki2", "jenkki2", "jenkki2");  
     165        Image[] p1rynkkyKuvat = LoadImages("jenkki", "jenkki lataus1", "jenkki lataus2", "jenkki lataus3", "jenkki lataus4", "jenkki lataus3", "jenkki lataus2", "jenkki lataus5", "jenkki lataus6", "jenkki lataus5", "jenkki lataus1"); 
     166        Animation p1pulttilukkoAnimaatio = new Animation(p1pulttilukkoKuvat); 
     167        Animation p1rynkkyAnimaatio = new Animation(p1rynkkyKuvat); 
     168 
     169        Image[] p2pulttilukkoKuvat = LoadImages("jenkki2", "jenkki2lataus1", "jenkki2lataus1", "jenkki2lataus1", "jenkki2lataus2", "jenkki2lataus2", "jenkki2lataus2", "jenkki2lataus3", "jenkki2lataus3", "jenkki2lataus3", "jenkki2lataus2", "jenkki2lataus2", "jenkki2lataus2", "jenkki2lataus1", "jenkki2lataus1", "jenkki2lataus1", "jenkki2", "jenkki2", "jenkki2", "jenkki2", "jenkki2", "jenkki2", "jenkki2", "jenkki2");  
     170        Image[] p2rynkkyKuvat = LoadImages("jenkki", "jenkki lataus1", "jenkki lataus2", "jenkki lataus3", "jenkki lataus4", "jenkki lataus3", "jenkki lataus2", "jenkki lataus5", "jenkki lataus6", "jenkki lataus5", "jenkki lataus1"); 
     171        Animation p2pulttilukkoAnimaatio = new Animation(p2pulttilukkoKuvat); 
     172        Animation p2rynkkyAnimaatio = new Animation(p2rynkkyKuvat); 
     173        //pelaaja.Animation = pulttilukkoAnimaatio; 
     174 
     175 
    152176        pelaaja = LuoPelaaja(paikka, x, y); 
     177        // tämä laittaa listaan ensin rynkyn sitten pulttilukon 
     178        AlustaPelaajanAseet(pelaaja); 
     179        pelaaja.pelaajanAnimaatiot.Add(p1rynkkyAnimaatio); 
     180        pelaaja.pelaajanAnimaatiot.Add(p1pulttilukkoAnimaatio); 
     181        pelaaja.Animation = pelaaja.pelaajanAnimaatiot[pelaaja.aktiivinenAseIndeksi]; 
     182        pelaaja.Animation.FPS = 10; 
     183 
    153184        pelaaja2 = LuoPelaaja(paikka, x, y); 
    154         alustaAseet(); 
    155     } 
    156  
    157     PhysicsObject LuoPelaaja(Vector paikka, double x, double y) 
    158     { 
    159         PhysicsObject pelaaja = new PhysicsObject(200.0, 115.0); 
     185        AlustaPelaajanAseet(pelaaja2); 
     186        pelaaja2.pelaajanAnimaatiot.Add(p2rynkkyAnimaatio); 
     187        pelaaja2.pelaajanAnimaatiot.Add(p2pulttilukkoAnimaatio); 
     188        pelaaja2.Animation = pelaaja2.pelaajanAnimaatiot[pelaaja2.aktiivinenAseIndeksi]; 
     189        pelaaja2.Animation.FPS = 10; 
     190 
     191    } 
     192 
     193    Pelaaja LuoPelaaja(Vector paikka, double x, double y) 
     194    { 
     195        Pelaaja pelaaja = new Pelaaja(200.0, 115.0); 
    160196        pelaaja.Shape = Shape.Circle; 
    161197        pelaaja.Image = LoadImage("jenkki"); 
     
    167203        pelaaja.KineticFriction = 0.0; 
    168204        Add(pelaaja); 
    169         AddCollisionHandler(pelaaja, KasittelePelaajanTormays);    
     205        AddCollisionHandler(pelaaja, KasittelePelaajanTormays); 
    170206        return pelaaja; 
    171207    } 
    172208 
    173     void alustaAseet() 
     209    void AlustaPelaajanAseet(Pelaaja pelaaja) 
    174210    { 
    175211        // rynkky 
    176         rynkky = new AssaultRifle(20, 0); 
     212        Ase rynkky = new Ase(20, 0); 
     213        rynkky.tuhovoima = 1; 
    177214        rynkky.Ammo.Value = 30; 
    178215        rynkky.Ammo.MinValue = 0; 
     216        rynkky.FireRate = 10; 
     217        rynkky.AttackSound = aseAani; 
    179218        rynkky.Ammo.LowerLimit += delegate 
    180219        { 
     
    186225            }); 
    187226        }; 
    188         rynkky.ProjectileCollision = AmmusOsui; 
     227        rynkky.ProjectileCollision = delegate(PhysicsObject tormaaja, PhysicsObject kohde) { AmmusOsui(tormaaja, kohde, rynkky); }; 
    189228        pelaaja.Add(rynkky); 
    190  
    191         aktiivinenAse = rynkky; 
     229        pelaaja.aseet.Add(rynkky); 
     230        pelaaja.aktiivinenAseIndeksi = 0; 
    192231 
    193232        // pulttilukko 
    194         pulttilukkoKivaari = new AssaultRifle(20, 0); 
     233        Ase pulttilukkoKivaari = new Ase(20, 1); 
     234        pulttilukkoKivaari.tuhovoima = 10; 
    195235        pulttilukkoKivaari.TimeBetweenUse = TimeSpan.FromSeconds(1.0); 
    196         pulttilukkoKivaari.AttackSound = aseAani; 
     236        pulttilukkoKivaari.AttackSound = aseAani2; 
    197237 
    198238        pulttilukkoKivaari.Ammo.Value = 1; 
     
    207247            }); 
    208248        }; 
    209         pulttilukkoKivaari.ProjectileCollision = AmmusOsui; 
    210  
     249        pulttilukkoKivaari.ProjectileCollision = delegate(PhysicsObject tormaaja, PhysicsObject kohde) { AmmusOsui(tormaaja, kohde, pulttilukkoKivaari); }; 
     250        pelaaja.aseet.Add(pulttilukkoKivaari); 
    211251        pelaaja.Add(pulttilukkoKivaari); 
    212252    } 
     
    253293        ControllerOne.ListenAnalog(AnalogControl.RightStick, 0.1, KäännäPelaajaa, "sticks move against rotation.", pelaaja); 
    254294 
    255         ControllerOne.ListenAnalog(AnalogControl.RightTrigger, 0.1, AmmuAseella, "Use the right trigger, like the accelerator.", aktiivinenAse); 
    256         ControllerOne.Listen(Button.Y, ButtonState.Pressed, VaihdaAse, ""); 
     295        ControllerOne.ListenAnalog(AnalogControl.RightTrigger, 0.1, AmmuAseella, "Use the right trigger, like the accelerator.", pelaaja); 
     296        ControllerOne.Listen(Button.Y, ButtonState.Pressed, VaihdaAse, "", pelaaja); 
    257297 
    258298        //Pelaaja 2 liikkuminen 
     
    261301        ControllerTwo.ListenAnalog(AnalogControl.RightStick, 0.1, KäännäPelaajaa, "sticks move against rotation.", pelaaja2); 
    262302 
    263         ControllerTwo.ListenAnalog(AnalogControl.RightTrigger, 0.1, AmmuAseella, "Use the right trigger, like the accelerator.", aktiivinenAse); 
    264         ControllerTwo.Listen(Button.Y, ButtonState.Pressed, VaihdaAse, ""); 
    265  
    266  
    267     } 
    268  
    269     void AmmuAseella(AnalogState liipasimenTila, Weapon ase) 
    270     { 
     303        ControllerTwo.ListenAnalog(AnalogControl.RightTrigger, 0.1, AmmuAseella, "Use the right trigger, like the accelerator.", pelaaja2); 
     304        ControllerTwo.Listen(Button.Y, ButtonState.Pressed, VaihdaAse, "", pelaaja2); 
     305 
     306 
     307    } 
     308 
     309    void AmmuAseella(AnalogState liipasimenTila, Pelaaja pelaaja) 
     310    { 
     311        Ase ase = pelaaja.aseet[pelaaja.aktiivinenAseIndeksi]; 
     312        ase.Power.Value = 800; 
    271313        double liipasimenAsento = liipasimenTila.State; 
     314 
     315 
    272316        PhysicsObject ammus = ase.Shoot(); 
    273317 
    274318        if (ammus != null) 
    275319        { 
    276             ammus.Size = new Vector(ammus.Width * 5.0, ammus.Height * 0.2); 
     320            ammus.Size = new Vector(ammus.Width * 1.5, ammus.Height * 0.2); 
    277321            ammus.Color = Color.Yellow; 
    278322        } 
     
    304348    } 
    305349 
    306     void AmmuAseella(PhysicsObject pelaaja, Weapon pelaajanAse) 
    307     { 
    308         PhysicsObject ammus = pelaajanAse.Shoot(); 
    309  
    310         if (ammus != null) 
    311         { 
    312             ammus.Size = new Vector(ammus.Width * 2.0, ammus.Height * 0.2); 
    313  
    314             ammus.Image = ammusKuva; 
    315         } 
    316  
    317     } 
    318  
    319     void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     350    //void AmmuAseella(PhysicsObject pelaaja, Weapon pelaajanAse) 
     351    //{ 
     352    //    PhysicsObject ammus = pelaajanAse.Shoot(); 
     353 
     354    //    if (ammus != null) 
     355    //    { 
     356    //        ammus.Size = new Vector(ammus.Width * 2.0, ammus.Height * 0.2); 
     357 
     358    //        ammus.Image = ammusKuva; 
     359    //    } 
     360 
     361    //} 
     362 
     363    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde, Ase ase) 
    320364    { 
    321365        ammus.Destroy(); 
     
    324368        { 
    325369            Natsi natsi = (Natsi)kohde; 
    326             natsi.Elamat--; 
     370            natsi.Elamat -= ase.tuhovoima; 
    327371            Explosion rajahdys = new Explosion(50); 
    328372            rajahdys.Position = ammus.Position; 
     
    341385    } 
    342386 
    343     void mitaTapahtuuKunOllaanLahella() 
    344     { 
    345  
    346     } 
    347  
    348     void VaihdaAse() 
    349     { 
    350         if (aktiivinenAse == rynkky) 
    351         { 
    352             aktiivinenAse = pulttilukkoKivaari; 
    353             ammoNaytto.Unbind(); 
    354             ammoNaytto.BindTo(pulttilukkoKivaari.Ammo); 
    355             pelaaja.Animation = pulttilukkoAnimaatio; 
    356         } 
    357         else 
    358         { 
    359             aktiivinenAse = rynkky; 
    360             ammoNaytto.Unbind(); 
    361             ammoNaytto.BindTo(rynkky.Ammo); 
    362             pelaaja.Animation = rynkkyAnimaatio; 
    363         } 
     387 
     388 
     389    void VaihdaAse(Pelaaja pelaaja) 
     390    { 
     391        pelaaja.aktiivinenAseIndeksi = ++pelaaja.aktiivinenAseIndeksi % pelaaja.aseet.Count; 
     392        //ammoNaytto.Unbind(); 
     393        //ammoNaytto.BindTo(pelaaja.aseet[pelaaja.aktiivinenAseIndeksi].Ammo); 
     394        pelaaja.Animation = pelaaja.pelaajanAnimaatiot[pelaaja.aktiivinenAseIndeksi]; 
    364395    } 
    365396 
     
    430461 
    431462        //Muista ottaa pois kommentista: 
    432         //ammoNaytto = LuoNaytto(Screen.Left + 60, Screen.Top - 60, aktiivinenAse.Ammo); 
     463         //ammoNaytto = LuoNaytto(Screen.Left + 60, Screen.Top - 60, aktiivinenAse.Ammo); 
    433464 
    434465        Mouse.IsCursorVisible = true; 
    435466        Mouse.ListenMovement(0.1, KuunteleLiiketta, null); 
    436         Image[] pulttilukkoKuvat = LoadImages("jenkki2", "jenkki2lataus1", "jenkki2lataus2", "jenkki2lataus3", "jenkki2lataus2", "jenkki2lataus1", "jenkki2", "jenkki2", "jenkki2", "jenkki2"); 
    437         Image[] rynkkyKuvat = LoadImages("jenkki", "jenkki lataus1", "jenkki lataus2", "jenkki lataus3", "jenkki lataus4", "jenkki lataus3", "jenkki lataus2", "jenkki lataus5", "jenkki lataus6", "jenkki lataus5", "jenkki lataus1"); 
    438         pulttilukkoAnimaatio = new Animation(pulttilukkoKuvat); 
    439         rynkkyAnimaatio = new Animation(rynkkyKuvat); 
    440         pelaaja.Animation = pulttilukkoAnimaatio; 
    441         pelaaja.Animation.FPS = 10; 
    442467    } 
    443468 
     
    468493    { 
    469494        LuoNatsi(new Vector(100, 50), 100, 50); 
    470  
    471  
    472495    } 
    473496 
     
    476499        kenttaLaskuri = new IntMeter(1); 
    477500 
    478         Label KenttäNäyttö = new Label(); 
    479         KenttäNäyttö.X = Screen.Left + 100; 
    480         KenttäNäyttö.Y = Screen.Bottom + 100; 
    481         KenttäNäyttö.TextColor = Color.Red; 
    482         KenttäNäyttö.SizeMode = TextSizeMode.StretchText; 
    483         KenttäNäyttö.Size *= 5; 
    484         KenttäNäyttö.BindTo(kenttaLaskuri); 
    485         Add(KenttäNäyttö); 
     501      //Label KenttäNäyttö = new Label(); 
     502      //KenttäNäyttö.X = Screen.Left + 100; 
     503      //KenttäNäyttö.Y = Screen.Bottom + 100; 
     504      //KenttäNäyttö.TextColor = Color.Red; 
     505      //KenttäNäyttö.SizeMode = TextSizeMode.StretchText; 
     506      //KenttäNäyttö.Size *= 5; 
     507      //KenttäNäyttö.BindTo(kenttaLaskuri); 
     508      //Add(KenttäNäyttö); 
    486509 
    487510        Pistelaskuri = new IntMeter(0); 
     
    502525    void pistelaskuri() 
    503526    { 
    504         LaskuriAani.Play(); 
     527        //LaskuriAani.Play(); 
    505528        kenttaLaskuri.Value++; 
    506529    } 
Note: See TracChangeset for help on using the changeset viewer.