Changeset 5929


Ignore:
Timestamp:
2015-06-09 11:59:54 (4 years ago)
Author:
oslahtin
Message:
 
Location:
2015/24/OskariL
Files:
4 added
13 edited

Legend:

Unmodified
Added
Removed
  • 2015/24/OskariL/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1.cs

    r5919 r5929  
    1 using System; 
    2 using System.Collections.Generic; 
    3 using Jypeli; 
    4 using Jypeli.Assets; 
     1using Jypeli; 
    52using Jypeli.Controls; 
    6 using Jypeli.Effects; 
    73using Jypeli.Widgets; 
    84 
    95public class Tasohyppelypeli1 : PhysicsGame 
    106{ 
    11     const double nopeus = 200; 
     7    const double nopeus = 10000; 
    128    const double hyppyNopeus = 750; 
    139    const int RUUDUN_KOKO = 40; 
     
    1713    Image pelaajanKuva = LoadImage("Pulla"); 
    1814    Image tahtiKuva = LoadImage("pacman"); 
     15    Image parsakaaliKuva = LoadImage("parsakaali"); 
    1916 
    2017    SoundEffect maaliAani = LoadSoundEffect("maali"); 
    2118    IntMeter pisteLaskuri; 
     19 
     20    bool peliKaynnissa = false; 
     21 
     22    Timer liikutusajastin; 
     23 
    2224 
    2325    public override void Begin() 
     
    3133        Camera.Follow(pelaaja1); 
    3234        Camera.ZoomFactor = 1.2; 
    33         Camera.StayInLevel = true; 
    34     } 
    35  
     35        Camera.StayInLevel = false; 
     36 
     37       liikutusajastin = new Timer(); 
     38     liikutusajastin.Interval = 0.01; 
     39        liikutusajastin.Timeout += SiirraPelaajaaOikeammalle; 
     40       liikutusajastin.Start(); 
     41 
     42        peliKaynnissa = true; 
     43 
     44 
     45    } 
     46    void SiirraPelaajaaOikeammalle() 
     47    { 
     48        pelaaja1.Push(new Vector(nopeus, 0.0)); 
     49 
     50    } 
    3651    void LuoKentta() 
    3752    { 
     
    4055        kentta.SetTileMethod('*', LisaaTahti); 
    4156        kentta.SetTileMethod('N', LisaaPelaaja); 
    42         kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    43         Level.CreateBorders(); 
    44         Level.Background.CreateGradient(Color.White, Color.SkyBlue); 
     57        kentta.SetTileMethod('V', LisaaVihollinen); 
     58        kentta.SetTileMethod('P', LisaaPahis); 
     59        kentta.SetTileMethod('p', LuoParsakaali); 
     60        kentta.Execute(); 
     61    
     62        Level.CreateLeftBorder(); 
     63        Level.CreateTopBorder(); 
     64        Level.CreateBottomBorder(); 
     65        PhysicsObject oikeaReuna = Level.CreateRightBorder(); 
     66        oikeaReuna.Tag = "oikea"; 
     67 
     68 
     69        Level.Background.CreateGradient(Color.SkyBlue, Color.Azure); 
    4570    } 
    4671 
     
    5075        taso.Position = paikka; 
    5176        taso.Color = Color.Emerald; 
     77        taso.Tag = "seina"; 
     78        
    5279        Add(taso); 
    5380    } 
     
    6794        pelaaja1 = new PlatformCharacter(leveys, korkeus); 
    6895        pelaaja1.Position = paikka; 
    69         pelaaja1.Mass = 4.0; 
     96        pelaaja1.Mass = 3.0; 
    7097        pelaaja1.Image = pelaajanKuva; 
     98        AddCollisionHandler(pelaaja1, "seina", TormaaTasoon); 
    7199        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
     100        AddCollisionHandler(pelaaja1, "vihu", TormaaTasoon); 
     101        AddCollisionHandler(pelaaja1, "oikea", TormaaOikeaanReunaan); 
    72102        Add(pelaaja1); 
    73103    } 
    74  
     104    void LisaaVihollinen(Vector paikka, double leveys, double korkeus) 
     105    { 
     106        PhysicsObject vihollinen = new PhysicsObject(leveys, korkeus); 
     107        vihollinen.Color = Color.Azure; 
     108        vihollinen.Shape = Shape.Octagon; 
     109        vihollinen.Position = paikka; 
     110        vihollinen.IgnoresGravity = true; 
     111        vihollinen.CanRotate = false; 
     112        Add(vihollinen); 
     113 
     114    } 
     115    void LisaaPahis(Vector paikka, double leveys, double korkeus) 
     116    { 
     117 
     118 
     119        PhysicsObject pahis = new PhysicsObject(leveys, korkeus); 
     120        pahis.Color = Color.DarkRed; 
     121        pahis.Shape = Shape.Diamond; 
     122        pahis.Position = paikka; 
     123        pahis.IgnoresGravity = true; 
     124        pahis.CanRotate = true; 
     125        pahis.Oscillate(new Vector(0, 1), korkeus * 1.5, 0.3); 
     126 
     127        Add(pahis); 
     128 
     129    } 
     130 
     131    void LuoParsakaali(Vector paikka, double leveys, double korkeus) 
     132    { 
     133        PhysicsObject parsakaali = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     134        parsakaali.IgnoresCollisionResponse = true; 
     135        parsakaali.Position = paikka; 
     136        parsakaali.Image = parsakaaliKuva; 
     137        parsakaali.Tag = "tahti"; 
     138        Add(parsakaali); 
     139 
     140    } 
    75141    void LisaaNappaimet() 
    76142    { 
    77143        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    78144        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    79  
    80         Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
    81         Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
    82145        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    83146 
    84147        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
    85  
    86         ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus); 
    87         ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 
    88148        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    89149 
    90         PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    91     } 
    92  
     150    } 
    93151    void Liikuta(PlatformCharacter hahmo, double nopeus) 
    94152    { 
     
    101159    } 
    102160 
     161    void TormaaParsakaaliin(PhysicsObject hahmo, PhysicsObject parsakaali) 
     162    { 
     163        maaliAani.Play(); 
     164        pisteLaskuri.Value += 3; 
     165        MessageDisplay.Add("Popping-whirling!!!"); 
     166        parsakaali.Destroy(); 
     167    } 
     168 
    103169    void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti) 
    104170    { 
    105171        maaliAani.Play(); 
     172        pisteLaskuri.Value += 1; 
    106173        MessageDisplay.Add("Jaa."); 
    107174        tahti.Destroy(); 
     
    115182        pisteNaytto.Y = Screen.Top - 100; 
    116183        pisteNaytto.TextColor = Color.Black; 
    117         pisteNaytto.Color = Color.White; 
    118  
     184        pisteNaytto.Color = Color.Transparent; 
     185        pisteNaytto.Title = "Pisteet:"; 
    119186        pisteNaytto.BindTo(pisteLaskuri); 
     187        pisteLaskuri.AddOverTime(-3, 10); 
    120188        Add(pisteNaytto); 
    121189    } 
     190    void TormaaTasoon(PhysicsObject tormaaja, PhysicsObject kohde) 
     191    { 
     192        if (peliKaynnissa) 
     193        { 
     194            MessageDisplay.Add("Kuolit! :("); 
     195         Keyboard.Disable(Key.Up); 
     196         liikutusajastin.Stop(); 
     197         peliKaynnissa = false; 
     198        } 
     199 
     200    } 
     201 
     202    void TormaaOikeaanReunaan(PhysicsObject tormaaja, PhysicsObject kohde) 
     203    { 
     204        MessageDisplay.Add("Pääsit kentän läpi"); 
     205        Gravity = Vector.Zero; 
     206        StopAll(); 
     207        Keyboard.Disable(Key.Up); 
     208 
     209    } 
     210 
     211 
    122212 
    123213} 
  • 2015/24/OskariL/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1.csproj.Debug.cachefile

    r5919 r5929  
    33Content\pacman.xnb 
    44Content\Pulla.xnb 
     5Content\parsakaali.xnb 
  • 2015/24/OskariL/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/obj/x86/Debug/ContentPipeline-{D1054F62-B0A3-4AC6-A229-ECA6D20A1699}.xml

    r5919 r5929  
    1818      <Options>None</Options> 
    1919      <Output>C:\MyTemp\OskariL\Tasohyppelypeli1\Tasohyppelypeli1\Tasohyppelypeli1\bin\x86\Debug\Content\kentta1.xnb</Output> 
    20       <Time>2015-06-08T14:59:33.3615707+03:00</Time> 
     20      <Time>2015-06-09T11:03:23.5645603+03:00</Time> 
    2121    </Item> 
    2222    <Item> 
     
    3737      <Output>C:\MyTemp\OskariL\Tasohyppelypeli1\Tasohyppelypeli1\Tasohyppelypeli1\bin\x86\Debug\Content\Pulla.xnb</Output> 
    3838      <Time>2015-06-08T14:41:38.4867707+03:00</Time> 
     39    </Item> 
     40    <Item> 
     41      <Source>parsakaali.png</Source> 
     42      <Name>parsakaali</Name> 
     43      <Importer>TextureImporter</Importer> 
     44      <Processor>TextureProcessor</Processor> 
     45      <Options>None</Options> 
     46      <Output>C:\MyTemp\OskariL\Tasohyppelypeli1\Tasohyppelypeli1\Tasohyppelypeli1\bin\x86\Debug\Content\parsakaali.xnb</Output> 
     47      <Time>2015-06-09T10:53:28.2401603+03:00</Time> 
    3948    </Item> 
    4049    <BuildSuccessful>true</BuildSuccessful> 
  • 2015/24/OskariL/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/obj/x86/Debug/Tasohyppelypeli1.csproj.FileListAbsolute.txt

    r5919 r5929  
    1111C:\MyTemp\OskariL\Tasohyppelypeli1\Tasohyppelypeli1\Tasohyppelypeli1\bin\x86\Debug\Content\pacman.xnb 
    1212C:\MyTemp\OskariL\Tasohyppelypeli1\Tasohyppelypeli1\Tasohyppelypeli1\bin\x86\Debug\Content\Pulla.xnb 
     13C:\MyTemp\OskariL\Tasohyppelypeli1\Tasohyppelypeli1\Tasohyppelypeli1\bin\x86\Debug\Content\parsakaali.xnb 
  • 2015/24/OskariL/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/obj/x86/Debug/cachefile-{D1054F62-B0A3-4AC6-A229-ECA6D20A1699}-targetpath.txt

    r5919 r5929  
    33Content\pacman.xnb 
    44Content\Pulla.xnb 
     5Content\parsakaali.xnb 
  • 2015/24/OskariL/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1Content/Tasohyppelypeli1Content.contentproj

    r5919 r5929  
    7171    </Compile> 
    7272  </ItemGroup> 
     73  <ItemGroup> 
     74    <Compile Include="parsakaali.png"> 
     75      <Name>parsakaali</Name> 
     76      <Importer>TextureImporter</Importer> 
     77      <Processor>TextureProcessor</Processor> 
     78    </Compile> 
     79  </ItemGroup> 
    7380  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    7481  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2015/24/OskariL/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1Content/kentta1.txt

    r5919 r5929  
    1 Ž******* 
    2    ** 
    3 **** 
    4    ****                         ####**********************###### 
    5     ##** 
    6 ##    
    7  ###       N         *   *   *   *  * ***       *** *###### 
    8 ############################################################################################################## 
     1############################################################################ 
     2............................................................................ 
     3..............*.........................*................................... 
     4N..........V......VV........*............................................... 
     5.....*.......................p....................p......................... 
     6..............V....*........................................p............... 
     7.........P...........V....*................*................................ 
     8.........P.................................................................. 
     9.........P...V......**.........*.......*.........*.......................... 
     10......p.V.V......V......**............*....*....p........*.......*.......... 
     11............................................................................ 
     12VVVVVVVVVVVVVV.........V..VVVVVVVVVVVVV.....VVVVV...VVVVVV.....VVV.......VV. 
     13..................VVV.................VV.........VVVp.V.............VVVVVV.. 
     14############################################################################ 
Note: See TracChangeset for help on using the changeset viewer.