Changeset 8368 for 2016/koodauskerho


Ignore:
Timestamp:
2016-11-19 14:57:15 (3 years ago)
Author:
tesatapa
Message:
 
Location:
2016/koodauskerho/OttoK/PalikkaPeli
Files:
6 added
14 edited

Legend:

Unmodified
Added
Removed
  • 2016/koodauskerho/OttoK/PalikkaPeli/PalikkaPeli/PalikkaPeli/PalikkaPeli.cs

    r8321 r8368  
    99public class PalikkaPeli : PhysicsGame 
    1010{ 
    11     const double nopeus = 200; 
    12     const double hyppyNopeus = 2000; 
     11    const double nopeus = 400; 
     12    const double hyppyNopeus = 1000; 
    1313    const int RUUDUN_KOKO = 40; 
    1414 
    15     PlatformCharacter pelaaja1; 
     15    MultiJumpPlatformCharacter pelaaja1; 
    1616 
    1717    Image pelaajanKuva = LoadImage("Palikkakyborgi"); 
    1818    Image tahtiKuva = LoadImage("tahti"); 
     19    Image tasonKuva = LoadImage("palikka"); 
     20    Image pahiksenKuva = LoadImage("Pahispalikka"); 
    1921 
    2022    SoundEffect maaliAani = LoadSoundEffect("maali"); 
     
    2224    public override void Begin() 
    2325    { 
    24         Gravity = new Vector(0, -10000); 
     26        Gravity = new Vector(0, -3000); 
    2527 
    2628        LuoKentta(); 
    2729        LisaaNappaimet(); 
     30        TeeElamalaskuri(); 
     31        Camera.Follow(pelaaja1); 
     32        Camera.ZoomFactor = 2.0; 
     33        Camera.StayInLevel = true; 
    2834 
    29         Camera.Follow(pelaaja1); 
    30         Camera.ZoomFactor = 1.2; 
    31         Camera.StayInLevel = true; 
     35        SmoothTextures = false; 
    3236    } 
    3337 
     
    3741        kentta.SetTileMethod('O', LisaaTaso); 
    3842        kentta.SetTileMethod('*', LisaaTahti); 
    39         kentta.SetTileMethod('N', LisaaPelaaja); 
     43        kentta.SetTileMethod('K', LisaaPelaaja); 
     44        kentta.SetTileMethod('P', LisaaPahispalikka); 
    4045        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    4146        Level.CreateBorders(); 
    42         Level.Background.CreateGradient(Color.White, Color.SkyBlue); 
     47        Level.Background.CreateGradient(Color.DarkRed, Color.Red); 
    4348    } 
    4449 
     
    4853        taso.Position = paikka; 
    4954        taso.Color = RandomGen.NextColor(); 
     55        taso.Image = tasonKuva; 
    5056        Add(taso); 
    5157    } 
     
    6369    void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    6470    { 
    65         pelaaja1 = new PlatformCharacter(leveys, korkeus); 
     71        pelaaja1 = new MultiJumpPlatformCharacter(leveys, korkeus, 20, 10); 
    6672        pelaaja1.Position = paikka; 
    6773        pelaaja1.Mass = 4.0; 
    6874        pelaaja1.Image = pelaajanKuva; 
    69         AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
    70         pelaaja1.CanRotate = true; 
     75        AddCollisionHandler(pelaaja1, "pahis", Tormaapahikseen); 
     76        pelaaja1.CanRotate = false; 
    7177        Add(pelaaja1); 
     78 
    7279    } 
    7380 
     81    void LisaaPahispalikka(Vector paikka, double leveys, double korkeus) 
     82    { 
     83        MultiJumpPlatformCharacter pahis = new MultiJumpPlatformCharacter(leveys, korkeus, 3, 3); 
     84        pahis.Position = paikka; 
     85        pahis.Tag = "pahis"; 
     86        pahis.Mass = 4.0; 
     87        pahis.Image = pahiksenKuva; 
     88        pahis.CanRotate = false; 
     89        Add(pahis); 
     90        PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 
     91        tasoAivot.Speed = 100; 
     92        tasoAivot.JumpSpeed = 700; 
     93        tasoAivot.TriesToJump = true; 
     94        pahis.Brain = tasoAivot; 
     95        tasoAivot.FallsOffPlatforms = true; 
     96        //pahis.ElamaLaskuri.Value -= 3; 
     97    } 
    7498    void LisaaNappaimet() 
    7599    { 
     
    79103        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
    80104        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
    81         Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     105        Keyboard.Listen(Key.Space, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     106        Keyboard.Listen(Key.RightControl, ButtonState.Pressed, Lyo, "Pelaaja lyö", pelaaja1); 
    82107 
    83108        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     
    88113 
    89114        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
     115 
    90116    } 
    91117 
    92     void Liikuta(PlatformCharacter hahmo, double nopeus) 
     118    void TeeElamalaskuri() 
     119    { 
     120        ProgressBar elamaPalkki = new ProgressBar(150, 20); 
     121        elamaPalkki.X = Screen.Left + 150; 
     122        elamaPalkki.Y = Screen.Top - 20; 
     123        elamaPalkki.BindTo(pelaaja1.ElamaLaskuri); 
     124        elamaPalkki.BarColor = Color.Lime; 
     125        elamaPalkki.Color = Color.Black; 
     126        Add(elamaPalkki); 
     127    } 
     128 
     129    void Liikuta(MultiJumpPlatformCharacter hahmo, double nopeus) 
    93130    { 
    94131        hahmo.Walk(nopeus); 
    95132    } 
    96133 
    97     void Hyppaa(PlatformCharacter hahmo, double nopeus) 
     134    void Hyppaa(MultiJumpPlatformCharacter hahmo, double nopeus) 
    98135    { 
    99         hahmo.Jump(nopeus); 
     136        hahmo.MultiJump(nopeus); 
    100137    } 
    101138 
    102     void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti) 
     139    void Lyo(MultiJumpPlatformCharacter hahmo) 
    103140    { 
    104         maaliAani.Play(); 
    105         MessageDisplay.Add("Keräsit tähden!"); 
    106         tahti.Destroy(); 
     141 
     142    } 
     143 
     144    void Tormaapahikseen(PhysicsObject hahmo, PhysicsObject pahis) 
     145    { 
     146        MultiJumpPlatformCharacter pelaaja = hahmo as MultiJumpPlatformCharacter; 
     147        pelaaja.ElamaLaskuri.Value--; 
    107148    } 
    108149} 
  • 2016/koodauskerho/OttoK/PalikkaPeli/PalikkaPeli/PalikkaPeli/PalikkaPeli.csproj

    r8321 r8368  
    111111  </ItemGroup> 
    112112  <ItemGroup> 
     113    <Compile Include="MultiJumpPlatformCharacter.cs" /> 
    113114    <Compile Include="Ohjelma.cs" /> 
    114115    <Compile Include="PalikkaPeli.cs" /> 
  • 2016/koodauskerho/OttoK/PalikkaPeli/PalikkaPeli/PalikkaPeli/PalikkaPeli.csproj.Debug.cachefile

    r8321 r8368  
    22Content\norsu.xnb 
    33Content\tahti.xnb 
     4Content\Palikkakyborgi.xnb 
    45Content\kentta1.xnb 
    5 Content\Palikkakyborgi.xnb 
     6Content\palikka.xnb 
     7Content\Pahispalikka.xnb 
  • 2016/koodauskerho/OttoK/PalikkaPeli/PalikkaPeli/PalikkaPeli/obj/x86/Debug/ContentPipeline-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}.xml

    r8321 r8368  
    99      <Options>None</Options> 
    1010      <Output>C:\MyTemp\OttoK\PalikkaPeli\PalikkaPeli\PalikkaPeli\bin\x86\Debug\Content\maali.xnb</Output> 
    11       <Time>2016-09-17T14:07:26.8582496+03:00</Time> 
     11      <Time>2016-11-19T10:39:42.3329956+02:00</Time> 
    1212    </Item> 
    1313    <Item> 
     
    1818      <Options>None</Options> 
    1919      <Output>C:\MyTemp\OttoK\PalikkaPeli\PalikkaPeli\PalikkaPeli\bin\x86\Debug\Content\norsu.xnb</Output> 
    20       <Time>2016-09-17T14:07:26.8602498+03:00</Time> 
     20      <Time>2016-11-19T10:39:42.426595+02:00</Time> 
    2121    </Item> 
    2222    <Item> 
     
    2727      <Options>None</Options> 
    2828      <Output>C:\MyTemp\OttoK\PalikkaPeli\PalikkaPeli\PalikkaPeli\bin\x86\Debug\Content\tahti.xnb</Output> 
    29       <Time>2016-09-17T14:07:26.8612499+03:00</Time> 
     29      <Time>2016-11-19T10:39:42.5045945+02:00</Time> 
     30    </Item> 
     31    <Item> 
     32      <Source>Palikkakyborgi.png</Source> 
     33      <Name>Palikkakyborgi</Name> 
     34      <Importer>TextureImporter</Importer> 
     35      <Processor>TextureProcessor</Processor> 
     36      <Options>None</Options> 
     37      <Output>C:\MyTemp\OttoK\PalikkaPeli\PalikkaPeli\PalikkaPeli\bin\x86\Debug\Content\Palikkakyborgi.xnb</Output> 
     38      <Time>2016-11-19T10:39:42.3485955+02:00</Time> 
    3039    </Item> 
    3140    <Item> 
     
    3645      <Options>None</Options> 
    3746      <Output>C:\MyTemp\OttoK\PalikkaPeli\PalikkaPeli\PalikkaPeli\bin\x86\Debug\Content\kentta1.xnb</Output> 
    38       <Time>2016-09-17T14:21:43.595313+03:00</Time> 
     47      <Time>2016-11-19T14:53:29.0155841+02:00</Time> 
    3948    </Item> 
    4049    <Item> 
    41       <Source>Palikkakyborgi.png</Source> 
    42       <Name>Palikkakyborgi</Name> 
     50      <Source>palikka.png</Source> 
     51      <Name>palikka</Name> 
    4352      <Importer>TextureImporter</Importer> 
    4453      <Processor>TextureProcessor</Processor> 
    4554      <Options>None</Options> 
    46       <Output>C:\MyTemp\OttoK\PalikkaPeli\PalikkaPeli\PalikkaPeli\bin\x86\Debug\Content\Palikkakyborgi.xnb</Output> 
    47       <Time>2016-09-17T14:38:20.1532225+03:00</Time> 
     55      <Output>C:\MyTemp\OttoK\PalikkaPeli\PalikkaPeli\PalikkaPeli\bin\x86\Debug\Content\palikka.xnb</Output> 
     56      <Time>2016-11-19T12:44:25.1611967+02:00</Time> 
     57    </Item> 
     58    <Item> 
     59      <Source>Pahispalikka.png</Source> 
     60      <Name>Pahispalikka</Name> 
     61      <Importer>TextureImporter</Importer> 
     62      <Processor>TextureProcessor</Processor> 
     63      <Options>None</Options> 
     64      <Output>C:\MyTemp\OttoK\PalikkaPeli\PalikkaPeli\PalikkaPeli\bin\x86\Debug\Content\Pahispalikka.xnb</Output> 
     65      <Time>2016-11-19T13:03:01.9647361+02:00</Time> 
    4866    </Item> 
    4967    <BuildSuccessful>true</BuildSuccessful> 
     
    94112      <Assembly> 
    95113        <Key>C:\Windows\Microsoft.Net\assembly\GAC_32\Microsoft.Xna.Framework.Content.Pipeline\v4.0_4.0.0.0__842cf8be1de50553\Microsoft.Xna.Framework.Content.Pipeline.dll</Key> 
    96         <Value>2015-09-16T19:11:28.4808562+03:00</Value> 
     114        <Value>2015-09-16T12:47:00.0480835+03:00</Value> 
    97115      </Assembly> 
    98116    </Assemblies> 
  • 2016/koodauskerho/OttoK/PalikkaPeli/PalikkaPeli/PalikkaPeli/obj/x86/Debug/PalikkaPeli.csproj.FileListAbsolute.txt

    r8321 r8368  
    1212C:\MyTemp\OttoK\PalikkaPeli\PalikkaPeli\PalikkaPeli\obj\x86\Debug\PalikkaPeli.pdb 
    1313C:\MyTemp\OttoK\PalikkaPeli\PalikkaPeli\PalikkaPeli\bin\x86\Debug\Content\Palikkakyborgi.xnb 
     14C:\MyTemp\OttoK\PalikkaPeli\PalikkaPeli\PalikkaPeli\bin\x86\Debug\Content\palikka.xnb 
     15C:\MyTemp\OttoK\PalikkaPeli\PalikkaPeli\PalikkaPeli\bin\x86\Debug\Content\Pahispalikka.xnb 
  • 2016/koodauskerho/OttoK/PalikkaPeli/PalikkaPeli/PalikkaPeli/obj/x86/Debug/cachefile-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}-targetpath.txt

    r8321 r8368  
    22Content\norsu.xnb 
    33Content\tahti.xnb 
     4Content\Palikkakyborgi.xnb 
    45Content\kentta1.xnb 
    5 Content\Palikkakyborgi.xnb 
     6Content\palikka.xnb 
     7Content\Pahispalikka.xnb 
  • 2016/koodauskerho/OttoK/PalikkaPeli/PalikkaPeli/PalikkaPeliContent/PalikkaPeliContent.contentproj

    r8321 r8368  
    7474    </Compile> 
    7575  </ItemGroup> 
     76  <ItemGroup> 
     77    <Compile Include="palikka.png"> 
     78      <Name>palikka</Name> 
     79      <Importer>TextureImporter</Importer> 
     80      <Processor>TextureProcessor</Processor> 
     81    </Compile> 
     82  </ItemGroup> 
     83  <ItemGroup> 
     84    <Compile Include="Pahispalikka.png"> 
     85      <Name>Pahispalikka</Name> 
     86      <Importer>TextureImporter</Importer> 
     87      <Processor>TextureProcessor</Processor> 
     88    </Compile> 
     89  </ItemGroup> 
    7690  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    7791  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2016/koodauskerho/OttoK/PalikkaPeli/PalikkaPeli/PalikkaPeliContent/kentta1.txt

    r8321 r8368  
    33O                                       O 
    44O                                       O 
     5OO                                      O 
    56O                                       O 
    67O                                       O 
    78O                                       O 
     9OO                                      O 
    810O                                       O 
    911O                                       O 
    1012O                                       O 
     13OO                                      O 
    1114O                                       O 
    1215O                                       O 
    1316O                                       O 
     17OO                                      O 
    1418O                                       O 
    1519O                                       O 
    16 O                   N                   O 
     20O                                       O 
     21OOOOO                                   O 
     22O   O                                   O 
     23O P K                                   O 
     24OOOOO       PPP                         O 
    1725OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 
Note: See TracChangeset for help on using the changeset viewer.