Changeset 1423


Ignore:
Timestamp:
2010-07-29 14:59:11 (9 years ago)
Author:
jojumuho
Message:

hahaaa

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/30/jojumuho/sYstEmErroR/Peli.cs

    r1398 r1423  
    1414    double hyppyVoima = 10000; 
    1515    Image pelaajanKuva = LoadImage("hahmo 2"); 
    16  
    17  
    18  
     16    bool granaatti1valmis = true; 
     17    Timer granaatinValmistumisAjastin; 
     18 
     19    List<Weapon> aseet; 
     20    int valitunAseenNumero; 
    1921 
    2022    protected override void Begin() 
     
    2426        LuoPalikka(); 
    2527 
    26  
    2728        Gravity = new Vector(0, -1200); 
    2829 
     
    3334        Level.CreateBorders(1.0, false); 
    3435        Level.BackgroundColor = Color.Black; 
    35  
    36  
    37     } 
     36        granaatinValmistumisAjastin = new Timer(); 
     37        granaatinValmistumisAjastin.Interval = 5; 
     38        granaatinValmistumisAjastin.Trigger += GranaattiValmistui; 
     39    } 
     40 
     41 
    3842    void LuoKentta() 
    3943    { 
     
    6872 
    6973        PlasmaCannon plasmaTykki = new PlasmaCannon(180, 100); 
    70         pelaaja1.Weapon = plasmaTykki; 
    7174        plasmaTykki.PlasmaParticleCollision = PlasmaPalloOsuu; 
    72         plasmaTykki.TimeBetweenUse = new TimeSpan(300); 
    73  
    74          
     75        plasmaTykki.TimeBetweenUse = new TimeSpan(3000000); 
     76 
     77 
     78 
    7579        LaserGun laserPyssy = new LaserGun(190, 80); 
    76         pelaaja1.Weapon = laserPyssy; 
    7780        laserPyssy.LaserCollision = LaserSadeOsuu; 
    78         laserPyssy.TimeBetweenUse = new TimeSpan(100); 
     81        laserPyssy.TimeBetweenUse = new TimeSpan(1000000); 
     82 
     83        Cannon tykki = new Cannon(200, 90); 
     84        tykki.Power.Value += 1000; 
     85        tykki.CannonBallCollision = KuulaOsuu; 
     86        tykki.TimeBetweenUse = new TimeSpan(100000000); 
     87 
     88 
     89 
     90        AssaultRifle pyssy = new AssaultRifle(170, 85); 
     91        pyssy.BulletCollision = AmmusOsuu; 
     92 
     93        Grenade grenade = new Grenade(60.50); 
     94 
     95 
     96 
     97        aseet = new List<Weapon>(); 
     98        aseet.Add(pyssy); 
     99        aseet.Add(tykki); 
     100        aseet.Add(plasmaTykki); 
     101        aseet.Add(laserPyssy); 
     102 
     103        // Tässä asetetaan pelaajan alussa oleva ase. 
     104        pelaaja1.Weapon = pyssy; 
     105        valitunAseenNumero = 0; 
    79106 
    80107        pelaaja1.Restitution = 0.1; 
     
    90117        pelaaja1.LeftWalkingAnimation = new Animation(pelaajaVasemmalle); 
    91118        pelaaja1.RightWalkingAnimation = new Animation(pelaajaOikealle); 
    92  
    93119 
    94120        return pelaaja1; 
     
    106132        Keyboard.Listen(Key.L, ButtonState.Pressed, tahtain, "tähtäys ylös", pelaaja1); 
    107133        Keyboard.Listen(Key.K, ButtonState.Down, Ammu, "ampu tulee", pelaaja1); 
    108         Keyboard.Listen(Key.U, ButtonState.Pressed, vaihto, "aseen vaihto", pelaaja1); 
    109134        Keyboard.Listen(Key.O, ButtonState.Pressed, vaihto, "aseen vaihto", pelaaja1); 
    110  
     135        Keyboard.Listen(Key.U, ButtonState.Pressed, granaatti, "kranun heitto", pelaaja1); 
    111136    } 
    112137 
     
    127152    void vaihto(PlatformCharacter pelaaja) 
    128153    { 
    129  
    130     } 
    131  
     154        Weapon vanhaAse = pelaaja.Weapon; 
     155        pelaaja.Remove(vanhaAse); 
     156        Remove(pelaaja); 
     157 
     158        valitunAseenNumero++; 
     159        if (valitunAseenNumero >= aseet.Count) 
     160        { 
     161            valitunAseenNumero = 0; 
     162        } 
     163 
     164        pelaaja.Weapon = aseet[valitunAseenNumero]; 
     165        //Add(pelaaja); 
     166 
     167        Timer pelaajaTakas = new Timer(); 
     168        pelaajaTakas.Interval = 0; 
     169        pelaajaTakas.Tag = pelaaja; 
     170        pelaajaTakas.Start(1); 
     171        pelaajaTakas.Trigger += PelaajaTakasinAseenVaihdonJalkeen; 
     172    } 
     173 
     174    void PelaajaTakasinAseenVaihdonJalkeen(Timer ajastin) 
     175    { 
     176        PlatformCharacter pelaaja = (PlatformCharacter)ajastin.Tag; 
     177        Add(pelaaja); 
     178    } 
    132179 
    133180 
     
    140187            ammus.Tag = pelaaja; 
    141188            ammus.Size = new Vector(30, 30); 
    142             //ammus.MaximumLifetime = new TimeSpan(20000); 
    143         } 
    144  
    145  
    146  
     189            ammus.Velocity = new Vector(ammus.Velocity.X * 2, ammus.Velocity.Y * 2); 
     190            ammus.MaximumLifetime = new TimeSpan(10000000); 
     191            AddCollisionHandler(ammus, KuulaOsuu); 
     192        } 
    147193    } 
    148194 
     
    150196    { 
    151197        if (ammus.Tag != kohde && kohde.Tag.ToString() != "palikka") 
    152  
    153             kohde.Destroy(); 
     198        { 
     199            kohde.Destroy(); 
     200        } 
    154201    } 
    155202 
     
    157204    { 
    158205        if (ammus.Tag != kohde && kohde.Tag.ToString() != "palikka") 
    159  
    160             kohde.Destroy(); 
    161     } 
    162  
     206        { 
     207            kohde.Destroy(); 
     208        } 
     209    } 
     210    void KuulaOsuu(PhysicsObject ammus, PhysicsObject kohde) 
     211    { 
     212        if (ammus.Tag != kohde && kohde.Tag.ToString() != "palikka") 
     213        { 
     214            kohde.Destroy(); 
     215        } 
     216    } 
     217 
     218    void AmmusOsuu(PhysicsObject ammus, PhysicsObject kohde) 
     219    { 
     220        if (ammus.Tag != kohde && kohde.Tag.ToString() != "palikka") 
     221        { 
     222            kohde.Destroy(); 
     223        } 
     224    } 
     225 
     226    void granaatti(PhysicsObject pelaaja1) 
     227    { 
     228        if (granaatti1valmis) 
     229        { 
     230            Grenade kranaatti = new Grenade(4.0); 
     231            kranaatti.X = pelaaja1.X + 10; 
     232            kranaatti.Y = pelaaja1.Y + 10; 
     233            Add(kranaatti); 
     234            Vector heittoVoima = Vector.FromLengthAndAngle(30000, Angle.Degrees(35)); 
     235            kranaatti.Hit(heittoVoima); 
     236            kranaatti.Size = new Vector(50, 50); 
     237            kranaatti.ExplosionRadius = 300; 
     238            granaatti1valmis = false; 
     239            granaatinValmistumisAjastin.Start(); 
     240        } 
     241 
     242    } 
     243 
     244    void GranaattiValmistui(Timer t) 
     245    { 
     246        granaatti1valmis = true; 
     247        granaatinValmistumisAjastin.Stop(); 
     248        granaatinValmistumisAjastin.Reset(); 
     249    } 
    163250} 
Note: See TracChangeset for help on using the changeset viewer.