Changeset 9647


Ignore:
Timestamp:
2018-06-07 11:52:11 (20 months ago)
Author:
aamikkon
Message:
 
Location:
2018/23/AAROM/Avaruustaistelu-peli
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • 2018/23/AAROM/Avaruustaistelu-peli/Avaruustaistelu-peli/Avaruustaistelu_peli.cs

    r9615 r9647  
    1818    PhysicsObject Asteroidi; 
    1919    PhysicsObject Ufo; 
    20  
     20    PlasmaCannon UfonAse; 
    2121    IntMeter Alus1Pisteet; 
    2222    IntMeter Alus2Pisteet; 
     
    3535        LuoAlus1(); 
    3636        LuoAlus2(); 
     37        AsetaOhjaimet(); 
    3738        LuoKentta(); 
    38         LuoUfo(310, 120); 
    39         LuoUfo(-245, -130); 
     39 
     40        PlasmaCannon ase1 =  LuoUfo(310, 120); 
     41        PlasmaCannon ase2 = LuoUfo(-245, -130); 
     42 
     43        Timer ajastin = new Timer(); 
     44        ajastin.Interval = 1.0; 
     45        ajastin.Timeout += delegate  
     46        { 
     47            AmmuUfolla(ase1); 
     48            AmmuUfolla(ase2); 
     49        }; 
     50        ajastin.Start(); 
     51 
     52 
    4053        LisaaLaskurit(); 
    4154 
     
    111124        Keyboard.Listen(Key.S, ButtonState.Down, 
    112125        LiikutaPelaajaa1, null, new Vector(0, -1000)); 
    113         AddCollisionHandler(Alus1, Alus1Tormasi); 
    114126        AddCollisionHandler(Alus1, KasitteleAlus1Tormays); 
    115127    } 
     
    131143        Keyboard.Listen(Key.Down, ButtonState.Down, 
    132144        LiikutaPelaajaa, null, new Vector(0, -1000)); 
    133         AddCollisionHandler(Alus2, Alus2Tormasi); 
    134145        AddCollisionHandler(Alus2, KasitteleAlus2Tormays); 
    135146    } 
     
    153164    } 
    154165 
    155     void LuoUfo(double x, double y) 
     166    PlasmaCannon LuoUfo(double x, double y) 
    156167    { 
    157168        Ufo = new PhysicsObject(40, 25); 
     
    160171        Ufo.X = x; 
    161172        Ufo.Y = y; 
     173        UfonAse = new PlasmaCannon(30, 10); 
     174        UfonAse.Ammo.Value = 1000; 
     175        UfonAse.FireRate = 1.0; 
     176        UfonAse.Power.Value = 100; 
     177        UfonAse.ProjectileCollision = AmmusOsui; 
     178        UfonAse.IsVisible = false; 
     179        UfonAse.ProjectileCollision = AmmusOsui; 
    162180        Add(Ufo); 
     181        Ufo.Add(UfonAse); 
     182         
     183 
     184        return UfonAse; 
    163185    } 
    164186 
     
    173195    } 
    174196 
    175     void Alus1Tormasi(PhysicsObject tormaaja, PhysicsObject kohde) 
    176     { 
    177         MessageDisplay.Add("Alus1 Menetti elpin!"); 
    178     } 
    179  
    180     void Alus2Tormasi(PhysicsObject tormaaja, PhysicsObject kohde) 
    181     { 
    182         MessageDisplay.Add("Alus2 Menetti elpin!"); 
    183     } 
    184197 
    185198    void LisaaLaskurit() 
     
    191204    IntMeter LuoPisteLaskuri(double x, double y) 
    192205    { 
    193         IntMeter laskuri = new IntMeter(0); 
     206        IntMeter laskuri = new IntMeter(10); 
    194207        laskuri.MaxValue = 10; 
    195208 
     
    208221    void KasitteleAlus1Tormays(PhysicsObject pallo, PhysicsObject kohde) 
    209222    { 
    210         if (kohde == oikeaReuna) 
    211         { 
    212             Alus1Pisteet.Value += 1; 
    213         } 
    214         else if (kohde == vasenReuna) 
    215         { 
    216             Alus1Pisteet.Value += 1; 
    217         } 
    218         if (kohde == ylaReuna) 
    219         { 
    220             Alus1Pisteet.Value += 1; 
    221         } 
    222         else if (kohde == alaReuna) 
    223         { 
    224             Alus1Pisteet.Value += 1; 
    225         } 
    226223        if (kohde == Maapallo) 
    227224        { 
    228             Alus1Pisteet.Value += 1; 
     225            Alus1Pisteet.Value -= 1; 
    229226        } 
    230227        else if (kohde == Aurinko) 
    231228        { 
    232             Alus1Pisteet.Value += 1; 
     229            Alus1Pisteet.Value -= 1; 
    233230        } 
    234231        if (kohde == Asteroidi) 
    235232        { 
    236             Alus1Pisteet.Value += 1; 
     233            Alus1Pisteet.Value -= 1; 
    237234        } 
    238235        else if (kohde == Ufo) 
    239236        { 
    240             Alus1Pisteet.Value += 1; 
     237            Alus1Pisteet.Value -= 1; 
    241238        } 
    242239        if (kohde == Alus2) 
    243240        { 
    244             Alus1Pisteet.Value += 1; 
    245         } 
     241            Alus1Pisteet.Value -= 1; 
     242        }        
    246243    } 
    247244 
    248245 
    249246    void KasitteleAlus2Tormays(PhysicsObject pallo, PhysicsObject kohde) 
    250     { 
    251         if (kohde == oikeaReuna) 
    252         { 
    253             Alus2Pisteet.Value += 1; 
    254         } 
    255         else if (kohde == vasenReuna) 
    256         { 
    257             Alus2Pisteet.Value += 1; 
    258         } 
    259         if (kohde == ylaReuna) 
    260         { 
    261             Alus2Pisteet.Value += 1; 
    262         } 
    263         else if (kohde == alaReuna) 
    264         { 
    265             Alus2Pisteet.Value += 1; 
    266         } 
     247    {        
    267248        if (kohde == Maapallo) 
    268249        { 
    269             Alus2Pisteet.Value += 1; 
     250            Alus2Pisteet.Value -= 1; 
    270251        } 
    271252        else if (kohde == Aurinko) 
    272253        { 
    273             Alus2Pisteet.Value += 1; 
     254            Alus2Pisteet.Value -= 1; 
    274255        } 
    275256        if (kohde == Asteroidi) 
    276257        { 
    277             Alus2Pisteet.Value += 1; 
     258            Alus2Pisteet.Value -= 1; 
    278259        } 
    279260        else if (kohde == Ufo) 
    280261        { 
    281             Alus2Pisteet.Value += 1; 
     262            Alus2Pisteet.Value -= 1; 
    282263        } 
    283264        if (kohde == Alus1) 
    284265        { 
    285             Alus2Pisteet.Value += 1; 
    286         } 
     266            Alus2Pisteet.Value -= 1; 
     267        } 
     268    } 
     269 
     270    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     271    { 
     272        if (kohde == Alus1) 
     273        { 
     274            Alus1Pisteet.Value -= 1; 
     275        } 
     276        else if (kohde == Alus2) 
     277        { 
     278            Alus2Pisteet.Value -= 1; 
     279        } 
     280 
     281    } 
     282 
     283    void AmmuUfolla(PlasmaCannon ase) 
     284    { 
     285         
     286        PhysicsObject ammus = ase.Shoot(); 
     287        ammus.Size *= 3; 
     288        ammus.MaximumLifetime = TimeSpan.FromSeconds(4.0); 
    287289    } 
    288290 
Note: See TracChangeset for help on using the changeset viewer.