Changeset 6240 for 2015/26


Ignore:
Timestamp:
2015-06-24 12:02:32 (4 years ago)
Author:
akpaloka
Message:
 
Location:
2015/26/AkseliP
Files:
9 added
2 deleted
16 edited

Legend:

Unmodified
Added
Removed
  • 2015/26/AkseliP/ekapeli2/ekapeli2/ekapeli2/ekapeli2.cs

    r6182 r6240  
    77using Jypeli.Widgets; 
    88 
     9class Pelaaja : PlatformCharacter 
     10{ 
     11    private IntMeter elamaLaskuri = new IntMeter(3, 0, 3); 
     12    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
     13 
     14    public Pelaaja(double leveys, double korkeus) 
     15        : base(leveys, korkeus) 
     16    { 
     17        elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 
     18    } 
     19} 
     20 
     21 
    922public class ekapeli2 : PhysicsGame 
    1023{ 
     
    1326    const int RUUDUN_KOKO = 40; 
    1427 
    15     PlatformCharacter pelaaja1; 
     28    Pelaaja pelaaja1; 
     29    Pelaaja pelaaja2; 
    1630 
    1731    Image pelaajanKuva = LoadImage("hahmo"); 
     
    2034    Image multakuva = LoadImage("multa"); 
    2135    Image asekuva = LoadImage("ak47"); 
     36    private Image[] ukkelinKavely = LoadImages("hahmo", "hahmo2", "hahmo3"); 
     37 
    2238 
    2339    Image[] kolikkokuvat = LoadImages("coin1", "coin2", "coin3", "coin4", "coin4", "coin5", "coin6", "coin7", "coin8", "coin9", "coin10"); 
     
    3248        LisaaNappaimet(); 
    3349 
    34         Camera.Follow(pelaaja1); 
    35         Camera.ZoomFactor = 1.2; 
    36         Camera.StayInLevel = true; 
     50        Camera.Follow(pelaaja1, pelaaja2); 
     51        Camera.FollowXMargin = 100; 
     52        Camera.FollowYMargin = 100; 
    3753 
    3854        IsMouseVisible = true; 
     
    4460        kentta.SetTileMethod('#', LisaaTaso); 
    4561        kentta.SetTileMethod('*', LisaaTahti); 
    46         kentta.SetTileMethod('N', LisaaPelaaja); 
     62        kentta.SetTileMethod('N', LisaaPelaaja1); 
     63        kentta.SetTileMethod('o', LisaaPelaaja2); 
    4764        kentta.SetTileMethod('m', LisaaMulta); 
    4865        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
     
    6279    void LisaaTahti(Vector paikka, double leveys, double korkeus) 
    6380    { 
    64         PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys*0.5, korkeus*0.5); 
     81        PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys * 0.5, korkeus * 0.5); 
    6582        tahti.IgnoresCollisionResponse = true; 
    6683        tahti.Position = paikka; 
     
    7289    } 
    7390 
    74     void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    75     { 
    76         pelaaja1 = new PlatformCharacter(leveys*0.6, korkeus*1.5); 
    77         pelaaja1.Position = paikka; 
    78  
    79         pelaaja1.Mass = 4.0; 
    80         pelaaja1.Image = pelaajanKuva; 
    81         AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
    82         Add(pelaaja1); 
     91    Pelaaja LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
     92    { 
     93        Pelaaja pelaaja = new Pelaaja(leveys * 0.6, korkeus * 1.5); 
     94        pelaaja.Position = paikka; 
     95        pelaaja.Tag = "pelaaja"; 
     96        pelaaja.Mass = 4.0; 
     97        pelaaja.Image = pelaajanKuva; 
     98        AddCollisionHandler(pelaaja, "tahti", TormaaTahteen); 
     99        Add(pelaaja); 
     100        pelaaja.Animation = new Animation(ukkelinKavely); 
     101        pelaaja.AnimWalk = new Animation(ukkelinKavely); 
    83102        //pelaaja1 on PlatformCharacter-tyyppinen 
    84         pelaaja1.Weapon = new AssaultRifle(30, 30); 
    85         pelaaja1.Weapon.Image = asekuva; 
    86         pelaaja1.Weapon.X = 5; 
    87         pelaaja1.Weapon.Y = -4; 
     103        //pelaaja1.Animation.Start(); 
     104        pelaaja.AnimIdle = pelaajanKuva; 
     105        pelaaja.Animation.FPS = 1; 
     106        pelaaja.Weapon = new AssaultRifle(30, 30); 
     107        pelaaja.Weapon.Image = asekuva; 
     108        pelaaja.Weapon.X = 5; 
     109        pelaaja.Weapon.Y = -4; 
    88110 
    89111        //Ammusten määrä aluksi: 
    90         pelaaja1.Weapon.Ammo.Value = 1000; 
     112        pelaaja.Weapon.Ammo.Value = 1000; 
    91113 
    92114        //Mitä tapahtuu kun ammus osuu johonkin? 
    93         pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 
    94  
     115        pelaaja.Weapon.ProjectileCollision = AmmusOsui; 
     116        return pelaaja; 
     117    } 
     118 
     119    void LisaaPelaaja1(Vector paikka, double leveys, double korkeus) 
     120    { 
     121        pelaaja1 = LisaaPelaaja(paikka, leveys, korkeus); 
     122    } 
     123 
     124    void LisaaPelaaja2(Vector paikka, double leveys, double korkeus) 
     125    { 
     126        pelaaja2 = LisaaPelaaja(paikka, leveys, korkeus); 
    95127    } 
    96128 
     
    100132        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    101133        Mouse.Listen(MouseButton.Left, ButtonState.Pressed, AmmuAseella, "ampuu aseella", pelaaja1); 
    102         Mouse.ListenMovement(0.0, tähääaseella, ""); 
    103  
    104         Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
    105         Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
    106         Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     134        Mouse.ListenMovement(0.0, tähtääaseella1, ""); 
     135 
     136        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
     137        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
     138        Keyboard.Listen(Key.Space, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    107139 
    108140        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
    109141 
    110         ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus); 
    111         ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 
    112         ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     142        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja2, -nopeus); 
     143        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja2, nopeus); 
     144        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus); 
     145        ControllerOne.Listen(Button.RightShoulder, ButtonState.Pressed, AmmuAseella, "ampuu aseella", pelaaja2); 
     146        ControllerOne.ListenAnalog(AnalogControl.RightStick, 0.1, tähtääaseella2, ""); 
    113147 
    114148        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
     
    145179    { 
    146180        ammus.Destroy(); 
    147     } 
    148  
    149     void AmmuAseella(PlatformCharacter pelaaja) 
    150     { 
    151          
     181 
     182        if (kohde.Tag.Equals("pelaaja")) 
     183        { 
     184            ((Pelaaja)kohde).ElamaLaskuri.Value -= 1; 
     185        } 
     186    } 
     187 
     188    void AmmuAseella(Pelaaja pelaaja) 
     189    { 
     190        if (pelaaja.ElamaLaskuri.Value == 0) 
     191        { 
     192            return; 
     193        } 
    152194 
    153195        PhysicsObject ammus = pelaaja.Weapon.Shoot(); 
     
    161203 
    162204    } 
    163     void tähääaseella(AnalogState hiiri) 
     205 
     206    void tähtääaseella1(AnalogState hiiri) 
    164207    { 
    165208        pelaaja1.Weapon.AbsoluteAngle = (Mouse.PositionOnWorld - pelaaja1.Position).Angle; 
    166209 
    167210    } 
    168         
     211 
     212    void tähtääaseella2(AnalogState tatti) 
     213    { 
     214        pelaaja2.Weapon.AbsoluteAngle = tatti.StateVector.Angle; 
     215 
     216    } 
     217 
     218    
     219 
    169220} 
  • 2015/26/AkseliP/ekapeli2/ekapeli2/ekapeli2/ekapeli2.csproj

    r6162 r6240  
    118118    <Content Include="Game.ico" /> 
    119119    <Content Include="GameThumbnail.png" /> 
     120    <Content Include="hahmo.png" /> 
    120121  </ItemGroup> 
    121122  <ItemGroup> 
  • 2015/26/AkseliP/ekapeli2/ekapeli2/ekapeli2/ekapeli2.csproj.Debug.cachefile

    r6182 r6240  
    1919Content\22.xnb 
    2020Content\hahmo2.xnb 
     21Content\hahmo3.xnb 
  • 2015/26/AkseliP/ekapeli2/ekapeli2/ekapeli2/obj/x86/Debug/ContentPipeline-{CE3354F9-E734-486A-929C-C9F049ED46A0}.xml

    r6182 r6240  
    2727      <Options>None</Options> 
    2828      <Output>C:\MyTemp\AkseliP\ekapeli2\ekapeli2\ekapeli2\bin\x86\Debug\Content\kentta1.xnb</Output> 
    29       <Time>2015-06-23T13:40:13.1840274+03:00</Time> 
     29      <Time>2015-06-24T11:14:37.3064012+03:00</Time> 
    3030    </Item> 
    3131    <Item> 
     
    180180      <Options>None</Options> 
    181181      <Output>C:\MyTemp\AkseliP\ekapeli2\ekapeli2\ekapeli2\bin\x86\Debug\Content\hahmo2.xnb</Output> 
    182       <Time>2015-06-23T14:45:48.2247274+03:00</Time> 
     182      <Time>2015-06-23T14:50:45.7619274+03:00</Time> 
     183    </Item> 
     184    <Item> 
     185      <Source>hahmo3.png</Source> 
     186      <Name>hahmo3</Name> 
     187      <Importer>TextureImporter</Importer> 
     188      <Processor>TextureProcessor</Processor> 
     189      <Options>None</Options> 
     190      <Output>C:\MyTemp\AkseliP\ekapeli2\ekapeli2\ekapeli2\bin\x86\Debug\Content\hahmo3.xnb</Output> 
     191      <Time>2015-06-24T10:09:08.2758012+03:00</Time> 
    183192    </Item> 
    184193    <BuildSuccessful>true</BuildSuccessful> 
  • 2015/26/AkseliP/ekapeli2/ekapeli2/ekapeli2/obj/x86/Debug/cachefile-{CE3354F9-E734-486A-929C-C9F049ED46A0}-targetpath.txt

    r6182 r6240  
    1919Content\22.xnb 
    2020Content\hahmo2.xnb 
     21Content\hahmo3.xnb 
  • 2015/26/AkseliP/ekapeli2/ekapeli2/ekapeli2/obj/x86/Debug/ekapeli2.csproj.FileListAbsolute.txt

    r6182 r6240  
    2727C:\MyTemp\AkseliP\ekapeli2\ekapeli2\ekapeli2\bin\x86\Debug\Content\22.xnb 
    2828C:\MyTemp\AkseliP\ekapeli2\ekapeli2\ekapeli2\bin\x86\Debug\Content\hahmo2.xnb 
     29C:\MyTemp\AkseliP\ekapeli2\ekapeli2\ekapeli2\bin\x86\Debug\Content\hahmo3.xnb 
  • 2015/26/AkseliP/ekapeli2/ekapeli2/ekapeli2Content/ekapeli2Content.contentproj

    r6182 r6240  
    163163    </Compile> 
    164164  </ItemGroup> 
     165  <ItemGroup> 
     166    <Compile Include="hahmo3.png"> 
     167      <Name>hahmo3</Name> 
     168      <Importer>TextureImporter</Importer> 
     169      <Processor>TextureProcessor</Processor> 
     170    </Compile> 
     171  </ItemGroup> 
     172  <ItemGroup> 
     173    <Compile Include="elämät.jpg"> 
     174      <Name>elämät</Name> 
     175      <Importer>TextureImporter</Importer> 
     176      <Processor>TextureProcessor</Processor> 
     177    </Compile> 
     178  </ItemGroup> 
    165179  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    166180  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2015/26/AkseliP/ekapeli2/ekapeli2/ekapeli2Content/kentta1.txt

    r6182 r6240  
    44 
    55 
    6  
    7  
    8  
    9             N   ##     ******* 
     6                        
     7                         ##                   ## 
     8                    #       # 
     9            N   ##                     o 
    1010###################################################### 
    1111mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 
     12mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 
     13mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 
     14mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 
Note: See TracChangeset for help on using the changeset viewer.