Changeset 4631 for 2013/30


Ignore:
Timestamp:
2013-07-24 14:57:29 (6 years ago)
Author:
viosfilp
Message:

Talletus.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2013/30/VilleF/Lentokone/Lentokone/Lentokone/Lentokone.cs

    r4626 r4631  
    1212    private Animation juusto; 
    1313    private Animation miesa; 
    14  
     14    //IntMeter Pisteaskuri; 
    1515    Image ukkeliPi = LoadImage("ukkeli"); 
    1616    Image pommik = LoadImage("pommi"); 
     
    2222    PhysicsObject pommi; 
    2323    PhysicsObject ukkeli1; 
    24      
     24    IntMeter pisteLaskuri; 
     25     
     26 
     27    
    2528    public override void Begin() 
    2629    { 
     30        Label tekstikentta = new Label("Havupommitus V 0.1"); 
     31        tekstikentta.X = Screen.Left + 105; 
     32        tekstikentta.Y = Screen.Top - 10; 
     33        Add(tekstikentta); 
     34        LuoPistelaskuri();  
    2735        miesa = LoadAnimation("blingbling"); 
    2836        juusto = LoadAnimation("ukkeli"); 
     
    3240        Gravity = new Vector(0.0, -500); 
    3341        //MediaPl-ayer.Play(" 
     42 
     43        LuoPelaaja(); 
    3444        LuoKentta(); 
    35         LuoPelaaja(); 
    3645        LisaaVihollinen(); 
    3746        LisaaVihollinen(); 
     
    5766        Keyboard.Listen(Key.R, ButtonState.Released, LuoPelaaja, "Ammu"); 
    5867        Keyboard.Listen(Key.V, ButtonState.Released, LisaaVihollinen, "Ammu"); 
    59     } 
     68        Keyboard.Listen(Key.P, ButtonState.Pressed, Pause, "Pysäyttää pelin"); 
     69    } 
     70    void LuoPistelaskuri() 
     71    { 
     72        pisteLaskuri = new IntMeter(0); 
     73 
     74        Label pisteNaytto = new Label(); 
     75        pisteNaytto.X = Screen.Right - 100; 
     76        pisteNaytto.Y = Screen.Top - 100; 
     77        pisteNaytto.TextColor = Color.Green; 
     78        //pisteNaytto.Color = Color.White; 
     79        pisteNaytto.IntFormatString = "Pisteitä: {0:D1}"; 
     80        pisteNaytto.BindTo(pisteLaskuri); 
     81        Add(pisteNaytto); 
     82    } 
     83 
    6084    void LisaaVihollinen() 
    6185    { 
    62             int n = 0; 
    63             while (n < 10) { 
    64              
    65         double x = RandomGen.NextDouble(Level.Right, Level.Left); 
    66         PhysicsObject ukkeli1 = new PhysicsObject(40, 60); 
    67         //ukkeli1.Shape = Shape.FromImage("ukkeliP"); 
    68         ukkeli1.Animation = juusto; 
    69         ukkeli1.Animation.Start(); 
    70         ukkeli1.Animation.FPS = 5; 
    71         ukkeli1.Tag = "vihollinen"; 
    72         PhysicsObject mies = new PhysicsObject(40, 60); 
    73         mies.Animation = miesa; 
    74         mies.Animation.Start(); 
    75         mies.Animation.FPS = 4; 
    76         mies.Tag = "vihollinen"; 
    77         ukkeli1.X = x; 
    78         mies.X = x; 
    79         ukkeli1.Y = Level.Bottom + 80; 
    80         mies.Y = Level.Bottom + 80; 
    81         Add(RandomGen.SelectOne (mies, ukkeli1)); 
    82         n++; 
    83                     } 
    84     } 
    85     
     86        int n = 0; 
     87        while (n < 10) 
     88        { 
     89 
     90 
     91            double x = RandomGen.NextDouble(Level.Right, Level.Left); 
     92            PhysicsObject ukkeli1 = new PhysicsObject(40, 60); 
     93            //ukkeli1.Shape = Shape.FromImage("ukkeliP"); 
     94            ukkeli1.Animation = RandomGen.SelectOne(juusto, miesa); 
     95            ukkeli1.Animation.Start(); 
     96            ukkeli1.Animation.FPS = 5; 
     97            ukkeli1.Tag = "vihollinen"; 
     98            //PhysicsObject mies = new PhysicsObject(40, 60); 
     99            //mies.Animation = miesa; 
     100            //mies.Animation.Start(); 
     101            //mies.Animation.FPS = 4; 
     102            //mies.Tag = "vihollinen"; 
     103            ukkeli1.X = x; 
     104            //mies.X = x; 
     105            ukkeli1.Y = Level.Bottom + 80; 
     106            //mies.Y = Level.Bottom + 80; 
     107 
     108            Add(ukkeli1); 
     109 
     110            //Add(RandomGen.SelectOne (mies, ukkeli1)); 
     111            n++; 
     112 
     113            Timer ajastin = new Timer(); 
     114            ajastin.Interval = RandomGen.NextDouble(0.2, 2); 
     115            ajastin.Timeout += delegate 
     116            { 
     117 
     118                ukkeli1.Velocity = new Vector(RandomGen.SelectOne(-200, 200), 0); 
     119            }; 
     120            ajastin.Start(); 
     121        } 
     122    } 
    86123     
    87124       void TiputaPommi() 
     
    99136        Add(pommi); 
    100137         
    101         AddCollisionHandler(pommi, "vihollinen", CollisionHandler.ExplodeTarget(20, true)); 
    102         AddCollisionHandler(pommi, CollisionHandler.ExplodeObject(20, true)); 
    103  
    104  
    105     } 
    106        
     138        AddCollisionHandler(pommi, PommiOsuu); 
     139    } 
     140     
     141       void PommiOsuu(PhysicsObject pommi, PhysicsObject kohde) 
     142       { 
     143           if(kohde.Tag.Equals("vihollinen")) 
     144           { 
     145               kohde.Destroy(); 
     146               pisteLaskuri.Value += 1; 
     147               
     148           } 
     149           Explosion e = new Explosion(60); 
     150           e.Position = pommi.Position; 
     151           pommi.Destroy(); 
     152           Add(e); 
     153           e.ShockwaveReachesObject += delegate(IPhysicsObject rKohde, Vector v) { if(rKohde.Tag.Equals("vihollinen")) rKohde.Destroy();   }; 
     154           //pisteet++; 
     155           
     156       } 
     157 
    107158    void KaannaPelaajaa(double kaannos) 
    108159    { 
     
    138189        pelaaja.Push(Vector.FromLengthAndAngle(3000*suunta, pelaaja.Angle)); 
    139190    } 
    140  
    141  
     191     
     192     
    142193    void LuoKentta() 
    143194    { 
     
    148199        alareuna.Bottom = Level.Bottom; 
    149200        Add(alareuna); 
    150          
    151  
    152     } 
     201 
     202        PhysicsObject oikeaReuna = Level.CreateRightBorder(); 
     203        oikeaReuna.CollisionIgnoreGroup = pelaaja.CollisionIgnoreGroup; 
     204 
     205        PhysicsObject vasenReuna = Level.CreateLeftBorder(); 
     206        vasenReuna.CollisionIgnoreGroup = pelaaja.CollisionIgnoreGroup; 
     207 
     208 
     209    } 
     210 
     211 
     212 
     213   
     214 
     215     
    153216    void LuoPelaaja() 
    154217    { 
     
    170233       ajastin.Timeout += KaannaKohtiMaata; 
    171234       ajastin.Start(); 
     235       pisteLaskuri.Value = -10; 
    172236    } 
    173237 
Note: See TracChangeset for help on using the changeset viewer.