Changeset 9148 for 2017/30


Ignore:
Timestamp:
2017-07-27 10:32:41 (2 years ago)
Author:
npo17_56
Message:

Laskuria hieman aloitettu ja laukaisijat lopettavat ampumisen rikki mennessään.

Location:
2017/30/OlliL/Bomb helicopter
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • 2017/30/OlliL/Bomb helicopter/Bomb helicopter/Bomb_helicopter/Bomb_helicopter.cs

    r9126 r9148  
    2222    PhysicsObject ohjus; 
    2323    Image Ohjus = LoadImage("ohjuspieni"); 
    24      
     24    IntMeter pisteLaskuri; 
     25 
     26 
    2527 
    2628 
     
    2931    public override void Begin() 
    3032    { 
    31         Level.Width = Window.Width*3; 
     33        Aloitus(); 
     34         
     35    } 
     36 
     37    void Aloitus() 
     38    { 
     39        ClearAll(); 
     40        LuoPistelaskuri(); 
     41        Level.Width = Window.Width * 3; 
    3242        Level.Height = Window.Height; 
    3343        Level.CreateBorders(); 
     
    4151        Laukaisija(500, -450); 
    4252        Laukaisija(1400, -450); 
    43         
    44  
    45          
    46  
    4753 
    4854 
     
    5258        Level.Background.FitToLevel(); 
    5359        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     60    } 
     61 
     62    void LuoPistelaskuri() 
     63    { 
     64        pisteLaskuri = new IntMeter(0); 
     65 
     66        Label pisteNaytto = new Label(); 
     67        pisteNaytto.X = Screen.Left + 100; 
     68        pisteNaytto.Y = Screen.Top - 100; 
     69        pisteNaytto.TextColor = Color.Black; 
     70        pisteNaytto.Color = Color.White; 
     71 
     72        pisteNaytto.BindTo(pisteLaskuri); 
     73        Add(pisteNaytto); 
    5474    } 
    5575 
     
    6888    } 
    6989 
    70      
     90 
    7191 
    7292    void AsetaNopeus(PhysicsObject helikopteri, Vector nopeus) 
     
    111131    void Laukaisija(double x, double y) 
    112132    { 
    113         PhysicsObject laukaisija = new PhysicsObject(60.0, 60.0); 
     133        Vihu laukaisija = new Vihu(60.0, 60.0); 
    114134        laukaisija.X = x; 
    115135        laukaisija.Y = y; 
     
    121141        laukaisija.MakeStatic(); 
    122142 
    123         Timer ajastin = new Timer(); 
    124         ajastin.Interval = 2; 
    125         ajastin.Timeout += delegate { AmmuOhjus(laukaisija); } ; 
    126         ajastin.Start(); 
    127  
    128          
     143 
     144 
     145        laukaisija.LaukaisuAjastin = new Timer(); 
     146        laukaisija.LaukaisuAjastin.Interval = 2; 
     147        laukaisija.LaukaisuAjastin.Timeout += delegate { AmmuOhjus(laukaisija); } ; 
     148        laukaisija.LaukaisuAjastin.Start(); 
     149 
     150         
     151    } 
     152 
     153    void PelaaUudelleen() 
     154    { 
     155        MultiSelectWindow pelaaUudelleenValikko = new MultiSelectWindow("Game Over", "Pelaa Uudelleen", 
     156"Lopeta"); 
     157        Add(pelaaUudelleenValikko); 
     158 
     159        pelaaUudelleenValikko.AddItemHandler(0, Aloitus); 
     160        pelaaUudelleenValikko.AddItemHandler(1, Exit); 
    129161    } 
    130162 
     
    132164    void KranaattiOsui(IPhysicsObject laukaisija, Vector v) 
    133165    { 
    134         if (laukaisija.Tag == "vihollinen") laukaisija.Image = laukaisinrikki; 
     166        if (laukaisija.Tag == "vihollinen") 
     167        { 
     168            laukaisija.Image = laukaisinrikki; 
     169            (laukaisija as Vihu).LaukaisuAjastin.Stop(); 
     170        } 
    135171    } 
    136172 
     
    162198        rajahdys.Position = helikopteri.Position; 
    163199        Add(rajahdys); 
     200        PelaaUudelleen(); 
    164201    } 
    165202} 
     203class Vihu : PhysicsObject 
     204{ 
     205    public Timer LaukaisuAjastin; 
     206 
     207    public Vihu(double leveys, double korkeus) 
     208        : base(leveys, korkeus) 
     209    { 
     210         
     211    } 
     212} 
Note: See TracChangeset for help on using the changeset viewer.