Changeset 4277


Ignore:
Timestamp:
2013-06-27 14:56:47 (10 years ago)
Author:
osjoneuv
Message:

Talletus.

Location:
2013/26/OskariN/Tasohyppelypeli1/Tasohyppelypeli1
Files:
5 added
4 edited

Legend:

Unmodified
Added
Removed
  • 2013/26/OskariN/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1.cs

    r4246 r4277  
    1111    public ListenContext tikkaillaNappaimet; 
    1212    public ListenContext poisTikkailtaNappaimet; 
    13  
    1413    public Pelaaja(double leveys, double korkeus) 
    1514        : base(leveys, korkeus) 
     
    3231    Pelaaja pelaaja1; 
    3332    Pelaaja pelaaja2; 
     33    Pelaaja pelaaja3; 
     34    Pelaaja pelaaja4; 
    3435 
    3536    Image luodinKuva = LoadImage("luoti"); 
    3637    Image pelaajanKuva2 = LoadImage("pelaaja2 (2)"); 
    3738    Image pelaajanKuva = LoadImage("player3"); 
    38     Image aseKuva = LoadImage("gun"); 
     39    Image pelaajanKuva3 = LoadImage("pelaaja3"); 
     40    Image pelaajanKuva4 = LoadImage("pelaaja4"); 
     41 
    3942    Image tikasKuva = LoadImage("Tikkaat"); 
    4043 
    4144    DoubleMeter elamaLaskuri1; 
    4245    DoubleMeter elamalaskuri2; 
     46    DoubleMeter elamalaskuri3; 
     47    DoubleMeter elamalaskuri4; 
    4348 
    4449 
     
    5358        "Aloita peli", "Lopeta"); 
    5459        alkuValikko.Color = Color.Black; 
    55         
    56          
    5760        Add(alkuValikko); 
    58          
    59  
    60     } 
     61 
     62        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, LiikutaPelaajaa, "Liikuta pelaajaa", pelaaja1, -nopeus); 
     63        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, LiikutaPelaajaa, "Liikuta pelaajaa", pelaaja1, nopeus); 
     64        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     65        ControllerOne.ListenAnalog(AnalogControl.RightTrigger, 0.1, AmmuAseella, "Käytä oikeaa liipaisinta aseen liipaisimena.", pelaaja1);       
     66 
     67        ControllerTwo.Listen(Button.DPadLeft, ButtonState.Down, LiikutaPelaajaa, "Liikuta pelaajaa", pelaaja2, -nopeus); 
     68        ControllerTwo.Listen(Button.DPadRight, ButtonState.Down, LiikutaPelaajaa, "Liikuta pelaajaa", pelaaja2, nopeus); 
     69        ControllerTwo.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus); 
     70 
     71        ControllerThree.Listen(Button.DPadLeft, ButtonState.Down, LiikutaPelaajaa, "Liikuta pelaajaa", pelaaja3, -nopeus); 
     72        ControllerThree.Listen(Button.DPadRight, ButtonState.Down, LiikutaPelaajaa, "Liikuta pelaajaa", pelaaja3, nopeus); 
     73        ControllerThree.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus); 
     74 
     75        ControllerFour.Listen(Button.DPadLeft, ButtonState.Down, LiikutaPelaajaa, "Liikuta pelaajaa", pelaaja4, -nopeus); 
     76        ControllerFour.Listen(Button.DPadRight, ButtonState.Down, LiikutaPelaajaa, "Liikuta pelaajaa", pelaaja4, nopeus); 
     77        ControllerFour.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus); 
     78    } 
     79 
     80    void LiikutaPelaajaa(Pelaaja pelaaja, double nopeus) 
     81    { 
     82        pelaaja.Walk(nopeus); 
     83    } 
     84     
    6185 
    6286    DoubleMeter LuoElamaLaskuri(double x, double y, Pelaaja pelaaja) 
    6387    { 
    64        DoubleMeter elamaLaskuri = new DoubleMeter(10); 
    65         elamaLaskuri.MaxValue = 10; 
    66         elamaLaskuri.LowerLimit += delegate { 
     88        DoubleMeter elamaLaskuri = new DoubleMeter(10); 
     89        elamaLaskuri.MaxValue = 100.0; 
     90        elamaLaskuri.LowerLimit += delegate 
     91        { 
    6792            ElamaLoppui(pelaaja); 
    68             elamaLaskuri.Image = LoadImage(""); 
    69             elamaLAskuri.BarImage = LoadImage(""); 
    7093        }; 
    7194 
     
    82105        MessageDisplay.Add("HaHaHa!!! You're dead!"); 
    83106        pelaaja.Destroy(); 
    84     } 
     107        pelaaja.Weapon.Destroy(); 
     108        Explosion rajahdys = new Explosion(50); 
     109        rajahdys.Position = pelaaja.Position; 
     110        Add(rajahdys); 
     111    } 
     112 
     113 
    85114 
    86115 
     
    89118        pelaaja1 = LuoPelaaja(RUUDUN_KOKO, RUUDUN_KOKO, pelaajanKuva); 
    90119        pelaaja2 = LuoPelaaja(RUUDUN_KOKO, RUUDUN_KOKO, pelaajanKuva2); 
     120        pelaaja3 = LuoPelaaja(RUUDUN_KOKO, RUUDUN_KOKO, pelaajanKuva3); 
     121        pelaaja4 = LuoPelaaja(RUUDUN_KOKO, RUUDUN_KOKO, pelaajanKuva4); 
    91122        TileMap kentta = TileMap.FromLevelAsset("pelitausta"); 
    92123        kentta.SetTileMethod('#', LisaaTaso); 
    93         kentta.SetTileMethod('*', LisaaAse); 
    94124        kentta.SetTileMethod('N', LisaaPelaaja, pelaaja1); 
    95125        kentta.SetTileMethod('M', LisaaPelaaja, pelaaja2); 
     126        kentta.SetTileMethod('V', LisaaPelaaja, pelaaja3); 
     127        kentta.SetTileMethod('B', LisaaPelaaja, pelaaja4); 
    96128        kentta.SetTileMethod('H', LisaaTikkaat); 
    97129        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
     
    99131        Level.Background.CreateGradient(Color.White, Color.White); 
    100132        elamaLaskuri1 = LuoElamaLaskuri(Screen.Right - 150, Screen.Top - 150, pelaaja1); 
    101        elamalaskuri2 = LuoElamaLaskuri(Screen.Left +150, Screen.Top - 150, pelaaja2);  
     133        elamalaskuri2 = LuoElamaLaskuri(Screen.Left + 150, Screen.Top - 150, pelaaja2); 
     134        elamalaskuri3 = LuoElamaLaskuri(Screen.Right - 150, Screen.Bottom + 150, pelaaja3); 
     135        elamalaskuri4 = LuoElamaLaskuri(Screen.Left + 150, Screen.Bottom + 150, pelaaja4); 
     136 
    102137    } 
    103138 
    104139    void AloitaPeli() 
    105     {  
     140    { 
    106141    } 
    107142 
     
    121156        PhysicsObject tikkaat = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    122157        tikkaat.Position = paikka; 
    123          tikkaat.Image = tikasKuva; 
     158        tikkaat.Image = tikasKuva; 
    124159        tikkaat.IgnoresCollisionResponse = true; 
    125160        tikkaat.Tag = "tikkaat"; 
     
    127162    } 
    128163 
    129      
    130  
    131     void LisaaAse(Vector paikka, double leveys, double korkeus) 
    132     { 
    133         PhysicsObject ase = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    134         ase.IgnoresCollisionResponse = true; 
    135         ase.Position = paikka; 
    136         ase.Image = aseKuva; 
    137         ase.Tag = "gun"; 
    138         Add(ase); 
    139     } 
     164 
     165 
     166    
    140167 
    141168    Pelaaja LuoPelaaja(double leveys, double korkeus, Image kuva) 
    142169    { 
    143170        Pelaaja pelaaja = new Pelaaja(leveys, korkeus); 
     171        pelaaja.Color = Color.Black; 
    144172        pelaaja.Image = kuva; 
    145173        return pelaaja; 
     
    153181        Add(pelaaja); 
    154182 
    155         pelaaja.Weapon = new PlasmaCannon (30, 10); 
     183        pelaaja.Weapon = new PlasmaCannon(30, 10); 
    156184        pelaaja.Weapon.Ammo.Value = 1000; 
    157185        pelaaja.Weapon.ProjectileCollision = AmmusOsui; 
    158         pelaaja. 
     186         
     187 
    159188        Timer onkoTikkaillaAjastin = new Timer(); 
    160189        onkoTikkaillaAjastin.Interval = 0.1; 
    161190        onkoTikkaillaAjastin.Timeout += delegate 
    162191        { 
    163                 if (GetObjectsAt(pelaaja.Position, "tikkaat", pelaaja.Width / 2).Count > 0) 
     192            if (GetObjectsAt(pelaaja.AbsolutePosition, "tikkaat", pelaaja.Width / 2).Count > 0) 
    164193            { 
    165                 // pelaaja1.StopVertical(); 
    166194                pelaaja.IgnoresGravity = true; 
    167195                pelaaja.poisTikkailtaNappaimet.Disable(); 
     
    189217    } 
    190218 
    191     
     219 
    192220 
    193221    void AmmuAseella(PlatformCharacter pelaaja) 
     
    211239        kranu.Explosion.ShockwaveReachesObject += KranaattiOsui; 
    212240        Add(kranaatti); 
    213     }  
     241    } 
    214242 
    215243 
     
    224252        if (kohde == pelaaja1) 
    225253        { 
    226             elamaLaskuri1.Value -= 3; 
     254            elamaLaskuri1.Value -= 1; 
    227255        } 
    228256 
    229257        if (kohde == pelaaja2) 
    230258        { 
    231             elamalaskuri2.Value -= 3; 
    232         } 
    233     } 
    234  
     259            elamalaskuri2.Value -= 1; 
     260        } 
     261 
     262        if (kohde == pelaaja3) 
     263        { 
     264            elamalaskuri3.Value -= 1; 
     265        } 
     266 
     267        if (kohde == pelaaja4) 
     268        { 
     269            elamalaskuri4.Value -= 1; 
     270        } 
     271    } 
    235272    void LisaaNappaimet() 
    236273    { 
     
    239276        pelaaja2.tikkaillaNappaimet = ControlContext.CreateSubcontext(); 
    240277        pelaaja2.poisTikkailtaNappaimet = ControlContext.CreateSubcontext(); 
     278        pelaaja3.tikkaillaNappaimet = ControlContext.CreateSubcontext(); 
     279        pelaaja3.poisTikkailtaNappaimet = ControlContext.CreateSubcontext(); 
     280        pelaaja4.tikkaillaNappaimet = ControlContext.CreateSubcontext(); 
     281        pelaaja4.poisTikkailtaNappaimet = ControlContext.CreateSubcontext(); 
     282 
    241283 
    242284        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     
    245287        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
    246288        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu oikealle", pelaaja1, nopeus); 
     289 
    247290        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus).InContext(pelaaja1.poisTikkailtaNappaimet); 
    248  
    249291        Keyboard.Listen(Key.Up, ButtonState.Down, LiikkuuTikkailla, "Pelaaja liikkuu tikkailla", pelaaja1, 500.0).InContext(pelaaja1.tikkaillaNappaimet); 
     292        Keyboard.Listen(Key.Up, ButtonState.Released, LiikkuuTikkailla, "Pelaaja liikkuu tikkailla", pelaaja1, 0.0).InContext(pelaaja1.tikkaillaNappaimet); 
    250293        Keyboard.Listen(Key.Down, ButtonState.Down, LiikkuuTikkailla, "Pelaaja liikkuu tikkailla", pelaaja1, -500.0).InContext(pelaaja1.tikkaillaNappaimet); 
    251         Keyboard.Listen(Key.Up, ButtonState.Released, LiikkuuTikkailla, "Pelaaja liikkuu tikkailla", pelaaja1, 0.0).InContext(pelaaja1.tikkaillaNappaimet); 
    252294        Keyboard.Listen(Key.Down, ButtonState.Released, LiikkuuTikkailla, "Pelaaja liikkuu tikkailla", pelaaja1, 0.0).InContext(pelaaja1.tikkaillaNappaimet); 
    253295 
    254         Keyboard.Listen(Key.O, ButtonState.Down, Tahtaa, "Tähtää ylös", pelaaja1.Weapon, Angle.FromDegrees(1)); 
    255         Keyboard.Listen(Key.L, ButtonState.Down, Tahtaa, "Tähtää alas", pelaaja1.Weapon, Angle.FromDegrees(-1)); 
    256         Keyboard.Listen(Key.M, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1); 
    257         Keyboard.Listen(Key.G, ButtonState.Down, AmmuAseella, "Ammu", pelaaja2); 
     296        Keyboard.Listen(Key.I, ButtonState.Down, Tahtaa, "Tähtää ylös", pelaaja1.Weapon, Angle.FromDegrees(1)); 
     297        Keyboard.Listen(Key.O, ButtonState.Down, Tahtaa, "Tähtää alas", pelaaja1.Weapon, Angle.FromDegrees(-1)); 
     298        Keyboard.Listen(Key.P, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1); 
     299        Keyboard.Listen(Key.Y, ButtonState.Down, AmmuAseella, "Ammu", pelaaja2); 
    258300 
    259301        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja2, -nopeus); 
    260302        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu oikealle", pelaaja2, nopeus); 
     303 
     304        Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus).InContext(pelaaja2.poisTikkailtaNappaimet); 
    261305        Keyboard.Listen(Key.W, ButtonState.Down, LiikkuuTikkailla, "Pelaaja liikkuu tikkailla", pelaaja2, 500.0).InContext(pelaaja2.tikkaillaNappaimet); 
     306        Keyboard.Listen(Key.W, ButtonState.Released, LiikkuuTikkailla, "Pelaaja liikkuu tikkailla", pelaaja2, 0.0).InContext(pelaaja2.tikkaillaNappaimet); 
    262307        Keyboard.Listen(Key.S, ButtonState.Down, LiikkuuTikkailla, "Pelaaja liikkuu tikkailla", pelaaja2, -500.0).InContext(pelaaja2.tikkaillaNappaimet); 
    263         Keyboard.Listen(Key.W, ButtonState.Released, LiikkuuTikkailla, "Pelaaja liikkuu tikkailla", pelaaja2, 0.0).InContext(pelaaja2.tikkaillaNappaimet); 
    264308        Keyboard.Listen(Key.S, ButtonState.Released, LiikkuuTikkailla, "Pelaaja liikkuu tikkailla", pelaaja2, 0.0).InContext(pelaaja2.tikkaillaNappaimet); 
    265         Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus).InContext(pelaaja2.poisTikkailtaNappaimet); ; 
    266         Keyboard.Listen(Key.Y, ButtonState.Down, Tahtaa, "Tähtää ylös", pelaaja2.Weapon, Angle.FromDegrees(1)); 
    267         Keyboard.Listen(Key.H, ButtonState.Down, Tahtaa, "Tähtää alas", pelaaja2.Weapon, Angle.FromDegrees(1)); 
     309        Keyboard.Listen(Key.R, ButtonState.Down, Tahtaa, "Tähtää ylös", pelaaja2.Weapon, Angle.FromDegrees(1)); 
     310        Keyboard.Listen(Key.T, ButtonState.Down, Tahtaa, "Tähtää alas", pelaaja2.Weapon, Angle.FromDegrees(-1)); 
    268311    } 
    269312 
  • 2013/26/OskariN/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1Content/Tasohyppelypeli1Content.contentproj

    r4246 r4277  
    101101    </Compile> 
    102102  </ItemGroup> 
     103  <ItemGroup> 
     104    <Compile Include="music2.mp3"> 
     105      <Name>music2</Name> 
     106      <Importer>Mp3Importer</Importer> 
     107      <Processor>SongProcessor</Processor> 
     108    </Compile> 
     109  </ItemGroup> 
     110  <ItemGroup> 
     111    <Compile Include="pelitausta kentta2.txt"> 
     112      <Name>pelitausta kentta2</Name> 
     113      <Importer>TextFileImporter</Importer> 
     114      <Processor>TextFileContentProcessor</Processor> 
     115    </Compile> 
     116  </ItemGroup> 
     117  <ItemGroup> 
     118    <Compile Include="pelaaja3.png"> 
     119      <Name>pelaaja3</Name> 
     120      <Importer>TextureImporter</Importer> 
     121      <Processor>TextureProcessor</Processor> 
     122    </Compile> 
     123  </ItemGroup> 
     124  <ItemGroup> 
     125    <Compile Include="pelaaja4.png"> 
     126      <Name>pelaaja4</Name> 
     127      <Importer>TextureImporter</Importer> 
     128      <Processor>TextureProcessor</Processor> 
     129    </Compile> 
     130  </ItemGroup> 
    103131  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    104132  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2013/26/OskariN/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1Content/pelitausta.txt

    r4246 r4277  
    1818      ########          ########                HH 
    1919                ######                      ####HH# 
    20             ##############                  #   HH 
     20  V          ##############       B         #   HH 
    2121################################################### 
Note: See TracChangeset for help on using the changeset viewer.