Changeset 1419


Ignore:
Timestamp:
2010-07-29 14:57:31 (9 years ago)
Author:
aneesavi
Message:
 
Location:
2010/30/aneesavi/Cyb0rg-City
Files:
3 added
4 edited

Legend:

Unmodified
Added
Removed
  • 2010/30/aneesavi/Cyb0rg-City/Content/Content.contentproj

    r1399 r1419  
    6161    </Compile> 
    6262  </ItemGroup> 
     63  <ItemGroup> 
     64    <Compile Include="Ase1.png"> 
     65      <Name>Ase1</Name> 
     66      <Importer>TextureImporter</Importer> 
     67      <Processor>TextureProcessor</Processor> 
     68    </Compile> 
     69  </ItemGroup> 
     70  <ItemGroup> 
     71    <Compile Include="rajahdys.png"> 
     72      <Name>rajahdys</Name> 
     73      <Importer>TextureImporter</Importer> 
     74      <Processor>TextureProcessor</Processor> 
     75    </Compile> 
     76  </ItemGroup> 
    6377  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    6478  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2010/30/aneesavi/Cyb0rg-City/Peli.cs

    r1399 r1419  
    11using System; 
     2using System.Collections.Generic; 
    23using Jypeli; 
    34using Jypeli.Widgets; 
    45using Jypeli.Assets; 
     6using Jypeli.Effects; 
     7 
    58 
    69 
    710class Tasohyppely : PhysicsGame 
    811{ 
    9     const double nopeus = 200; 
     12    const double nopeus = 500; 
    1013    const double hyppyVoima = 4000; 
     14    DoubleMeter energiaMittari; 
    1115 
    1216    PlatformCharacter pelaaja1; 
     
    1418    PlatformCharacter vihollinen; 
    1519    Image Evil = LoadImage("Evil"); 
     20    Image Ase1 = LoadImage("Ase1"); 
    1621    const int ruudunLeveys = 50; 
    1722    const int ruudunKorkeus = 50; 
    1823 
     24    List<PlatformCharacter> viholliset; 
     25    ExplosionSystem rajahdys; 
    1926 
    2027    protected override void Begin() 
    2128    { 
     29        viholliset = new List<PlatformCharacter>(); 
     30        rajahdys = new ExplosionSystem(LoadImage("rajahdys"), 200); 
     31        Add(rajahdys); 
     32 
    2233        Gravity = new Vector(0, -1000); 
    2334 
    2435        luoKentta(); 
    2536        lisaaNappaimet(); 
     37        LisaaVihollisenEnergiapalkki(); 
    2638 
    2739        Camera.Follow(pelaaja1); 
    2840        Camera.ZoomFactor = 1.0; 
    29         Camera.StayInLevel = true; 
     41        //Camera.StayInLevel = true; 
    3042    } 
    3143 
     
    4961    { 
    5062        // tämä aliohjelma ei ole vielä valmis... 
    51         PhysicsObject laakepaketti = new PhysicsObject(50,50); 
     63        PhysicsObject laakepaketti = new PhysicsObject(50, 50); 
    5264        return laakepaketti; 
    5365    } 
     
    6173        pelaaja1.LeftWalkingAnimation = new Animation(Image.Mirror(seppo)); 
    6274        pelaaja1.RightWalkingAnimation = new Animation(seppo); 
     75        pelaaja1.Weapon = new AssaultRifle(150, 50); 
     76        pelaaja1.Weapon.Size = new Vector(230, 100); 
     77        pelaaja1.Weapon.Image = Ase1; 
    6378        return pelaaja1; 
    6479    } 
     
    7287        Keyboard.Listen(Key.D, ButtonState.Down, liikuta, "Liikkuu oikealle", pelaaja1, nopeus); 
    7388        Keyboard.Listen(Key.W, ButtonState.Pressed, hyppaa, "Hyppää", pelaaja1, hyppyVoima); 
     89        Keyboard.Listen(Key.Space, ButtonState.Down, Ammu, "Ammu"); 
    7490 
    7591        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     
    8096    } 
    8197 
     98    void Ammu() 
     99    { 
     100        PhysicsObject ammus = pelaaja1.Weapon.Shoot(); 
     101        if (ammus != null) 
     102        { 
     103            ammus.Size *= 6; 
     104            ammus.Velocity *= 4; 
     105            rajahdys.MinLifetime = 0.1; 
     106            rajahdys.MaxLifetime = 0.2; 
     107            rajahdys.MinVelocity = 1; 
     108            rajahdys.MaxVelocity = 100; 
     109            rajahdys.MinScale = 0.05; 
     110            rajahdys.MaxScale = 0.1; 
     111 
     112            double x = ammus.X; 
     113            if (pelaaja1.FacingDirection == Direction.Left) 
     114            { 
     115                x -= 60; 
     116            } 
     117 
     118            if (pelaaja1.FacingDirection == Direction.Right) 
     119            { 
     120                x += 60; 
     121            } 
     122 
     123            rajahdys.AddEffect(x, ammus.Y, 20); 
     124 
     125            AddCollisionHandler(ammus, AmmusOsui); 
     126        } 
     127    } 
     128 
     129    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     130    { 
     131        if (kohde == vihollinen) 
     132        { 
     133            VahennaVihollisenVoimia(); 
     134        } 
     135    } 
     136 
    82137    void liikuta(PlatformCharacter hahmo, double nopeus) 
    83138    { 
    84139        hahmo.Walk(nopeus); 
     140        if (nopeus < 0) 
     141        { 
     142            hahmo.Weapon.Image = Image.Flip(Ase1); 
     143        } 
     144        else 
     145            hahmo.Weapon.Image = Ase1; 
     146 
    85147    } 
    86148 
     
    92154    PhysicsObject Luovihollinen() 
    93155    { 
    94         vihollinen = new PlatformCharacter(200, 200); 
     156        vihollinen = new PlatformCharacter(200, 200, Shapes.Circle); 
    95157        vihollinen.Mass = 2.0; 
    96158        vihollinen.Image = Evil; 
    97159        vihollinen.LeftWalkingAnimation = new Animation(Image.Mirror(Evil)); 
    98160        vihollinen.RightWalkingAnimation = new Animation(Evil); 
    99         Timer ajastin = new Timer(); 
    100         ajastin.Interval = 1.5; 
    101         ajastin.Trigger += KavelytaVihollista; 
    102         ajastin.Start(); 
    103  
     161        viholliset.Add(vihollinen); 
    104162        return vihollinen; 
    105163    } 
    106     void KavelytaVihollista(Timer sender) 
    107     { 
     164 
     165    protected override void Update(Time time) 
     166    { 
     167        base.Update(time); 
     168        foreach (PlatformCharacter vihollinen in viholliset) 
     169        { 
     170            if (pelaaja1.X < vihollinen.X) 
     171            { 
     172                vihollinen.Walk(-200); 
     173            } 
     174 
     175            if (pelaaja1.X > vihollinen.X) 
     176            { 
     177                vihollinen.Walk(200); 
     178            } 
     179        } 
     180    } 
     181 
     182 
     183    void LisaaVihollisenEnergiapalkki() 
     184    { 
     185        energiaMittari = new DoubleMeter(5); 
     186        energiaMittari.MaxValue = 5; 
     187        energiaMittari.MinValue = 0; 
     188        BarGauge voimaPalkki = new BarGauge(20, 150); 
     189        voimaPalkki.BindTo(energiaMittari); 
     190        Add(voimaPalkki); 
     191 
     192        voimaPalkki.X = (0.8 * Screen.RightSafe); 
     193        voimaPalkki.Y = (0.8 * Screen.TopSafe); 
     194        voimaPalkki.BarColor = Color.Green; 
     195        voimaPalkki.BorderColor = Color.Red; 
     196        voimaPalkki.Angle = Angle.Degrees(90); 
     197 
     198        // Kun voima loppuu, kutsutaan VoimaLoppui-aliohjelmaa 
     199        energiaMittari.LowerLimit += VihollinenKuolee; 
     200    } 
     201 
     202    void VahennaVihollisenVoimia() 
     203    { 
     204        energiaMittari.Value--; 
     205    } 
     206 
     207    void VihollinenKuolee(double mittarinArvo) 
     208    { 
     209        MessageDisplay.Add("Vihollinen kuoli"); 
     210        rajahdys.MinScale = 0.2; 
     211        rajahdys.MaxScale = 1; 
     212        rajahdys.MinLifetime = 0.2; 
     213        rajahdys.MaxLifetime = 1.5; 
     214        rajahdys.MinVelocity = 100; 
     215        rajahdys.MaxVelocity = 400; 
     216        rajahdys.AddEffect(vihollinen.X, vihollinen.Y, 100); 
     217        vihollinen.Destroy(); 
    108218         
    109219    } 
  • 2010/30/aneesavi/Cyb0rg-City/kentta.txt

    r1399 r1419  
    1313=                                                                                                       = 
    1414=                                                                                                       =    
    15 =                                                                                                       = 
    16 =      1                     2                                                                          = 
     15=                            2                                                                          = 
     16=      1                                                                                                = 
    1717=                                                                                                       = 
    1818========================================================================================================= 
Note: See TracChangeset for help on using the changeset viewer.