Changeset 4031 for 2013/23


Ignore:
Timestamp:
2013-06-07 13:37:52 (6 years ago)
Author:
totauria
Message:
 
Location:
2013/23/TopiasT/Tasohyppelypeli1/Tasohyppelypeli1
Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • 2013/23/TopiasT/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1.cs

    r3998 r4031  
    88using Jypeli.WP7; 
    99 
     10 
    1011class Vihu : PlatformCharacter 
    1112{ 
     
    5556public class Tasohyppelypeli1 : PhysicsGame 
    5657{ 
     58    public static bool IsScreenSaverEnabled { get; set; } 
     59 
    5760    const double nopeus = 100; 
    5861    const double hyppyNopeus = 550; 
     
    7174    private Image[] hyppyAnimaatio = LoadImages("hahmohyppy9", "hahmohyppy1", "hahmohyppy2", "hahmohyppy3", "hahmohyppy4", "hahmohyppy5", "hahmohyppy6", "hahmohyppy7", "hahmohyppy8", "hahmohyppy9"); 
    7275    Animation hyokkaysAnimaatio; 
    73     Animation hyokkaysAnimaatio2 ; 
     76    Animation hyokkaysAnimaatio2; 
     77    Animation hyokkaysAnimaatio3; 
    7478  
    7579 
     
    8185 
    8286    SoundEffect maaliAani = LoadSoundEffect("maali"); 
    83  
     87     
    8488    int avainsaatu = 0; 
    85     int Ase = 0; 
    86     int Ase2 = 0; 
     89    int pistooliOstettu = 0; 
     90    int haulikkoOstettu = 0; 
     91    int Ase; 
    8792 
    8893    public override void Begin() 
     
    9095#if WINDOWS_PHONE 
    9196        SetWindowSize(800, 480); 
     97        IsScreenSaverEnabled = false; 
    9298#endif 
    9399        hyokkaysAnimaatio2 = new Animation(LoadImages("hahmoPi", "hahmoPiH")); 
    94100        hyokkaysAnimaatio = new Animation(LoadImages("hahmoP", "hahmoL")); 
     101        hyokkaysAnimaatio3 = new Animation(LoadImages("hahmoH", "hahmoHA")); 
    95102        Valikko(); 
    96103    } 
     
    116123        valikonKohdat.Add(kohta3); 
    117124 
    118         Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null); 
     125        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null,++KenttaNro); 
    119126        Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Exit, null); 
    120127        Mouse.ListenOn(kohta3, MouseButton.Left, ButtonState.Pressed, Kauppa, null); 
    121128        Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 
    122129 
    123         TouchPanel.ListenOn(kohta1, ButtonState.Pressed, AloitaPeliTouch, null); 
     130        TouchPanel.ListenOn(kohta1, ButtonState.Pressed, ValitseTaso, null); 
    124131        TouchPanel.ListenOn(kohta2, ButtonState.Pressed, poistu, null); 
    125132        TouchPanel.ListenOn(kohta3, ButtonState.Pressed, kauppaTouch, null); 
     
    140147    } 
    141148 
    142     void AloitaPeliTouch(Touch touch) 
    143     { 
    144         AloitaPeli(); 
     149    void AloitaPeliTouch(Touch touch, int kentta) 
     150    { 
     151        switch (kentta) 
     152        { 
     153            case 1: 
     154                AloitaPeli(1); 
     155                break; 
     156            case 2: 
     157                AloitaPeli(2); 
     158                break; 
     159            default: 
     160                Valikko(); 
     161 
     162                break; 
     163        } 
     164 
    145165    } 
    146166 
     
    149169         
    150170            ClearAll(); 
     171 
     172         if(DataStorage.Exists("haulikkoOstettu.xml")) 
     173            haulikkoOstettu = DataStorage.Load<int>(haulikkoOstettu, "haulikkoOstettu.xml"); 
     174 
    151175 
    152176            KenttaNro = 0; 
     
    161185            Camera.StayInLevel = false; 
    162186 
    163             if (DataStorage.Exists("ase.xml")) 
    164                 Ase = DataStorage.Load<int>(Ase, "ase.xml"); 
     187            if (DataStorage.Exists("pistooliOstettu.xml")) 
     188                pistooliOstettu = DataStorage.Load<int>(pistooliOstettu, "pistooliOstettu.xml"); 
    165189 
    166190            Label kohta1 = new Label(); 
    167191 
    168             if (Ase == 0) 
     192            if (pistooliOstettu == 0) 
    169193            { kohta1.Text = ("Osta 10000"); } 
    170194            else 
     
    174198            valikonKohdat.Add(kohta1); 
    175199 
     200 
     201            Label kohta3 = new Label(); 
     202 
     203            if (haulikkoOstettu == 0) 
     204            { kohta3.Text = ("Osta 15000"); } 
     205            else 
     206            { kohta3.Text = ("Myy 12000"); } 
     207 
     208            kohta3.Position = new Vector(150, 20); 
     209            valikonKohdat.Add(kohta3); 
     210 
    176211            Label kohta2 = new Label("Takaisin"); 
    177212            kohta2.Position = new Vector(-180, -150); 
     
    179214 
    180215            TouchPanel.ListenOn(kohta1, ButtonState.Pressed, ostaPistooli, null); 
     216            TouchPanel.ListenOn(kohta3, ButtonState.Pressed, ostaHaulikko, null); 
    181217            TouchPanel.ListenOn(kohta2, ButtonState.Pressed, ValikkoT, null); 
    182218            Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 
     
    194230            Add(pistooli, 1); 
    195231 
     232            Widget haulikko = new Widget(308, 258); 
     233            haulikko.Position = new Vector(280, 120); 
     234            haulikko.Image = LoadImage("Haulikkok"); 
     235            Add(haulikko, 1); 
     236 
    196237            PhoneBackButton.Listen(Valikko, null); 
    197238         
     
    216257        } 
    217258    } 
    218     void AloitaPeli() 
     259    void AloitaPeli(int KenttaNro) 
    219260    { 
    220261        ClearAll(); 
    221262 
    222         if (DataStorage.Exists("ase.xml")) 
    223             Ase = DataStorage.Load<int>(Ase, "ase.xml"); 
     263        if (DataStorage.Exists("haulikkoOstettu.xml")) 
     264            haulikkoOstettu = DataStorage.Load<int>(haulikkoOstettu, "haulikkoOstettu.xml"); 
     265 
     266 
     267        if (DataStorage.Exists("pistooliOstettu.xml")) 
     268            pistooliOstettu = DataStorage.Load<int>(pistooliOstettu, "pistooliOstettu.xml"); 
    224269 
    225270        Gravity = new Vector(0, -1000); 
    226271 
    227         if (KenttaNro == 1) 
    228             LuoKentta("kentta1"); 
    229  
    230         if (KenttaNro == 2) 
    231             LuoKentta("kentta2"); 
     272        switch (KenttaNro) 
     273        { 
     274            case 1: 
     275                LuoKentta("kentta1"); 
     276                break; 
     277            case 2: 
     278                LuoKentta("kentta2"); 
     279                break; 
     280            default: 
     281                KenttaNro = 1; 
     282                LuoKentta("kentta1"); 
     283                 
     284                break; 
     285        } 
    232286 
    233287        LisaaNappaimet(); 
     
    241295 
    242296    } 
     297    void ValitseTaso(Touch touch) 
     298     
     299    { 
     300        ClearAll(); 
     301        KenttaNro = 1; 
     302 
     303 
     304        Mouse.IsCursorVisible = true; 
     305        valikonKohdat = new List<Label>(); // Alustetaan lista, johon valikon kohdat tulevat 
     306 
     307        Label kohta1 = new Label("1");  // Luodaan uusi Label-olio, joka toimii uuden pelin aloituskohtana 
     308        kohta1.Position = new Vector(-80, 0);  // Asetetaan valikon ensimmäinen kohta hieman kentän keskikohdan yläpuolelle 
     309        valikonKohdat.Add(kohta1);  // Lisätään luotu valikon kohta listaan jossa kohtia säilytetään 
     310 
     311        Label kohta2 = new Label("2"); 
     312        kohta2.Position = new Vector(0, 0); 
     313        valikonKohdat.Add(kohta2); 
     314 
     315        Label kohta3 = new Label("Takaisn"); 
     316        kohta3.Position = new Vector(-180, -150); 
     317        valikonKohdat.Add(kohta3); 
     318 
     319      //  Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null); 
     320      //  Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Exit, null); 
     321      //  Mouse.ListenOn(kohta3, MouseButton.Left, ButtonState.Pressed, Kauppa, null); 
     322      //  Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 
     323 
     324        TouchPanel.ListenOn(kohta1, ButtonState.Pressed, AloitaPeliTouch, null, 1); 
     325        TouchPanel.ListenOn(kohta2, ButtonState.Pressed, AloitaPeliTouch, null, 2); 
     326        TouchPanel.ListenOn(kohta3, ButtonState.Pressed, ValikkoT, null); 
     327 
     328        // Lisätään kaikki luodut kohdat peliin foreach-silmukalla 
     329        foreach (Label valikonKohta in valikonKohdat) 
     330        { 
     331            Add(valikonKohta); 
     332        } 
     333    } 
    243334    void SeuraavaTaso() 
    244335    { 
    245         KenttaNro++; 
    246         AloitaPeli(); 
    247     } 
     336        AloitaPeli(++KenttaNro); 
     337    } 
     338    void LisaaPisteita() 
     339    { 
     340        pisteLaskuri.Value += 5000; 
     341    } 
     342 
    248343 
    249344 
     
    313408        pelaaja1.Position = paikka; 
    314409        pelaaja1.Mass = 4.0; 
    315         // pelaaja1.Image = pelaajanKuva; 
     410        pelaaja1.Image = LoadImage("hahmoP"); 
    316411        pelaaja1.Tag = "pelaaja"; 
    317412        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
     
    322417        pelaaja1.AnimJump = new Animation(hyppyAnimaatio); 
    323418        pelaaja1.AnimJump.FPS = 18; 
    324         if (Ase == 0) 
    325         { 
    326             pelaaja1.AnimIdle = new Animation(paikallaanAnimaatio); 
    327         } 
    328         else if (Ase == 1) 
    329         { 
    330             pelaaja1.AnimIdle = LoadImage("HahmoPi"); 
    331         } 
    332         else if (Ase == 2) 
    333         { 
    334             pelaaja1.AnimIdle = LoadImage("HahmoPi"); 
    335         } 
    336  
    337         Timer ajastin2 = new Timer(); 
    338         ajastin2.Interval = 2; 
    339         ajastin2.Timeout += delegate 
    340         { 
    341  
    342             pelaaja1.Elamat.Value++; 
    343  
    344         }; 
    345         ajastin2.Start(); 
     419 
    346420 
    347421        pelaajan1Ase = new AssaultRifle(0.1, 0.1); 
     
    354428        pelaajan1Ase.X = -6.0; 
    355429        pelaajan1Ase.Y = 3.3; 
    356         //        pelaaja1.Add(pelaajan1Ase); 
     430 
    357431        pelaaja1.Weapon = pelaajan1Ase; 
     432 
     433        Timer ajastin3 = new Timer(); 
     434        ajastin3.Interval = 0.2; 
     435        ajastin3.Timeout += delegate 
     436        { 
     437 
     438 
     439            if (Ase == 0) 
     440            { 
     441                pelaaja1.AnimIdle = new Animation(paikallaanAnimaatio); 
     442            } 
     443            else if (Ase == 1) 
     444            { 
     445                pelaaja1.AnimIdle = LoadImage("HahmoPi"); 
     446            } 
     447            else if (Ase == 2) 
     448            { 
     449                pelaaja1.Weapon.FireRate = 1; 
     450                pelaaja1.AnimIdle = LoadImage("HahmoH"); 
     451            } 
     452        }; 
     453        ajastin3.Start(); 
     454 
     455        Timer ajastin2 = new Timer(); 
     456        ajastin2.Interval = 2; 
     457        ajastin2.Timeout += delegate 
     458        { 
     459 
     460            pelaaja1.Elamat.Value++; 
     461 
     462        }; 
     463        ajastin2.Start(); 
     464 
     465         
    358466        Add(pelaaja1); 
    359467 
     
    373481                ((Vihu)kohde).ElamaLaskuri.Value -= 4; 
    374482            } 
    375           /* else if (Ase == 2) 
    376             { 
    377                 ((Vihu)kohde).ElamaLaskuri.Value -= 8; 
    378             }*/ 
     483          else if (Ase == 2) 
     484            { 
     485                ((Vihu)kohde).ElamaLaskuri.Value -= 10; 
     486            } 
    379487        } 
    380488        ammus.Destroy(); 
     
    384492    void LisaaNappaimet() 
    385493    { 
    386         Widget vasen = new Widget(80, 80); 
    387         vasen.X = Screen.Left + 80; 
     494        Widget vasen = new Widget(100, 100); 
     495        vasen.X = Screen.Left + 70; 
    388496        vasen.Y = Screen.Bottom + 80; 
    389497        vasen.Image = LoadImage("Vasen"); 
     
    392500        TouchPanel.ListenOn(vasen, ButtonState.Down, liikuV, null); 
    393501 
    394         Widget oikea = new Widget(80, 80); 
    395         oikea.X = Screen.Left + 180; 
     502        Widget oikea = new Widget(100, 100); 
     503        oikea.X = Screen.Left + 190; 
    396504        oikea.Y = Screen.Bottom + 80; 
    397505        oikea.Image = LoadImage("Oikea"); 
     
    400508        TouchPanel.ListenOn(oikea, ButtonState.Down, liikuO, null); 
    401509 
    402         Widget hyppy = new Widget(80, 80); 
     510        Widget hyppy = new Widget(100, 100); 
    403511        hyppy.X = Screen.Left + 130; 
    404         hyppy.Y = Screen.Bottom + 160; 
     512        hyppy.Y = Screen.Bottom + 170; 
    405513        hyppy.Image = LoadImage("Ylös"); 
    406514        Add(hyppy); 
     
    409517 
    410518 
    411         Widget isku = new Widget(80, 80); 
     519        Widget isku = new Widget(100, 100); 
    412520        isku.X = Screen.Right - 130; 
    413521        isku.Y = Screen.Bottom + 80; 
     
    425533        Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    426534 
    427          
    428  
    429535 
    430536        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     
    436542        PhoneBackButton.Listen(Pauselle, "pause"); 
    437543    } 
     544    void tarkistaAse() 
     545    { 
     546 
     547 
     548    } 
     549    void VaihdaAse() 
     550    { 
     551        if (pistooliOstettu == 1 && Ase == 0) 
     552        { 
     553            Ase++; 
     554        } 
     555        else if (haulikkoOstettu == 1 && Ase != 2) 
     556        { 
     557            Ase = 2; 
     558        } 
     559        else 
     560        { 
     561            Ase = 0; 
     562        } 
     563    } 
    438564    void liikuV(Touch Touch) 
    439565    { 
     
    447573    { 
    448574        Hyppaa(pelaaja1, hyppyNopeus); 
     575        Accelerometer.Listen(AccelerometerDirection.Shake, 1, LisaaPisteita, null); 
    449576    } 
    450577    void iskee(Touch touch) 
     
    467594 
    468595            } 
    469             else if(Ase ==1) 
    470             { 
    471                 ammus.Size *= 2; 
     596            else if (Ase == 1) 
     597            { 
    472598                ammus.Image = LoadImage("luoti"); 
    473599                ammus.MaximumLifetime = TimeSpan.FromSeconds(2); 
     600            } 
     601            else if (Ase == 2) 
     602            { 
     603                ammus.Size *= 2; 
     604                ammus.Image = LoadImage("Haulit"); 
     605                ammus.MaximumLifetime = TimeSpan.FromSeconds(0.1); 
    474606 
    475607            } 
     
    488620        { 
    489621            pelaaja1.PlayAnimation(hyokkaysAnimaatio2); 
     622        } 
     623        else if (Ase == 2) 
     624        { 
     625            pelaaja1.PlayAnimation(hyokkaysAnimaatio3); 
    490626        } 
    491627 
     
    713849 
    714850        LuoPistelaskuri(); 
    715         if (DataStorage.Exists("ase.xml")) 
    716             Ase = DataStorage.Load<int>(Ase, "ase.xml"); 
    717  
    718         if (pisteLaskuri > 10000 && Ase == 0) 
    719         { 
    720             Ase = 1; 
    721             DataStorage.Save<int>(Ase, "ase.xml"); 
     851        if (DataStorage.Exists("pistooliOstettu.xml")) 
     852            pistooliOstettu = DataStorage.Load<int>(pistooliOstettu, "pistooliOstettu.xml"); 
     853 
     854        if (pisteLaskuri > 10000 && pistooliOstettu == 0) 
     855        { 
     856            pistooliOstettu = 1; 
     857            DataStorage.Save<int>(pistooliOstettu, "pistooliOstettu.xml"); 
    722858            pisteLaskuri.Value -= 10000; 
    723859        } 
    724         else if(Ase == 1) 
    725         { 
    726             Ase = 0; 
    727             DataStorage.Save<int>(Ase, "ase.xml"); 
     860        else if (pistooliOstettu == 1) 
     861        { 
     862            pistooliOstettu = 0; 
     863            DataStorage.Save<int>(pistooliOstettu, "pistooliOstettu.xml"); 
    728864            pisteLaskuri.Value += 7000; 
    729865        } 
     
    735871 
    736872        LuoPistelaskuri(); 
    737         if (DataStorage.Exists("ase2.xml")) 
    738             Ase2 = DataStorage.Load<int>(Ase2, "ase2.xml"); 
    739  
    740         if (pisteLaskuri > 10000 && Ase == 0) 
    741         { 
    742             Ase2 = 1; 
    743             DataStorage.Save<int>(Ase2, "ase2.xml"); 
    744             pisteLaskuri.Value -= 10000; 
    745         } 
    746         else if (Ase2 == 1) 
    747         { 
    748             Ase2 = 0; 
    749             DataStorage.Save<int>(Ase2, "ase.xml"); 
    750             pisteLaskuri.Value += 7000; 
     873        if (DataStorage.Exists("haulikkoOstettu.xml")) 
     874            haulikkoOstettu = DataStorage.Load<int>(haulikkoOstettu, "haulikkoOstettu.xml"); 
     875        pisteLaskuri.Value += 30000; 
     876 
     877        if (pisteLaskuri > 15000 && haulikkoOstettu == 0) 
     878        { 
     879            haulikkoOstettu = 1; 
     880            DataStorage.Save<int>(haulikkoOstettu, "haulikkoOstettu.xml"); 
     881            pisteLaskuri.Value -= 15000; 
     882        } 
     883        else if (haulikkoOstettu == 1) 
     884        { 
     885            haulikkoOstettu = 0; 
     886            DataStorage.Save<int>(haulikkoOstettu, "haulikkoOstettu.xml"); 
     887            pisteLaskuri.Value += 12000; 
    751888        } 
    752889        DataStorage.Save<IntMeter>(pisteLaskuri, "pisteet.xml"); 
     
    757894        IsPaused = true; 
    758895        MultiSelectWindow valikko = new MultiSelectWindow("Pause", 
    759     "Jatka", "Valikkoon"); 
     896    "Jatka", "Vaihda ase",  "Valikkoon"); 
    760897        valikko.ItemSelected += PainettiinValikonNappia; 
    761898        Add(valikko); 
     
    770907            case 1: 
    771908                IsPaused = false; 
     909                VaihdaAse(); 
     910                break; 
     911            case 2: 
     912                IsPaused = false; 
    772913                Valikko(); 
    773914                break; 
  • 2013/23/TopiasT/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1Content/Tasohyppelypeli1Content.contentproj

    r3998 r4031  
    318318    </Compile> 
    319319  </ItemGroup> 
     320  <ItemGroup> 
     321    <Compile Include="HaulikkoK.png"> 
     322      <Name>HaulikkoK</Name> 
     323      <Importer>TextureImporter</Importer> 
     324      <Processor>TextureProcessor</Processor> 
     325    </Compile> 
     326  </ItemGroup> 
     327  <ItemGroup> 
     328    <Compile Include="hahmoH.png"> 
     329      <Name>hahmoH</Name> 
     330      <Importer>TextureImporter</Importer> 
     331      <Processor>TextureProcessor</Processor> 
     332    </Compile> 
     333  </ItemGroup> 
     334  <ItemGroup> 
     335    <Compile Include="hahmoHA.png"> 
     336      <Name>hahmoHA</Name> 
     337      <Importer>TextureImporter</Importer> 
     338      <Processor>TextureProcessor</Processor> 
     339    </Compile> 
     340  </ItemGroup> 
    320341  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    321342  <!--  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.