Changeset 1463 for 2010/30/aneesavi


Ignore:
Timestamp:
2010-07-30 13:02:19 (9 years ago)
Author:
aneesavi
Message:
 
Location:
2010/30/aneesavi/Cyb0rg-City
Files:
2 added
5 edited

Legend:

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

    r1419 r1463  
    7575    </Compile> 
    7676  </ItemGroup> 
     77  <ItemGroup> 
     78    <Compile Include="Ase2.png"> 
     79      <Name>Ase2</Name> 
     80      <Importer>TextureImporter</Importer> 
     81      <Processor>TextureProcessor</Processor> 
     82    </Compile> 
     83  </ItemGroup> 
    7784  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    7885  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2010/30/aneesavi/Cyb0rg-City/Cyb0rg-City.csproj

    r1388 r1463  
    6969      <Private>False</Private> 
    7070    </Reference> 
     71    <Reference Include="System.Data" /> 
    7172    <Reference Include="System.Xml"> 
    7273      <Private>False</Private> 
     
    8283  </ItemGroup> 
    8384  <ItemGroup> 
     85    <Compile Include="Pelihahmo.cs" /> 
    8486    <Compile Include="Properties\AssemblyInfo.cs" /> 
    8587    <Compile Include="Ohjelma.cs" /> 
  • 2010/30/aneesavi/Cyb0rg-City/Ohjelma.cs

    r1388 r1463  
    11using System; 
    22 
    3 static class Ohjelma 
     3namespace Cyb0rg_City 
    44{ 
    5     static void Main(string[] args) 
     5 
     6    static class Ohjelma 
    67    { 
    7         using (Tasohyppely peli = new Tasohyppely()) 
     8        static void Main(string[] args) 
    89        { 
     10            using (Tasohyppely peli = new Tasohyppely()) 
     11            { 
    912#if !DEBUG 
    1013            peli.IsFullScreen = true; 
    1114#endif 
    12             peli.Run(); 
     15                peli.Run(); 
     16            } 
    1317        } 
    1418    } 
  • 2010/30/aneesavi/Cyb0rg-City/Peli.cs

    r1419 r1463  
    66using Jypeli.Effects; 
    77 
    8  
    9  
    10 class Tasohyppely : PhysicsGame 
     8namespace Cyb0rg_City 
    119{ 
    12     const double nopeus = 500; 
    13     const double hyppyVoima = 4000; 
    14     DoubleMeter energiaMittari; 
    15  
    16     PlatformCharacter pelaaja1; 
    17     Image seppo = LoadImage("Seppo"); 
    18     PlatformCharacter vihollinen; 
    19     Image Evil = LoadImage("Evil"); 
    20     Image Ase1 = LoadImage("Ase1"); 
    21     const int ruudunLeveys = 50; 
    22     const int ruudunKorkeus = 50; 
    23  
    24     List<PlatformCharacter> viholliset; 
    25     ExplosionSystem rajahdys; 
    26  
    27     protected override void Begin() 
     10    class Tasohyppely : PhysicsGame 
    2811    { 
    29         viholliset = new List<PlatformCharacter>(); 
    30         rajahdys = new ExplosionSystem(LoadImage("rajahdys"), 200); 
    31         Add(rajahdys); 
    32  
    33         Gravity = new Vector(0, -1000); 
    34  
    35         luoKentta(); 
    36         lisaaNappaimet(); 
    37         LisaaVihollisenEnergiapalkki(); 
    38  
    39         Camera.Follow(pelaaja1); 
    40         Camera.ZoomFactor = 1.0; 
    41         //Camera.StayInLevel = true; 
    42     } 
    43  
    44     void luoKentta() 
    45     { 
    46         TileMap ruudut = TileMap.FromFile("kentta.txt"); 
    47         ruudut['='] = LuoPalikka; 
    48         ruudut['1'] = LuoPelaaja; 
    49         ruudut['x'] = LuoLaakepaketti; 
    50         ruudut['2'] = Luovihollinen; 
    51         ruudut.Insert(ruudunLeveys, ruudunKorkeus); 
    52     } 
    53  
    54     PhysicsObject LuoPalikka() 
    55     { 
    56         PhysicsObject palikka = PhysicsObject.CreateStaticObject(ruudunLeveys, ruudunKorkeus); 
    57         return palikka; 
    58     } 
    59  
    60     PhysicsObject LuoLaakepaketti() 
    61     { 
    62         // tämä aliohjelma ei ole vielä valmis... 
    63         PhysicsObject laakepaketti = new PhysicsObject(50, 50); 
    64         return laakepaketti; 
    65     } 
    66  
    67  
    68     PhysicsObject LuoPelaaja() 
    69     { 
    70         pelaaja1 = new PlatformCharacter(125, 125); 
    71         pelaaja1.Mass = 4.0; 
    72         pelaaja1.Image = seppo; 
    73         pelaaja1.LeftWalkingAnimation = new Animation(Image.Mirror(seppo)); 
    74         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; 
    78         return pelaaja1; 
    79     } 
    80  
    81     void lisaaNappaimet() 
    82     { 
    83         Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    84         Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä"); 
    85  
    86         Keyboard.Listen(Key.A, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
    87         Keyboard.Listen(Key.D, ButtonState.Down, liikuta, "Liikkuu oikealle", pelaaja1, nopeus); 
    88         Keyboard.Listen(Key.W, ButtonState.Pressed, hyppaa, "Hyppää", pelaaja1, hyppyVoima); 
    89         Keyboard.Listen(Key.Space, ButtonState.Down, Ammu, "Ammu"); 
    90  
    91         ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
    92  
    93         ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus); 
    94         ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 
    95         ControllerOne.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyVoima); 
    96     } 
    97  
    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  
    137     void liikuta(PlatformCharacter hahmo, double nopeus) 
    138     { 
    139         hahmo.Walk(nopeus); 
    140         if (nopeus < 0) 
    141         { 
    142             hahmo.Weapon.Image = Image.Flip(Ase1); 
    143         } 
    144         else 
    145             hahmo.Weapon.Image = Ase1; 
    146  
    147     } 
    148  
    149     void hyppaa(PlatformCharacter hahmo, double voima) 
    150     { 
    151         hahmo.Jump(voima); 
    152     } 
    153  
    154     PhysicsObject Luovihollinen() 
    155     { 
    156         vihollinen = new PlatformCharacter(200, 200, Shapes.Circle); 
    157         vihollinen.Mass = 2.0; 
    158         vihollinen.Image = Evil; 
    159         vihollinen.LeftWalkingAnimation = new Animation(Image.Mirror(Evil)); 
    160         vihollinen.RightWalkingAnimation = new Animation(Evil); 
    161         viholliset.Add(vihollinen); 
    162         return vihollinen; 
    163     } 
    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(); 
    218          
     12        const double nopeus = 500; 
     13        const double hyppyVoima = 4000; 
     14 
     15        PlatformCharacter pelaaja1; 
     16        Image seppo = LoadImage("Seppo"); 
     17        Image Ase2 = LoadImage("Ase2"); 
     18 
     19        Image Evil = LoadImage("Evil"); 
     20        Image Ase1 = LoadImage("Ase1"); 
     21        const int ruudunLeveys = 50; 
     22        const int ruudunKorkeus = 50; 
     23 
     24        List<Pelihahmo> viholliset; 
     25        List<DoubleMeter> energiamittarit; 
     26 
     27        ExplosionSystem rajahdys; 
     28 
     29        protected override void Begin() 
     30        { 
     31            viholliset = new List<Pelihahmo>(); 
     32            energiamittarit = new List<DoubleMeter>(); 
     33            rajahdys = new ExplosionSystem(LoadImage("rajahdys"), 200); 
     34            Add(rajahdys); 
     35 
     36            Gravity = new Vector(0, -1000); 
     37 
     38            luoKentta(); 
     39            lisaaNappaimet(); 
     40 
     41            Camera.Follow(pelaaja1); 
     42            Camera.ZoomFactor = 1.0; 
     43            //Camera.StayInLevel = true; 
     44        } 
     45 
     46        void luoKentta() 
     47        { 
     48            TileMap ruudut = TileMap.FromFile("kentta.txt"); 
     49            ruudut['='] = LuoPalikka; 
     50            ruudut['1'] = LuoPelaaja; 
     51            ruudut['x'] = LuoLaakepaketti; 
     52            ruudut['2'] = Luovihollinen; 
     53            ruudut.Insert(ruudunLeveys, ruudunKorkeus); 
     54        } 
     55 
     56        PhysicsObject LuoPalikka() 
     57        { 
     58            PhysicsObject palikka = PhysicsObject.CreateStaticObject(ruudunLeveys, ruudunKorkeus); 
     59            return palikka; 
     60        } 
     61 
     62        PhysicsObject LuoLaakepaketti() 
     63        { 
     64            // tämä aliohjelma ei ole vielä valmis... 
     65            PhysicsObject laakepaketti = new PhysicsObject(50, 50); 
     66            return laakepaketti; 
     67        } 
     68 
     69 
     70        PhysicsObject LuoPelaaja() 
     71        { 
     72            pelaaja1 = new PlatformCharacter(125, 125); 
     73            pelaaja1.Mass = 4.0; 
     74            pelaaja1.Image = seppo; 
     75            pelaaja1.LeftWalkingAnimation = new Animation(Image.Mirror(seppo)); 
     76            pelaaja1.RightWalkingAnimation = new Animation(seppo); 
     77 
     78            AssaultRifle ase = new AssaultRifle(150, 50); 
     79            ase.Ammo.Value = 100000; 
     80 
     81            pelaaja1.Weapon = ase; 
     82            pelaaja1.Weapon.Size = new Vector(230, 100); 
     83            pelaaja1.Weapon.Image = Ase1; 
     84            return pelaaja1; 
     85        } 
     86 
     87        void lisaaNappaimet() 
     88        { 
     89            Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     90            Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     91 
     92            Keyboard.Listen(Key.A, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
     93            Keyboard.Listen(Key.D, ButtonState.Down, liikuta, "Liikkuu oikealle", pelaaja1, nopeus); 
     94            Keyboard.Listen(Key.W, ButtonState.Pressed, hyppaa, "Hyppää", pelaaja1, hyppyVoima); 
     95            Keyboard.Listen(Key.Space, ButtonState.Down, Ammu, "Ammu"); 
     96 
     97            ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     98 
     99            ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus); 
     100            ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 
     101            ControllerOne.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyVoima); 
     102        } 
     103 
     104        void Ammu() 
     105        { 
     106            PhysicsObject ammus = pelaaja1.Weapon.Shoot(); 
     107            if (ammus != null) 
     108            { 
     109                ammus.Size *= 5; 
     110                ammus.Velocity *= 12; 
     111                rajahdys.MinLifetime = 0.1; 
     112                rajahdys.MaxLifetime = 0.2; 
     113                rajahdys.MinVelocity = 1; 
     114                rajahdys.MaxVelocity = 200; 
     115                rajahdys.MinScale = 0.05; 
     116                rajahdys.MaxScale = 0.1; 
     117 
     118                double x = ammus.X; 
     119                if (pelaaja1.FacingDirection == Direction.Left) 
     120                { 
     121                    x -= 60; 
     122                } 
     123 
     124                if (pelaaja1.FacingDirection == Direction.Right) 
     125                { 
     126                    x += 60; 
     127                } 
     128 
     129                rajahdys.AddEffect(x, ammus.Y, 20); 
     130 
     131                AddCollisionHandler(ammus, AmmusOsui); 
     132            } 
     133        } 
     134 
     135        void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     136        { 
     137            if (kohde.Tag.ToString() == "vihollinen") 
     138            { 
     139                VahennaVihollisenVoimia((Pelihahmo)kohde); 
     140            } 
     141        } 
     142 
     143        void liikuta(PlatformCharacter hahmo, double nopeus) 
     144        { 
     145            hahmo.Walk(nopeus); 
     146            if (nopeus < 0) 
     147            { 
     148                hahmo.Weapon.Image = Image.Flip(Ase1); 
     149            } 
     150            else 
     151                hahmo.Weapon.Image = Ase1; 
     152 
     153        } 
     154 
     155        void hyppaa(PlatformCharacter hahmo, double voima) 
     156        { 
     157            hahmo.Jump(voima); 
     158        } 
     159 
     160        PhysicsObject Luovihollinen() 
     161        { 
     162            Pelihahmo vihollinen = new Pelihahmo(200, 200); 
     163            vihollinen.Shape = Shapes.Circle; 
     164            vihollinen.Mass = 5.0; 
     165            vihollinen.Image = Evil; 
     166            vihollinen.LeftWalkingAnimation = new Animation(Image.Mirror(Evil)); 
     167            vihollinen.RightWalkingAnimation = new Animation(Evil); 
     168            viholliset.Add(vihollinen); 
     169            vihollinen.AsetaHP(5); 
     170            vihollinen.Tag = "vihollinen"; 
     171 
     172            AssaultRifle ase = new AssaultRifle(150, 50); 
     173            ase.Ammo.Value = 100000; 
     174            vihollinen.Weapon = ase; 
     175            vihollinen.Weapon.Size = new Vector(230, 100); 
     176            vihollinen.Weapon.Image = Ase2; 
     177 
     178            Timer ajastin = new Timer(); 
     179            ajastin.Interval = 0.15; 
     180            ajastin.Trigger += VihollinenAmpuu; 
     181            ajastin.Tag = vihollinen; 
     182            ajastin.Start(); 
     183 
     184 
     185            return vihollinen; 
     186        } 
     187 
     188        protected override void Update(Time time) 
     189        { 
     190            base.Update(time); 
     191            foreach (PlatformCharacter vihollinen in viholliset) 
     192            { 
     193                if (pelaaja1.X < vihollinen.X) 
     194                { 
     195                    vihollinen.Walk(-200); 
     196                } 
     197 
     198                if (pelaaja1.X > vihollinen.X) 
     199                { 
     200                    vihollinen.Walk(200); 
     201                } 
     202            } 
     203        } 
     204 
     205        void VahennaVihollisenVoimia(Pelihahmo hahmo) 
     206        { 
     207            hahmo.AsetaHP(hahmo.AnnaHP() - 1); 
     208 
     209            if (hahmo.AnnaHP() < 1) 
     210            { 
     211                hahmo.Destroy(); 
     212                MessageDisplay.Add("Vihollinen kuoli"); 
     213                rajahdys.MinScale = 0.2; 
     214                rajahdys.MaxScale = 1; 
     215                rajahdys.MinLifetime = 0.2; 
     216                rajahdys.MaxLifetime = 1.5; 
     217                rajahdys.MinVelocity = 100; 
     218                rajahdys.MaxVelocity = 400; 
     219                rajahdys.AddEffect(hahmo.X, hahmo.Y, 100); 
     220            } 
     221        } 
     222 
     223        void VihollinenAmpuu(Timer lauennutAjastin) 
     224        { 
     225            Pelihahmo vihollinen = lauennutAjastin.Tag as Pelihahmo; 
     226            PhysicsObject ammus = vihollinen.Weapon.Shoot(); 
     227            if (ammus != null) 
     228            { 
     229                ammus.Tag = "vihollisenAmmus"; 
     230                ammus.Size *= 5; 
     231                ammus.Velocity *= 12; 
     232 
     233            } 
     234        } 
     235 
    219236    } 
    220237} 
  • 2010/30/aneesavi/Cyb0rg-City/kentta.txt

    r1419 r1463  
    1 =                                                                                                       = 
    2 =                                                                                                       = 
    3 =                                                                                                       = 
    4 =                                                                                                       = 
    5 =                                                                                                       = 
    6 =                                                                                                       = 
    7 =                                                                                                       = 
    8 =                                                                                                       = 
    9 =                                                                                                       = 
    10 =                                                                                                       = 
    11 =                                                                                                       = 
    12 =                                                                                                       = 
    13 =                                                                                                       = 
    14 =                                                                                                       =    
    15 =                            2                                                                          = 
    16 =      1                                                                                                = 
    17 =                                                                                                       = 
    18 ========================================================================================================= 
     1= =================================================================================================================                                                                                                                = 
     2=                                                                                                                 = 
     3=                                                                                                                 = 
     4=                                                                                                                 = 
     5=                                                                                                                 = 
     6=                                                                                                                 = 
     7=                                                                                                                 = 
     8=                                                                                                                 = 
     9=                                                      x                                                           = 
     10=                                                     ===                                                            = 
     11=                                  x                                                                               = 
     12=                                 ===        x                                                                        = 
     13=                           x                ====               2                                                       = 
     14=                         =====                                ===                                                        = 
     15=                  x                                     2                                                          = 
     16=                 ===                                   ====                                                             = 
     17=                                             2                                                                    = 
     18=                             2               ===                                                                     = 
     19=                            ===                                                                                     = 
     20=                                    x                                                                             = 
     21=                          x2         ===                                                                              = 
     22=                         =====                                                                                   = 
     23=                                                               2          2            2             2                                                 = 
     24=         1                                                                                                        = 
     25=                                                                                                                 = 
     26=================================================================================================================== 
Note: See TracChangeset for help on using the changeset viewer.