Changeset 669 for 2010/23/elalylon


Ignore:
Timestamp:
2010-06-10 11:43:16 (9 years ago)
Author:
paaaanro
Message:

Tein aseet tekemään damagea ja lisäsin tähtäimen.

Location:
2010/23/elalylon/Ball Wars
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • 2010/23/elalylon/Ball Wars/Content/Content.contentproj

    r610 r669  
    8282    </Compile> 
    8383  </ItemGroup> 
     84  <ItemGroup> 
     85    <Compile Include="Tahtain.png"> 
     86      <Name>Tahtain</Name> 
     87      <Importer>TextureImporter</Importer> 
     88      <Processor>TextureProcessor</Processor> 
     89    </Compile> 
     90  </ItemGroup> 
     91  <ItemGroup> 
     92    <Compile Include="enemy2.png"> 
     93      <Name>enemy2</Name> 
     94      <Importer>TextureImporter</Importer> 
     95      <Processor>TextureProcessor</Processor> 
     96    </Compile> 
     97  </ItemGroup> 
    8498  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    8599  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2010/23/elalylon/Ball Wars/Peli.cs

    r642 r669  
    1212        const double hyppyVoima = 8000; 
    1313        int enemyHitpoints = 10; 
    14         int pelaajaHitpoints = 50; 
     14        int pelaajaHitpoints = 10; 
    1515        Vector enemyshootvector; 
    1616        Vector tahtaa; 
    17         Vector vasemmalle = new Vector(-400, 0); 
    18         Vector oikealle = new Vector(400, 0); 
    19  
     17        Vector vasemmalle = new Vector(-200, 0); 
     18        Vector oikealle = new Vector(200, 0); 
     19 
     20        GameObject tahtain; 
    2021        IntMeter pisteLaskuri; 
    2122        ValueDisplay pisteNaytto; 
     
    2526        AssaultRifle m16; 
    2627        AssaultRifle Glock; 
    27          
     28 
    2829 
    2930        protected override void Begin() 
     
    3435            // Luodaan pistelaskuri 
    3536            pisteLaskuri = new IntMeter(0); 
     37 
     38            //Luodaan tähtäin 
     39            //tahtain = new PhysicsObject(30, 30, Shapes.Circle); 
     40            tahtain = new GameObject(30, 30, Shapes.Circle); 
     41            tahtain.Image = LoadImage("Tahtain"); 
     42            Add(tahtain); 
     43            //tahtain. 
     44            //tahtain.IgnoresCollisionResponse = true; 
     45            //Add(tahtain); 
    3646 
    3747            // luodaan pistelaskunäyttö 
     
    4454 
    4555            ammoNaytto = new ValueDisplay(); 
    46             ammoNaytto.Text = "Pisteitä: "; 
    4756            ammoNaytto.X = Screen.RightSafe - 250; 
    4857            ammoNaytto.Y = Screen.TopSafe - 50; 
    4958            Add(ammoNaytto); 
    5059 
    51              
     60 
    5261            // Ajastin, jonka avulla ajastetaan vihollisen toiminta, 
    5362            // mm. ampuminen säännöllisin väliajoin 
    5463            Timer aly = new Timer(); 
    55             aly.Interval = 0.1; // 0.1 sekuntia 
     64            aly.Interval = 0.01; // 0.1 sekuntia 
    5665            aly.Trigger += enemyshoot; 
    5766            aly.Trigger += enemymove; 
     
    6978 
    7079        void enemyshoot(Timer t) 
    71         { 
    72             if (pelaaja1.Position.X < 0) 
    73             { 
    74                 //Glock laitetaan toisin päin 
    75             } 
    76             enemyshootvector = pelaaja1.Position - vihollinen.Position; 
     80        {enemyshootvector = pelaaja1.Position - vihollinen.Position; 
    7781            vihollinen.Weapon.Angle = enemyshootvector.Angle; 
     82            if (pelaaja1.Position.X < vihollinen.Position.X) 
     83            { 
     84                vihollinen.Image = LoadImage("enemy2"); 
     85                Glock.Image = LoadImage("Glock 17_2"); 
     86            } 
     87            if (pelaaja1.Position.X < vihollinen.Position.X) 
     88            { 
     89                vihollinen.Image = LoadImage("enemy"); 
     90                Glock.Image = LoadImage("Glock 17"); 
     91            } 
    7892            Glock.Use(); 
    7993        } 
     
    8195        { 
    8296 
    83             if (pelaaja1.Position.X < (vihollinen.Position.X - 100)) 
     97            if (pelaaja1.Position.X < (vihollinen.Position.X - 300)) 
    8498            { 
    8599                vihollinen.Hit(vasemmalle); 
    86100                return; 
    87101            } 
    88             else if (pelaaja1.Position.X > (vihollinen.Position.X + 100)) 
     102            else if (pelaaja1.Position.X > (vihollinen.Position.X + 300)) 
    89103            { 
    90104                vihollinen.Hit(oikealle); 
    91105                return; 
    92             }        
    93         } 
    94          
    95  
    96                  
     106            } 
     107        } 
     108 
     109 
     110 
    97111        void luoKentta() 
    98112        { 
     
    100114            Level.Background.CreateGradient(Color.Blue, Color.Red); 
    101115            Gravity = new Vector(0, -1000); 
    102              
    103              
     116 
     117 
    104118            lisaaTaso(-200, -400); 
    105119            lisaaTaso(0, -300); 
     
    120134            taso.Y = y; 
    121135            Add(taso); 
    122              
     136 
    123137        } 
    124138 
     
    130144            pelaaja1.X = 0; 
    131145            pelaaja1.Y = Level.Bottom + 120; 
    132             pelaaja1.Tag = "pelaaja1";             
     146            pelaaja1.Tag = "pelaaja1"; 
    133147            Add(pelaaja1); 
    134148 
     
    139153            m16.TimeBetweenUse = new TimeSpan(1500000); 
    140154            m16.BulletCollision = LuotiOsuu; 
     155 
    141156            // TODO: Panokset lentämään suorempaan 
    142157        } 
    143         void LuotiOsuu(PhysicsObject kuula, PhysicsObject toinen) 
    144         { 
    145             // Vähennä Hitpointsia 
     158        void LuotiOsuu(PhysicsObject ammus, PhysicsObject kohde) 
     159        { 
     160            if (kohde.Tag.ToString() == "vihollinen") 
     161            { 
     162                enemyHitpoints -= 1; 
     163                if (enemyHitpoints == 0) 
     164                { 
     165                    Explosion PAM = new Explosion(100); 
     166                    PAM.Force = 100; 
     167                    PAM.MaxRadius = 100; 
     168                    PAM.Position = vihollinen.Position; 
     169                    Add(PAM); 
     170                    pisteLaskuri.Value += 10; 
     171                    vihollinen.Destroy(); 
     172                } 
     173            } 
     174 
     175            if (kohde.Tag.ToString() != "pelaaja1") 
     176            { 
     177                ammus.Destroy(); 
     178            } 
     179        } 
     180            void LuotiOsuux(PhysicsObject ammus, PhysicsObject kohde) 
     181        { 
     182            if (kohde.Tag.ToString() == "pelaaja1") 
     183            { 
     184                pelaajaHitpoints -= 1; 
     185                if (pelaajaHitpoints == 0) 
     186                { 
     187                    Explosion PAM = new Explosion(100); 
     188                    PAM.Force = 100; 
     189                    PAM.MaxRadius = 150; 
     190                    PAM.Position = pelaaja1.Position; 
     191                    Add(PAM); 
     192                    pelaaja1.Destroy(); 
     193                } 
     194            } 
     195 
     196            if (kohde.Tag.ToString() != "vihollinen") 
     197            { 
     198                ammus.Destroy(); 
     199            } 
     200             
    146201        } 
    147202 
     
    153208            vihollinen.X = 200; 
    154209            vihollinen.Y = Level.Bottom + 120; 
     210            vihollinen.Tag = "vihollinen"; 
    155211            Add(vihollinen); 
    156              
     212 
    157213            Glock = new AssaultRifle(100, 30); 
    158214            Glock.Ammo.Value = 14; 
     
    161217            Glock.TimeBetweenUse = new TimeSpan(3000000); 
    162218            vihollinen.Weapon = Glock; 
    163             // TODO: Saako vihollisen ampumia panoksia / omia panoksia häviämään jotenkin? (tuleeko niistä damagea pelaajalle?) 
     219            Glock.BulletCollision = LuotiOsuux; 
    164220 
    165221        } 
     
    173229            Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Hyppää", pelaaja1, hyppyVoima); 
    174230            Mouse.Listen(MouseButton.Left, ButtonState.Down, shoot, "ammu"); 
    175             Mouse.ListenMovement(0.1, tahtax_, null); 
     231            Mouse.ListenMovement(0.0, tahtax_, null); // 0.0 tarkottaa että hiirtä ei tarvi liikuttaa, että aliohjelmaa tahtax_ kutsutaan 
    176232        } 
    177233 
    178234        void tahtax_(AnalogState tila) 
    179235        { 
    180             if (Mouse.PositionOnScreen.X  < 0) 
    181             { 
    182  
    183             } 
    184             else if (Mouse.PositionOnScreen.X > 0) 
    185             { 
    186  
    187             } 
    188  
     236 
     237            tahtain.Position = Mouse.PositionOnWorld; 
     238            if (tahtain.Position.X < pelaaja1.Position.X) 
     239            { 
     240                pelaaja1.Image = LoadImage("Hero2"); 
     241                m16.Image = LoadImage("m16_levea2"); 
     242            } 
     243            else if (tahtain.Position.X > pelaaja1.Position.X) 
     244            { 
     245                pelaaja1.Image = LoadImage("Hero"); 
     246                m16.Image = LoadImage("m16_levea"); 
     247            } 
    189248            tahtaa = Mouse.PositionOnWorld - pelaaja1.Position; 
    190249            m16.Angle = tahtaa.Angle; 
Note: See TracChangeset for help on using the changeset viewer.