Changeset 4803 for 2013


Ignore:
Timestamp:
2013-11-23 14:57:39 (6 years ago)
Author:
vesal
Message:

miekka

Location:
2013/anlakane/Tiernapojat
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • 2013/anlakane/Tiernapojat/Tiernapojat.sln

    r4796 r4803  
    44Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tiernapojat", "Tiernapojat\Tiernapojat\Tiernapojat.csproj", "{73A29196-DDB0-41CE-9266-C0F39A5F6B94}" 
    55EndProject 
    6 Project("{96E2B04D-8817-42C6-938A-82C39BA4D311}") = "TiernapojatContent", "Tiernapojat\TiernapojatContent\TiernapojatContent.contentproj", "{B54F52D1-AF83-46B4-84EF-A6445DA73599}" 
     6Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TiernapojatContent", "Tiernapojat\TiernapojatContent\TiernapojatContent.contentproj", "{B54F52D1-AF83-46B4-84EF-A6445DA73599}" 
    77EndProject 
    88Global 
    99        GlobalSection(SolutionConfigurationPlatforms) = preSolution 
    1010                Debug|x86 = Debug|x86 
     11                DebugVisualize|x86 = DebugVisualize|x86 
    1112                Release|x86 = Release|x86 
    1213        EndGlobalSection 
     
    1415                {73A29196-DDB0-41CE-9266-C0F39A5F6B94}.Debug|x86.ActiveCfg = Debug|x86 
    1516                {73A29196-DDB0-41CE-9266-C0F39A5F6B94}.Debug|x86.Build.0 = Debug|x86 
     17                {73A29196-DDB0-41CE-9266-C0F39A5F6B94}.DebugVisualize|x86.ActiveCfg = Debug|x86 
     18                {73A29196-DDB0-41CE-9266-C0F39A5F6B94}.DebugVisualize|x86.Build.0 = Debug|x86 
    1619                {73A29196-DDB0-41CE-9266-C0F39A5F6B94}.Release|x86.ActiveCfg = Release|x86 
    1720                {73A29196-DDB0-41CE-9266-C0F39A5F6B94}.Release|x86.Build.0 = Release|x86 
    1821                {B54F52D1-AF83-46B4-84EF-A6445DA73599}.Debug|x86.ActiveCfg = Debug|x86 
     22                {B54F52D1-AF83-46B4-84EF-A6445DA73599}.DebugVisualize|x86.ActiveCfg = Debug|x86 
    1923                {B54F52D1-AF83-46B4-84EF-A6445DA73599}.Release|x86.ActiveCfg = Release|x86 
    2024        EndGlobalSection 
  • 2013/anlakane/Tiernapojat/Tiernapojat/Tiernapojat/Tiernapojat.cs

    r4802 r4803  
    1010{ 
    1111 
    12     private double korkeus; 
    1312    private KaantyvaOsa liikkuvaOsa; 
     13    private Direction suunta; 
     14    private Vector koko; 
     15    private Vector liikkuvaKoko; 
     16    private Vector miekanKoko; 
     17    private PhysicsGame peli; 
     18    private PhysicsObject miekka; 
    1419 
    1520    public KaantyvaOsa LiikkuvaOsa 
     
    1722        get { return liikkuvaOsa; } 
    1823    } 
    19     private AxleJoint kiinnitysVartaloon; 
    20  
    21     public AxleJoint KiinnitysVartaloon 
    22     { 
    23         get { return kiinnitysVartaloon; } 
    24     } 
    25  
    26     public Tiernapoika(double leveys, double korkeus, Image kuva, Image kasikuva) 
    27         : base(leveys,korkeus) 
     24 
     25 
     26    public Tiernapoika(PhysicsGame peli, double leveys, double korkeus, Image[] kuvat) 
     27        : base(leveys, korkeus) 
    2828    { 
    2929        // Pojan oikea käsi 
    3030        liikkuvaOsa = new KaantyvaOsa(leveys, korkeus / 4); 
    31         liikkuvaOsa.X = Right - Width / 10; 
     31        liikkuvaOsa.Left = Right - Width / 10; 
    3232        liikkuvaOsa.Y = Top - Height / 4; 
    3333        liikkuvaOsa.Color = Color.Gray; 
    34         Add(liikkuvaOsa); 
    35         kiinnitysVartaloon = new AxleJoint(this, liikkuvaOsa, new Vector(Right, liikkuvaOsa.Y)); 
    36         kiinnitysVartaloon.Softness = 0; 
    3734        // Add(kiinnitysVartaloon); 
    3835        // Poika ja käsi eivät saa törmätä toisiinsa 
    3936        CollisionIgnoreGroup = 1; 
    4037        liikkuvaOsa.CollisionIgnoreGroup = 1; 
    41         liikkuvaOsa.Image = kasikuva; 
    42         Image = kuva; 
     38        liikkuvaOsa.Image = kuvat[2]; 
     39        Image = kuvat[0]; 
    4340        DirectionChanged += new Action<Direction>(Kaantyi); 
    44         this.korkeus = korkeus; 
     41        koko = Size; 
    4542        Mass = 40000.0; 
     43        liikkuvaKoko = liikkuvaOsa.Size; 
     44        suunta = Direction.Right; 
     45        Add(liikkuvaOsa); 
     46        peli.Add(this, 1); 
     47        //peli.Add(liikkuvaOsa); 
     48        this.peli = peli; 
     49        miekka = new PhysicsObject(leveys*1.5,1 ); 
     50        miekka.Image = kuvat[3]; 
     51        miekka.Height = miekka.Width * miekka.Image.Height / miekka.Image.Width; 
     52        miekka.IgnoresGravity = true; 
     53        miekka.CollisionIgnoreGroup = 1; 
     54        liikkuvaOsa.Add(miekka); 
     55        miekanKoko = miekka.Size; 
     56        miekka.Angle = Angle.FromDegrees(20); 
     57        SaadaKoko(koko); 
    4658    } 
    4759 
    4860    private void Kaantyi(Direction suunta) 
    4961    { 
    50         if ( suunta == Direction.Left ) 
    51             liikkuvaOsa.X = -Width/2 * 0.9; 
     62        if (suunta == Direction.Left) 
     63        { 
     64            liikkuvaOsa.X = -Width / 2 * 0.9; 
     65            miekka.Angle = Angle.FromDegrees(-20); 
     66        } 
    5267        else 
    53             liikkuvaOsa.X = Width/2*0.9; 
     68        { 
     69            liikkuvaOsa.X = Width / 2 * 0.9; 
     70            miekka.Angle = Angle.FromDegrees(20); 
     71        } 
    5472        liikkuvaOsa.Suunta = suunta; 
    55  
    56  
    57     } 
    58  
     73        this.suunta = suunta; 
     74        liikkuvaOsa.Y = Height / 6; 
     75    } 
     76 
     77 
     78    private void SaadaKoko(Vector uusikoko) 
     79    { 
     80        Size = uusikoko; 
     81        liikkuvaOsa.Size = liikkuvaKoko * Size.Y / koko.Y; 
     82        miekka.Size = miekanKoko * Size.Y / koko.Y; 
     83        miekka.Position = new Vector(liikkuvaOsa.Width / 2 - 10, 0); 
     84        Kaantyi(suunta); 
     85    } 
    5986 
    6087 
    6188    internal void Nouse(double nopeus) 
    6289    { 
    63         Height = korkeus; 
    64     } 
     90        SaadaKoko(koko); 
     91        Kaantyi(suunta); 
     92    } 
     93 
    6594 
    6695    internal void Polvistu(double nopeus) 
    6796    { 
    68         Height = korkeus / 2; 
     97        SaadaKoko(new Vector(Width, koko.Y / 2)); 
     98    } 
     99 
     100 
     101    internal void Pois(double nopeus) 
     102    { 
     103        if (Height < koko.Y / 2) return; 
     104        SaadaKoko(Size * 0.99); 
     105        //  peli.Remove(this); 
     106        //  peli.Add(this, -1); 
     107    } 
     108 
     109 
     110    internal void Takaisin(double nopeus) 
     111    { 
     112        if (Height > koko.Y) Nouse(nopeus); 
     113        SaadaKoko(Size * 1.01); 
     114        // peli.Remove(this); 
     115        // peli.Add(this, 1); 
     116    } 
     117 
     118    internal void MiekkaTuppeen() 
     119    { 
     120        miekka.IsVisible = false; 
     121    } 
     122 
     123    internal void MiekkaEsiin() 
     124    { 
     125        miekka.IsVisible = true; 
    69126    } 
    70127} 
     128 
    71129 
    72130/// @author  Vesa Lappalainen 
     
    84142    /// Tavoitekulma, johon maila pyrkii osoittamaan 
    85143    /// </summary> 
    86     public Angle Tavoite { get { return tavoite; } set { tavoite = value ; saavutettu = false; } } 
     144    public Angle Tavoite { get { return tavoite; } set { tavoite = value; saavutettu = false; } } 
    87145    private Angle tavoite; 
    88146    private bool saavutettu = true; 
     
    93151            if (value == Direction.Left) { suuntaero = vasen; s = -1; } else { suuntaero = oikea; s = 1; } 
    94152            Tavoite = Tavoite; 
    95     } } 
     153        } 
     154    } 
     155 
    96156 
    97157    public KaantyvaOsa(double width, double height) 
     
    150210"                      ", 
    151211"                      ", 
    152  N   N  N  N        ", 
     212H    M     K      N ", 
    153213"=                     ", 
    154214                                             }; 
     
    163223    private Image pelaajanKuva = LoadImage("norsu"); 
    164224    private Image tahtiKuva = LoadImage("tahti"); 
     225    private Image kadenkuva = LoadImage("kasi"); 
     226    private Image miekankuva = LoadImage("miekka"); 
     227 
     228    //                                             sivu              taka               käsi 
     229    private Image[] herodeksenKuvat = { LoadImage("norsu"), LoadImage("norsu"), LoadImage("kasi"), LoadImage("miekka") }; 
     230    private Image[] muriaaninKuvat = { LoadImage("norsu"), LoadImage("norsu"), LoadImage("kasi"), LoadImage("miekka") }; 
     231    private Image[] knihdinKuvat = { LoadImage("norsu"), LoadImage("norsu"), LoadImage("kasi"), LoadImage("miekka") }; 
     232    private Image[] mankinKuvat = { LoadImage("norsu"), LoadImage("norsu"), LoadImage("kasi"), LoadImage("tahti") }; 
    165233 
    166234    private SoundEffect maaliAani = LoadSoundEffect("maali"); 
     
    183251        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    184252 
    185        // Camera.Follow(poika1); 
     253        // Camera.Follow(poika1); 
    186254        Camera.ZoomFactor = 1.5; 
    187255        //Camera.ZoomToAllObjects(0); 
    188        // Camera.StayInLevel = true; 
     256        // Camera.StayInLevel = true; 
    189257    } 
    190258 
     
    196264        kentta.SetTileMethod('=', LisaaPohjaTaso); 
    197265        kentta.SetTileMethod('*', LisaaTahti); 
    198         kentta.SetTileMethod('N', LisaaPelaaja); 
     266        kentta.SetTileMethod('H', (p, l, k) => LisaaPelaaja(p, l, k, herodeksenKuvat)); 
     267        kentta.SetTileMethod('M', (p, l, k) => LisaaPelaaja(p, l, k, muriaaninKuvat)); 
     268        kentta.SetTileMethod('K', (p, l, k) => LisaaPelaaja(p, l, k, knihdinKuvat)); 
     269        kentta.SetTileMethod('N', (p, l, k) => LisaaPelaaja(p, l, k, mankinKuvat)); 
    199270        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    200271        //Level.CreateBorders(); 
     
    212283    void LisaaPohjaTaso(Vector paikka, double leveys, double korkeus) 
    213284    { 
    214         PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys*100, korkeus); 
     285        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys * 100, korkeus); 
    215286        taso.Position = paikka; 
    216287        taso.Color = Color.Green; 
     
    228299    } 
    229300 
    230     void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    231     { 
    232         Tiernapoika poika = new Tiernapoika(leveys*4, korkeus*4,pelaajanKuva, LoadImage("kasi")); 
     301    void LisaaPelaaja(Vector paikka, double leveys, double korkeus, Image[] kuvat) 
     302    { 
     303        Tiernapoika poika = new Tiernapoika(this, leveys * 4, korkeus * 4, kuvat); 
    233304        poika.Position = paikka; 
    234305        poika.Color = Color.Red; 
     
    236307        AddCollisionHandler(poika, "tahti", TormaaTahteen); 
    237308        // Add(poika1.KiinnitysVartaloon); 
    238         Add(poika); 
    239309        pojat.Add(poika); 
    240310    } 
     
    246316        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", poika, nopeus); 
    247317        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", poika, hyppyNopeus); 
     318        Keyboard.Listen(Key.Down, ButtonState.Pressed, Polvistu, "Pelaaja hyppää", poika, hyppyNopeus); 
    248319 
    249320        controller.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
    250321        controller.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", poika, -nopeus); 
    251322        controller.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", poika, nopeus); 
    252         controller.Listen(Button.DPadUp, ButtonState.Down, Nouse, "Pelaaja nousee", poika, -nopeus); 
    253         controller.Listen(Button.DPadDown, ButtonState.Down, Polvistu, "Pelaaja polvistuu", poika, nopeus); 
    254         controller.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", poika, hyppyNopeus); 
     323        controller.Listen(Button.DPadUp, ButtonState.Down, Pois, "Pelaaja poispäin", poika, nopeus); 
     324        controller.Listen(Button.DPadDown, ButtonState.Down, Takaisin, "Pelaaja takaisinpäin", poika, nopeus); 
     325        controller.Listen(Button.Y, ButtonState.Down, Nouse, "Pelaaja nousee", poika, -nopeus); 
     326        controller.Listen(Button.A, ButtonState.Down, Polvistu, "Pelaaja polvistuu", poika, nopeus); 
     327        controller.Listen(Button.RightTrigger, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", poika, hyppyNopeus); 
     328        controller.Listen(Button.X, ButtonState.Pressed, () => poika.MiekkaTuppeen(), "Miekka tuppeen"); 
     329        controller.Listen(Button.B, ButtonState.Pressed, () => poika.MiekkaEsiin(), "Miekka esiin"); 
    255330 
    256331        controller.ListenAnalog(AnalogControl.RightStick, 0.03, LiikutaKatta, "Liikuta kättä", poika); 
     
    278353    { 
    279354        hahmo.Nouse(nopeus); 
     355    } 
     356 
     357    void Pois(Tiernapoika hahmo, double nopeus) 
     358    { 
     359        hahmo.Pois(nopeus); 
     360    } 
     361 
     362    void Takaisin(Tiernapoika hahmo, double nopeus) 
     363    { 
     364        hahmo.Takaisin(nopeus); 
    280365    } 
    281366 
  • 2013/anlakane/Tiernapojat/Tiernapojat/Tiernapojat/Tiernapojat.csproj

    r4794 r4803  
    6262  </PropertyGroup> 
    6363  <ItemGroup> 
    64     <Reference Include="Jypeli"> 
     64    <Reference Include="Jypeli, Version=5.0.0.0, Culture=neutral, processorArchitecture=x86"> 
     65      <SpecificVersion>False</SpecificVersion> 
     66      <HintPath>..\..\..\..\..\jypeli\lib\x86\Jypeli.dll</HintPath> 
    6567    </Reference> 
    6668    <Reference Include="Microsoft.Xna.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86"> 
  • 2013/anlakane/Tiernapojat/Tiernapojat/TiernapojatContent/TiernapojatContent.contentproj

    r4798 r4803  
    7474    </Compile> 
    7575  </ItemGroup> 
     76  <ItemGroup> 
     77    <Compile Include="kasi2.png"> 
     78      <Name>kasi2</Name> 
     79      <Importer>TextureImporter</Importer> 
     80      <Processor>TextureProcessor</Processor> 
     81    </Compile> 
     82  </ItemGroup> 
     83  <ItemGroup> 
     84    <Compile Include="miekka.png"> 
     85      <Name>miekka</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.  
Note: See TracChangeset for help on using the changeset viewer.