Ignore:
Timestamp:
2012-06-13 14:54:43 (8 years ago)
Author:
sijoseha
Message:

Talletus.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2012/24/AnttoniS/Ufot/Ufot/Ufot/Ufot.cs

    r2977 r2992  
    99public class Ufot : PhysicsGame 
    1010{ 
    11     PhysicsObject vartalo; 
     11    PeliHahmo vartalo; 
     12    DoubleMeter voimaMittari; 
    1213    PhysicsObject pää; 
    1314    Image ukko = LoadImage("ukko"); 
    14      
     15    ExplosionSystem rajahdys; 
     16    PhysicsObject olio; 
     17    Image olioKuva = LoadImage("olio"); 
     18    Image taustakuva = LoadImage("background"); 
    1519    public override void Begin() 
    1620    { 
    1721        // TODO: Kirjoita ohjelmakoodisi tähän 
     22        voimaMittari = new DoubleMeter(10); 
     23        voimaMittari.MaxValue = 10; 
     24        ProgressBar voimaPalkki = new ProgressBar(200, 10); 
     25        voimaPalkki.BindTo(voimaMittari); 
     26        Add(voimaPalkki); 
     27        voimaPalkki.X = Screen.Right - 150; 
     28        voimaPalkki.Y = Screen.Top - 300; 
     29        voimaPalkki.Angle = Angle.RightAngle; 
     30        voimaPalkki.BarColor = Color.Green; 
     31        voimaPalkki.BorderColor = Color.White; 
     32        voimaPalkki.Angle = Angle.FromDegrees(0); 
     33 
     34 
    1835        Level.CreateBorders(false); 
    1936        Level.BackgroundColor = Color.LightGray; 
    20         Smoke savu = new Smoke(); 
    21         savu.Position = new Vector(Level.Left + 30, -300); 
    22         Add(savu); 
    23         Wind = new Vector(80, 10); 
     37        Level.Background.Image = taustakuva; 
     38         
    2439 
    25  
    26         vartalo = new PhysicsObject(75, 150); 
    27         vartalo.Mass = (10000); 
     40         rajahdys = new ExplosionSystem(LoadImage("rajahdys"), 500); 
     41         rajahdys.MaxVelocity = 10; 
     42         rajahdys.MinVelocity = 5; 
     43        rajahdys.BlendMode = BlendMode.Additive; 
     44         Add(rajahdys); 
     45       
     46        vartalo = new PeliHahmo(75, 150); 
     47        vartalo.Mass = (9999999); 
    2848        PlasmaCannon ase = new PlasmaCannon(30, 20); 
    2949        vartalo.Add(ase); 
    3050        ase.X = 20; 
    31         Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", ase); 
    32         Mouse.IsCursorVisible = true; 
     51        Mouse.Listen(MouseButton.Left, ButtonState.Pressed, AmmuAseella, "Ammu", ase); 
     52        Mouse.IsCursorVisible = false; 
    3353        Mouse.ListenMovement(0.1, KuunteleLiiketta, null); 
    3454        vartalo.X = -0.0; 
     
    3656        vartalo.Color = Color.Beige; 
    3757        vartalo.Shape = Shape.Ellipse; 
    38         Gravity = new Vector(0.0, -0.0); 
     58        Gravity = new Vector(0.0, 0.0); 
    3959        vartalo.Restitution = 1.0; 
    4060        Add(vartalo); 
     61        vartalo.CollisionIgnoreGroup = 0; 
    4162        vartalo.Image = ukko; 
    4263 
     64        olio = new PhysicsObject(500, 220); 
     65        olio.Color = Color.Gray; 
     66        olio.Shape = Shape.Circle; 
     67        olio.X = 0.0; 
     68        olio.Y = 185; 
     69        Add (olio); 
     70        olio.IgnoresCollisionResponse = false; 
     71        LaserGun laserPyssy = new LaserGun(20, 5); 
     72        olio.Add(laserPyssy); 
     73       // laserPyssy.ProjectileCollision = LaserSadeOsuu; 
     74        olio.Image = olioKuva;  
     75        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(); 
     76        olio.Brain = satunnaisAivot; 
     77        satunnaisAivot.Active = true; 
     78        satunnaisAivot.Speed = 7000; 
    4379 
    4480        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
     81        Keyboard.Listen(Key.Space, ButtonState.Pressed, 
     82                     VahennaVoimia, "Vähennä pelaajan voimia"); 
    4583        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    4684    } 
     
    4886    void KuunteleLiiketta(AnalogState hiirenTila) 
    4987    { 
     88        if(Mouse.PositionOnWorld.X > Level.Left && Mouse.PositionOnWorld.X < Level.Right) 
    5089        vartalo.X = Mouse.PositionOnWorld.X; 
    5190    } 
     
    5796        if (ammus != null) 
    5897        { 
    59             ammus.Size *= 1; 
     98            ammus.Size *= 2; 
     99            ammus.Color = Color.Yellow; 
     100            AddCollisionHandler(ammus, AmmusTormaa); 
    60101        } 
    61102 
     
    63104    } 
    64105 
     106    void AmmusTormaa(PhysicsObject tormaaja, PhysicsObject kohde) 
     107    { 
     108        rajahdys.AddEffect(tormaaja.Position, 40); 
     109        tormaaja.Destroy(); 
     110         
     111    } 
     112 
     113    class PeliHahmo : PhysicsObject 
     114    { 
     115        public int Elamat = 3; 
     116 
     117        public PeliHahmo(double leveys, double korkeus) 
     118          :  base(leveys, korkeus) 
     119        { 
     120        } 
     121    } 
     122 
     123    void VahennaVoimia() 
     124    { 
     125        voimaMittari.Value--; 
     126    } 
     127 
     128    void VoimaLoppui(double mittarinArvo) 
     129    { 
     130        MessageDisplay.Add("Voimat loppuivat, voi voi."); 
     131    } 
     132 
     133    IntMeter pisteLaskuri; 
     134 
     135    void LuoLaskuri() 
     136    { 
     137        pisteLaskuri = new IntMeter(0); 
     138 
     139        Label pisteNaytto = new Label(); 
     140        pisteNaytto.X = Screen.Left + 100; 
     141        pisteNaytto.Y = Screen.Top - 100; 
     142        pisteNaytto.TextColor = Color.Black; 
     143        pisteNaytto.Color = Color.White; 
     144 
     145        pisteNaytto.BindTo(pisteLaskuri); 
     146        Add(pisteNaytto); 
     147 
     148        pisteNaytto.BindTo(pisteLaskuri); 
     149        Add(pisteNaytto); 
     150 
     151        Label pisteTeksti = new Label("Elämät: "); 
     152        pisteTeksti.X = Screen.Left + 50; 
     153        pisteTeksti.Y = Screen.Top - 100; 
     154        pisteTeksti.TextColor = Color.Red; 
     155        pisteTeksti.Color = Color.Black; 
     156        Add(pisteTeksti); 
     157    } 
    65158} 
Note: See TracChangeset for help on using the changeset viewer.