Changeset 3986 for 2013/23


Ignore:
Timestamp:
2013-06-05 20:27:04 (6 years ago)
Author:
lanijohe
Message:
 
Location:
2013/23/LauriH/Peli_1/Peli_1
Files:
8 added
3 edited

Legend:

Unmodified
Added
Removed
  • 2013/23/LauriH/Peli_1/Peli_1/Peli_1/Peli_1.cs

    r3979 r3986  
    1010{ 
    1111    PlatformCharacter Pelaaja; 
     12    PlatformCharacter Pelaaja2; 
    1213    PlatformCharacter Vastustaja; 
     14    PlatformCharacter Vastustaja2; 
     15    PlatformCharacter PelaajanAlus; 
     16    PlatformCharacter Hyokkaaja; 
     17 
     18    PhysicsObject PAmmus; 
     19    PhysicsObject Ammus; 
    1320 
    1421    private Image [] VastustajanLiike = LoadImages("Vastustaja", "Vastustaja2", "Vastustaja3"); 
    1522    Image PelaajanKuva = LoadImage("Pelaaja"); 
     23    Image HyokkaajanKuva = LoadImage("Hyokkaaja"); 
     24    Image AluksenKuva = LoadImage("Alus"); 
     25    Image AsteroidiKuva = LoadImage("Asteroidi"); 
     26 
    1627 
    1728    const double Nopeus = 200; 
    1829    const double HyppyNopeus = 750; 
     30    const double NousuNopeus = 500; 
     31    const double LaskuNopeus = 500; 
    1932 
    2033    DoubleMeter elamaLaskuri;  
    2134    IntMeter keratytPallot; 
     35    IntMeter TuhoLaskuri; 
    2236    int kenttaNro = 1; 
    2337    string kenttaTiedostonNimi; 
     
    2539    public override void Begin() 
    2640    { 
    27         // TODO: Kirjoita ohjelmakoodisi tähän 
    28  
    2941        Valikko(); 
    3042        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
     
    3547            ruudut.SetTileMethod('#', LuoPalikka); 
    3648            ruudut.SetTileMethod('P', LuoPelaaja); 
     49            ruudut.SetTileMethod('p', LuoPelaaja2); 
    3750            ruudut.SetTileMethod('?', LuoPallo); 
    3851            ruudut.SetTileMethod('M', LuoMaali); 
    39             ruudut.SetTileMethod('-', LuoLiikkuvaPalikka); 
    4052            ruudut.SetTileMethod('O', LuoVastustaja); 
     53            ruudut.SetTileMethod('o', LuoVastustaja2); 
     54            ruudut.SetTileMethod('H', LuoHyokkaaja); 
    4155            ruudut.Execute(20,20); 
    4256             
     
    7286        { 
    7387            TileMap ruudut = TileMap.FromLevelAsset("Taso_5"); 
    74             //ruudut.SetTileMethod(); 
    75  
     88            ruudut.SetTileMethod('A', LuoPelaajanAlus); 
     89            ruudut.SetTileMethod('H', LuoHyokkaaja); 
     90            ruudut.SetTileMethod('M', LuoAsteroidi); 
     91            ruudut.Execute(20, 20); 
     92 
     93            Level.CreateBottomBorder(); 
     94            Level.CreateTopBorder(); 
     95            Level.CreateLeftBorder(); 
    7696 
    7797            Camera.Follow(Pelaaja); 
    7898            Camera.StayInLevel = true; 
    7999            Laskurit(); 
     100            AsetaOhjaimet(); 
    80101        } 
    81102 
     
    85106            Add(alkuValikko); 
    86107 
    87             alkuValikko.AddItemHandler(0, delegate { 
    88                 kenttaNro = 1; 
    89                 SeuraavaKentta();  
    90             }); 
     108            alkuValikko.AddItemHandler(0, delegate { kenttaNro = 1; SeuraavaKentta(); }); 
     109            alkuValikko.AddItemHandler(1, delegate { kenttaNro = 2; SeuraavaKentta(); }); 
     110            alkuValikko.AddItemHandler(2, delegate { kenttaNro = 3; SeuraavaKentta(); }); 
     111            alkuValikko.AddItemHandler(3, delegate { kenttaNro = 4; SeuraavaKentta(); }); 
    91112            alkuValikko.AddItemHandler(4, LuoKentta5); 
    92113        } 
     
    102123            Add(Pelaaja); 
    103124        } 
    104          
     125 
     126        void LuoPelaaja2(Vector paikka, double leveys, double korkeus) 
     127        { 
     128            Pelaaja2 = new PlatformCharacter(50, 50); 
     129            Pelaaja2.Position = paikka; 
     130            Pelaaja2.Image = PelaajanKuva; 
     131            AddCollisionHandler(Pelaaja2, "pallo", TormaaPalloon); 
     132            AddCollisionHandler(Pelaaja2, "Vastustaja", TormaaVastustajaan); 
     133            AddCollisionHandler(Pelaaja2, "Maali", TormaaMaaliin); 
     134            Add(Pelaaja); 
     135            Pelaaja2.Weapon = new LaserGun(10, 10); 
     136            Pelaaja2.Weapon.FireRate = 5.0; 
     137 
     138 
     139        } 
     140 
     141        void LuoPelaajanAlus(Vector paikka, double leveys, double korkeus) 
     142        { 
     143            PelaajanAlus = new PlatformCharacter(50, 50); 
     144            PelaajanAlus.Position = paikka; 
     145            PelaajanAlus.Image = AluksenKuva; 
     146            AddCollisionHandler(PelaajanAlus, "Ammus", TormaaAmmukseen); 
     147            AddCollisionHandler(Pelaaja, "Maali", TormaaMaaliin); 
     148            AddCollisionHandler(Pelaaja, "Asteroidi", TormaaAsteroidiin);  
     149            PelaajanAlus.Weapon = new LaserGun(10, 10); 
     150            PelaajanAlus.Weapon.FireRate = 5.0; 
     151             
     152            Add(PelaajanAlus); 
     153             
     154        } 
     155 
     156        void LuoHyokkaaja(Vector paikka, double leveys, double korkeus) 
     157        { 
     158            Hyokkaaja = new PlatformCharacter(50, 50); 
     159            Hyokkaaja.Position = paikka; 
     160            Hyokkaaja.Image = HyokkaajanKuva; 
     161            AddCollisionHandler(PAmmus, "Hyokkaaja", TormaaPAmmukseen); 
     162            Add(Hyokkaaja); 
     163 
     164            FollowerBrain seurausAivot = new FollowerBrain(); 
     165            seurausAivot.Speed = 200; 
     166            Vastustaja2.Brain = seurausAivot; 
     167 
     168            Hyokkaaja.Weapon = new LaserGun(10, 10); 
     169            Hyokkaaja.Weapon.FireRate = 5.0; 
     170        } 
     171 
     172        void LuoAsteroidi(Vector paikka, double leveys, double korkeus) 
     173        {  
     174            PhysicsObject Asteroidi = new PhysicsObject(30, 30); 
     175            Asteroidi.Position = paikka; 
     176            Asteroidi.Image = AsteroidiKuva; 
     177            Asteroidi.Tag = "Asteroidi"; 
     178             
     179            RandomMoverBrain HaahuiluAivot = new RandomMoverBrain(); 
     180            HaahuiluAivot.ChangeMovementSeconds = 3; 
     181            HaahuiluAivot.WanderRadius = 200; 
     182            Asteroidi.Brain = HaahuiluAivot; 
     183 
     184 
     185 
     186        } 
     187 
    105188        void LuoPalikka(Vector paikka, double leveys, double korkeus) 
    106189        { 
     
    109192            Taso.Color = Color.Green; 
    110193            Add(Taso); 
    111         } 
    112  
    113         void LuoLiikkuvaPalikka(Vector paikka, double leveys, double korkeus) 
    114         { 
    115             PhysicsObject LiikkuvaTaso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    116             LiikkuvaTaso.Position = paikka; 
    117             LiikkuvaTaso.Color = Color.Green; 
    118             Add(LiikkuvaTaso); 
    119  
    120             List<Vector> polku = new List<Vector>(); 
    121             polku.Add(new Vector()); 
    122             polku.Add(new Vector()); 
    123  
    124             PathFollowerBrain pfb = new PathFollowerBrain(polku.ToArray()); 
    125             LiikkuvaTaso.Brain = pfb; 
    126             pfb.Active = true; 
    127             pfb.Speed = 100; 
    128194        } 
    129195 
     
    138204            Add(pallo, 1); 
    139205 
     206            pallo.IgnoresGravity = true; 
     207            pallo.IgnoresCollisionResponse = true; 
     208 
    140209        } 
    141210 
     
    151220            Vastustaja.Animation.Start(); 
    152221 
     222           // Vastustaja2.Weapon = new LaserGun(10, 10); 
     223 
    153224            PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 
    154225            tasoAivot.Speed = 100; 
     
    157228 
    158229 
     230        } 
     231 
     232        void LuoVastustaja2(Vector paikka, double leveys, double korkeus) 
     233        { 
     234            Vastustaja2 = new PlatformCharacter(50, 50); 
     235            Vastustaja2.Position = paikka; 
     236            Vastustaja2.Animation = new Animation(VastustajanLiike); 
     237            Vastustaja2.Tag = "Vastustaja"; 
     238 
     239            Add(Vastustaja); 
     240 
     241            Vastustaja.Animation.Start(); 
     242 
     243            FollowerBrain seurausAivot = new FollowerBrain(); 
     244            seurausAivot.Speed = 200; 
     245            Vastustaja2.Brain = seurausAivot; 
     246 
     247            Vastustaja2.Weapon = new LaserGun(10, 10); 
     248            Vastustaja2.Weapon.FireRate = 5.0; 
    159249        } 
    160250 
     
    171261        void AsetaOhjaimet() 
    172262        { 
     263            if(kenttaNro <= 2) 
     264            { 
    173265            Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    174266            Keyboard.Listen(Key.Up, ButtonState.Pressed, PelaajaHyppaa, "Pelaaja hyppää", Pelaaja, HyppyNopeus); 
    175267            Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, "Pelaaja liiku oikealle", Pelaaja, Nopeus); 
    176268            Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, "Pelaaja liiku vasemmalle", Pelaaja, -Nopeus); 
     269            } 
     270 
     271            else if(kenttaNro == 3 && kenttaNro == 4) 
     272            { 
     273            Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     274            Keyboard.Listen(Key.Up, ButtonState.Pressed, PelaajaHyppaa, "Pelaaja hyppää", Pelaaja, HyppyNopeus); 
     275            Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, "Pelaaja liiku oikealle", Pelaaja, Nopeus); 
     276            Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, "Pelaaja liiku vasemmalle", Pelaaja, -Nopeus); 
     277            Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu vastustajaa", Pelaaja); 
     278            } 
     279             
     280            else if(kenttaNro == 5) 
     281            { 
     282            Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     283            Keyboard.Listen(Key.Up, ButtonState.Down, SiirraPelaajaa, "Alus ylös", Pelaaja, 1.0); 
     284            Keyboard.Listen(Key.Escape, ButtonState.Down, SiirraPelaajaa, "Alus alas", Pelaaja, 1.0); 
     285            Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Lopeta peli", Pelaaja); 
     286            } 
    177287        } 
    178288 
     
    187297        } 
    188298 
     299        void SiirraPelaajaa(PlatformCharacter Pelaaja, double paikanSiirto) 
     300        { 
     301            Pelaaja.Position += new Vector(0, paikanSiirto); 
     302        } 
     303 
     304 
     305        void AmmuAseella(PlatformCharacter Pelaaja) 
     306        { 
     307            PhysicsObject ammus = Pelaaja.Weapon.Shoot(); 
     308 
     309            //if(ammus) 
     310        } 
     311     
    189312        void Laskurit() 
    190313        { 
    191314            LuoElamaLaskuri(Screen.Left + 100, Screen.Top - 100); 
    192315            keratytPallot = LuoPistelaskuri(Screen.Left + 100, Screen.Top - 200); 
     316            TuhoLaskuri = LuoTuholaskuri(Screen.Left + 100, Screen.Top - 300); 
    193317        } 
    194318 
     
    232356        } 
    233357 
     358        IntMeter LuoTuholaskuri(double x, double y) 
     359        { 
     360            IntMeter laskuri = new IntMeter(0); 
     361            laskuri.MaxValue = 10; 
     362 
     363            Label naytto = new Label(); 
     364            naytto.BindTo(laskuri); 
     365            naytto.X = x; 
     366            naytto.Y = y; 
     367            naytto.TextColor = Color.Red; 
     368            naytto.BorderColor = Level.BackgroundColor; 
     369            naytto.Color = Level.BackgroundColor; 
     370            Add(naytto); 
     371 
     372            return laskuri; 
     373        } 
     374 
    234375        void TormaaPalloon(PhysicsObject Pelaaja, PhysicsObject pallo) 
    235376        { 
     
    259400            } 
    260401        } 
     402 
     403        void TormaaAmmukseen(PhysicsObject PelaajanAlus, PhysicsObject Ammus) 
     404        { 
     405            MessageDisplay.Add("Ai varo vähän!!!"); 
     406            elamaLaskuri.Value -= 1; 
     407            Ammus.Destroy(); 
     408        } 
     409 
     410        void TormaaPAmmukseen(PhysicsObject Hyokkaaja, PhysicsObject PAmmus) 
     411        { 
     412            MessageDisplay.Add("Ai varo vähän!!!"); 
     413            TuhoLaskuri.Value += 1; 
     414            Hyokkaaja.Destroy(); 
     415        } 
     416 
     417        void TormaaAsteroidiin(PhysicsObject PelaajanAlus, PhysicsObject Asteroidi) 
     418        { 
     419            Pelaaja.Destroy(); 
     420            SeuraavaKentta(); 
     421        } 
    261422         
    262423} 
  • 2013/23/LauriH/Peli_1/Peli_1/Peli_1Content/Peli_1Content.contentproj

    r3979 r3986  
    8787    </Compile> 
    8888  </ItemGroup> 
     89  <ItemGroup> 
     90    <Compile Include="Taso_3.txt"> 
     91      <Name>Taso_3</Name> 
     92      <Importer>TextFileImporter</Importer> 
     93      <Processor>TextFileContentProcessor</Processor> 
     94    </Compile> 
     95    <Compile Include="Taso_4.txt"> 
     96      <Name>Taso_4</Name> 
     97      <Importer>TextFileImporter</Importer> 
     98      <Processor>TextFileContentProcessor</Processor> 
     99    </Compile> 
     100    <Compile Include="Taso_5.txt"> 
     101      <Name>Taso_5</Name> 
     102      <Importer>TextFileImporter</Importer> 
     103      <Processor>TextFileContentProcessor</Processor> 
     104    </Compile> 
     105  </ItemGroup> 
     106  <ItemGroup> 
     107    <Compile Include="Hyokkaaja.png"> 
     108      <Name>Hyokkaaja</Name> 
     109      <Importer>TextureImporter</Importer> 
     110      <Processor>TextureProcessor</Processor> 
     111    </Compile> 
     112  </ItemGroup> 
     113  <ItemGroup> 
     114    <Compile Include="Alus.png"> 
     115      <Name>Alus</Name> 
     116      <Importer>TextureImporter</Importer> 
     117      <Processor>TextureProcessor</Processor> 
     118    </Compile> 
     119  </ItemGroup> 
     120  <ItemGroup> 
     121    <Compile Include="Asteroidi.png"> 
     122      <Name>Asteroidi</Name> 
     123      <Importer>TextureImporter</Importer> 
     124      <Processor>TextureProcessor</Processor> 
     125    </Compile> 
     126  </ItemGroup> 
    89127  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    90128  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2013/23/LauriH/Peli_1/Peli_1/Peli_1Content/Taso_2.txt

    r3979 r3986  
    1  
    2  
    3  
    4  
    5  
    6  
    7  
    8  
    9  
    10  
    11  
    12  
    13  
    141 
    152                                                                 
    163                                                                         O        ?           O        ?            O 
    17                                                                ############################################################## 
     4                                              #######          ############################################################## 
    185 
    19                                            ? 
    20                                      ------------ 
     6                    ################### 
     7             
     8 
     9 
    2110 
    2211    ? 
     
    2716 
    2817       ? 
    29 #################                                    ? 
    3018 
    3119 
    32                               --------- 
     20#################                                     
     21 
     22 
     23                              
    3324                                                                                                                       
    3425                                                                                                                           O           ? 
    3526                                      ###########                                                     ###################################### 
     27                                                                                                                                           M 
     28                                                                                                                                           M 
    3629                                                                                                                                           M 
    3730                                                      O                                       ###                                          M 
     
    3932                                                                                      O                                      O             M 
    4033                                                                                ##############             #################################                      
     34 
    4135 
    4236                                                     O       ?                                         ? 
Note: See TracChangeset for help on using the changeset viewer.