Changeset 1204 for 2010/24/arhetaka


Ignore:
Timestamp:
2010-07-08 15:03:30 (9 years ago)
Author:
arhetaka
Message:

aceshigh ehkä toimii

Location:
2010/24/arhetaka/AcesHigh/AcesHigh
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • 2010/24/arhetaka/AcesHigh/AcesHigh/Content/Content.contentproj

    r1158 r1204  
    115115    </Compile> 
    116116  </ItemGroup> 
     117  <ItemGroup> 
     118    <Compile Include="pommi.png"> 
     119      <Name>pommi</Name> 
     120      <Importer>TextureImporter</Importer> 
     121      <Processor>TextureProcessor</Processor> 
     122    </Compile> 
     123  </ItemGroup> 
    117124</Project> 
  • 2010/24/arhetaka/AcesHigh/AcesHigh/Peli.cs

    r1158 r1204  
    1111    PhysicsObject kone2; 
    1212    ExplosionSystem systeemi; 
    13  
     13    ExplosionSystem pomminsysteemi; 
     14 
     15    PhysicsObject kone1pommi = new PhysicsObject(24, 8); 
     16    PhysicsObject kone2pommi = new PhysicsObject(24, 8); 
    1417 
    1518    int Pelaaja1NosteenSuunta = 1; 
     
    2932        Gravity = new Vector(0.0, -150.0); 
    3033        Level.Height = Screen.Height; 
    31         Level.Width = 20000; 
     34        Level.Width = 5000; 
    3235        Level.CreateBorders();         
    3336        Level.CreateBottomBorder(); 
     
    4649        kone1.Tag = "kone1"; 
    4750        kone1.X = -100; 
     51        AddCollisionHandler(kone1, kone1osuu); 
    4852        Add(kone1); 
    4953        //Camera.FollowedObject = kone1.; 
     
    7680        Add(systeemi); 
    7781 
    78         for (int a = 0; a < 100; a++) 
     82        pomminsysteemi = new ExplosionSystem(LoadImage("rajahdys"), 100, false); 
     83        pomminsysteemi.MaxScale = 0.5; 
     84        pomminsysteemi.MinScale = 0.3; 
     85        pomminsysteemi.MaxLifetime = 0.3; 
     86        pomminsysteemi.MinLifetime = 0.08; 
     87        Add(pomminsysteemi); 
     88 
     89        for (int a = 0; a < 10; a++) 
    7990        { 
    8091            LuoVihollinen(RandomGen.NextInt(2)); 
     
    101112        Keyboard.Listen(Key.Down, ButtonState.Pressed, PyoritaPelaajaa, null, kone1); 
    102113        Keyboard.Listen(Key.RightControl, ButtonState.Pressed, Ammu, null, kone1, 1); 
     114        Keyboard.Listen(Key.Enter, ButtonState.Pressed, Pommita, null, kone1); 
     115         
    103116 
    104117        //pelaaja 2 
     
    144157    } 
    145158 
     159    void PaivitaPainotus(PhysicsObject kone) 
     160    { 
     161        Vector KoneenNokanSuunta = Vector.FromLengthAndAngle(1, kone.Angle); 
     162        if (kone.Angle > Angle.Degrees(-90) && kone.Angle < Angle.Degrees(90)) 
     163        { 
     164            Double kulmanopeus = kone.Angle.Degree; 
     165            if (kulmanopeus < 0) 
     166            { 
     167                kulmanopeus = kulmanopeus * -1; 
     168            } 
     169            kulmanopeus = 100 - kulmanopeus; 
     170            kulmanopeus = kulmanopeus / 100; 
     171            kone.AngularVelocity -= kulmanopeus; 
     172        } 
     173        else  
     174        { 
     175            Double kulmanopeus = kone.Angle.Degree; 
     176            if (kulmanopeus > 90) 
     177            { 
     178                kulmanopeus = 180 - kulmanopeus; 
     179            } 
     180            else 
     181            { 
     182                kulmanopeus = kulmanopeus * -1; 
     183                kulmanopeus = 180 - kulmanopeus; 
     184            } 
     185            kulmanopeus = 100 - kulmanopeus; 
     186            kulmanopeus = kulmanopeus / 100;             
     187            kone.AngularVelocity += kulmanopeus; 
     188        } 
     189 
     190    } 
     191 
     192    void kone1osuu(PhysicsObject kone, PhysicsObject kohde) 
     193    { 
     194        if (kohde.Tag == "pommi1") 
     195        { 
     196             
     197 
     198        } 
     199    } 
    146200 
    147201    void PyoritaPelaajaa(PhysicsObject pelaaja) 
     
    218272            { 
    219273                 
    220                 kohde.MaximumLifetime = TimeSpan.FromMilliseconds(2000)  + kohde.Lifetime; 
     274                kohde.MaximumLifetime = TimeSpan.FromMilliseconds(RandomGen.NextDouble(500, 2000))  + kohde.Lifetime; 
    221275                //Remove(kohde); 
    222276            } 
     
    237291    } 
    238292 
     293    void LuoVihollinen(int tyyppi) 
     294    { 
     295        PhysicsObject vihollinen = new PhysicsObject(30,30); 
     296         
     297        if (tyyppi == 1) 
     298        { 
     299 
     300            vihollinen.Mass = 100; 
     301            vihollinen.Image = LoadImage("vih_aija"); 
     302            vihollinen.Tag = "viho_aija"; 
     303        } 
     304        else 
     305        { 
     306            vihollinen.Mass = 1000; 
     307            vihollinen.Width = 60; 
     308            vihollinen.Height = 60; 
     309            vihollinen.Image = LoadImage("vih_tankki"); 
     310            vihollinen.Tag = "viho_tankki"; 
     311        } 
     312        vihollinen.Shape = Shapes.Triangle; 
     313        vihollinen.KineticFriction = 1; 
     314        vihollinen.Mass = 1; 
     315        vihollinen.X = RandomGen.NextDouble(Level.Left + 20, Level.Right - 20); 
     316        vihollinen.Y = Level.Bottom + 200; 
     317        vihollinen.AngularDamping = 1; 
     318        Add(vihollinen); 
     319    } 
     320    void Pommita(PhysicsObject kone) 
     321    { 
     322        if (!kone1pommi.IsAddedToGame) 
     323        { 
     324            kone1pommi = new PhysicsObject(24, 8); 
     325            kone1pommi.X = kone.X; 
     326            kone1pommi.Y = kone.Y; 
     327            kone1pommi.Tag = "pommi1"; 
     328            kone1pommi.Velocity = kone.Velocity; 
     329            kone1pommi.Angle = kone.Angle; 
     330            kone1pommi.Image = LoadImage("pommi"); 
     331            kone1pommi.IgnoresCollisionResponse = true; 
     332            Timer ajastin = new Timer(); 
     333            ajastin.Tag = kone1pommi; 
     334            ajastin.Interval = 0.2; 
     335            ajastin.Trigger += PommiVirittyy; 
     336            Add(ajastin); 
     337            ajastin.Start(); 
     338            AddCollisionHandler(kone1pommi, PommiOsuu); 
     339            Add(kone1pommi); 
     340        } 
     341    } 
     342    void PommiVirittyy(Timer sender) 
     343    { 
     344        PhysicsObject pommi = (PhysicsObject)sender.Tag; 
     345        pommi.IgnoresCollisionResponse = false; 
     346    } 
     347 
     348    void PommiOsuu(PhysicsObject pommi, PhysicsObject kohde) 
     349    { 
     350        if (kohde.Tag != "kone1") 
     351        { 
     352            pomminsysteemi.AddEffect(pommi.X, pommi.Y, 50); 
     353            Remove(pommi); 
     354        } 
     355    } 
     356    void PaivitaPommit() 
     357    { 
     358 
     359    } 
     360 
    239361    protected override void Update(Time time) 
    240362    { 
    241363        PaivitaKoneenNoste(kone1); 
     364        PaivitaPainotus(kone1); 
     365        PaivitaPainotus(kone1pommi); 
     366 
    242367        //PaivitaKoneenNoste(kone2); 
    243368        Camera.X = kone1.X; 
    244369        base.Update(time); 
    245370    } 
    246     void LuoVihollinen(int tyyppi) 
    247     { 
    248         PhysicsObject vihollinen = new PhysicsObject(30, 30); 
    249         vihollinen.Shape = Shapes.Triangle; 
    250         vihollinen.KineticFriction = 1; 
    251         vihollinen.Mass = 1; 
    252         vihollinen.X = RandomGen.NextDouble(Level.Left + 20, Level.Right -20); 
    253         vihollinen.Y = Level.Bottom + 200; 
    254         vihollinen.AngularDamping = 1; 
    255         if (tyyppi == 1) 
    256         { 
    257             vihollinen.Image = LoadImage("vih_aija"); 
    258             vihollinen.Tag = "viho_aija"; 
    259         } 
    260         else 
    261         { 
    262             vihollinen.Image = LoadImage("vih_tankki"); 
    263             vihollinen.Tag = "viho_tankki"; 
    264         } 
    265          
    266         Add(vihollinen); 
    267     } 
    268371 
    269372} 
Note: See TracChangeset for help on using the changeset viewer.