Changeset 5594


Ignore:
Timestamp:
2014-07-23 15:01:17 (5 years ago)
Author:
toolala
Message:

Kaikkee kivaa

Location:
2014/30/ToukoA
Files:
5 added
13 edited

Legend:

Unmodified
Added
Removed
  • 2014/30/ToukoA/AssassinsOfNight/AssassinsOfNight/AssassinsOfNight/AssassinsOfNight.cs

    r5543 r5594  
    1212    const double hyppyNopeus = 750; 
    1313    const int RUUDUN_KOKO = 40; 
    14  
    1514    PlatformCharacter pelaaja1; 
    16  
    17     PhysicsObject kohde; 
    18     PhysicsObject tappoTrigger; 
    19  
     15    PhysicsObject pahis; 
     16    PhysicsObject toinenFakeTaso; 
     17    bool kenttaLapi = false; 
     18    bool tapettuJo = false; 
     19    List<Label> valikonKohdat; 
    2020    Image kohteenKuva = LoadImage("kohde"); 
    2121    Image pelaajanKuva = LoadImage("puukkomies"); 
    2222    Image tahtiKuva = LoadImage("tahti"); 
    23  
     23    Image pelaajaPuukottaaKuva = LoadImage("puukkomiespuukottaa"); 
    2424    SoundEffect maaliAani = LoadSoundEffect("maali"); 
    2525 
     26    IntMeter pisteLaskuri; 
     27 
    2628    public override void Begin() 
    2729    { 
     30        Valikko(); 
     31    } 
     32    void LuoKentta2() 
     33    { 
     34        ClearAll(); 
     35        TileMap kentta = TileMap.FromLevelAsset("kentta2"); 
     36        kentta.SetTileMethod('#', LisaaTaso); 
     37        kentta.SetTileMethod('*', LisaaTahti); 
     38        kentta.SetTileMethod('K', LisaaKohde); 
     39        kentta.SetTileMethod('N', LisaaPelaaja); 
     40        kentta.SetTileMethod('%', LisaaFakeTaso); 
     41        kentta.SetTileMethod('&', LisaaTappoTrigger); 
     42        kentta.SetTileMethod('/', LisaaToinenFakeTaso); 
     43        kentta.SetTileMethod('!', LisaaVoitto1); 
     44        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
     45        Level.CreateBorders(); 
     46        Level.Background.CreateGradient(Color.White, Color.Blue); 
     47 
     48        LuoPisteLaskuri(); 
     49 
    2850        Gravity = new Vector(0, -1000); 
    29  
    30         LuoKentta(); 
    31         LisaaNappaimet(); 
    32  
    3351        Camera.Follow(pelaaja1); 
    3452        Camera.ZoomFactor = 1.2; 
    3553        Camera.StayInLevel = true; 
    36     } 
    37  
     54        Mouse.IsCursorVisible = false; 
     55    } 
    3856    void LuoKentta() 
    3957    { 
     58        ClearAll(); 
    4059        TileMap kentta = TileMap.FromLevelAsset("kentta1"); 
    4160        kentta.SetTileMethod('#', LisaaTaso); 
     
    4564        kentta.SetTileMethod('%', LisaaFakeTaso); 
    4665        kentta.SetTileMethod('&', LisaaTappoTrigger); 
     66        kentta.SetTileMethod('/', LisaaToinenFakeTaso); 
     67        kentta.SetTileMethod('!', LisaaVoitto1); 
    4768        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    4869        Level.CreateBorders(); 
    4970        Level.Background.CreateGradient(Color.White, Color.Blue); 
    50     } 
    51  
     71 
     72        LuoPisteLaskuri(); 
     73 
     74        Gravity = new Vector(0, -1000); 
     75        Camera.Follow(pelaaja1); 
     76        Camera.ZoomFactor = 1.2; 
     77        Camera.StayInLevel = true; 
     78        Mouse.IsCursorVisible = false; 
     79    } 
     80    void LuoPisteLaskuri() 
     81    { 
     82        pisteLaskuri = new IntMeter(0); 
     83        Label pisteNaytto = new Label(); 
     84        pisteNaytto.X = Screen.Left + 100; 
     85        pisteNaytto.Y = Screen.Top - 100; 
     86        pisteNaytto.TextColor = Color.Blue; 
     87        pisteNaytto.Color = Color.White; 
     88        pisteNaytto.BindTo(pisteLaskuri); 
     89        Add(pisteNaytto); 
     90    } 
     91    void LisaaVoitto1(Vector paikka, double leveys, double korkeus) 
     92    { 
     93        PhysicsObject voittoTrigger1 = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     94        voittoTrigger1.IgnoresCollisionResponse = true; 
     95        voittoTrigger1.Tag = "voittoTrigger1"; 
     96        voittoTrigger1.Position = paikka; 
     97        voittoTrigger1.Color = Color.Gold; 
     98        Add(voittoTrigger1); 
     99    } 
    52100    void LisaaTaso(Vector paikka, double leveys, double korkeus) 
    53101    { 
     
    59107    void LisaaTappoTrigger(Vector paikka, double leveys, double korkeus) 
    60108    { 
    61         tappoTrigger = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     109        PhysicsObject tappoTrigger = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    62110        tappoTrigger.IgnoresCollisionResponse = true; 
     111        tappoTrigger.Tag = "tappoTrigger"; 
    63112        tappoTrigger.Position = paikka; 
    64         tappoTrigger.Color = Color.Transparent; 
     113        tappoTrigger.Color = Color.Green; 
    65114        Add(tappoTrigger); 
    66115    } 
    67  
    68116    void LisaaFakeTaso(Vector paikka, double leveys, double korkeus) 
    69117    { 
    70         PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    71         taso.IgnoresCollisionResponse = true; 
    72         taso.Position = paikka; 
    73         taso.Color = Color.Green; 
    74         Add(taso); ; 
     118        PhysicsObject fakeTaso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     119        fakeTaso.IgnoresCollisionResponse = true; 
     120        fakeTaso.Position = paikka; 
     121        fakeTaso.Color = Color.Green; 
     122        Add(fakeTaso); ; 
     123    } 
     124    void LisaaToinenFakeTaso(Vector paikka, double leveys, double korkeus) 
     125    { 
     126        toinenFakeTaso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     127        toinenFakeTaso.IgnoresCollisionResponse = true; 
     128        toinenFakeTaso.Position = paikka; 
     129        toinenFakeTaso.Color = Color.Gold; 
     130        Add(toinenFakeTaso); ; 
    75131    } 
    76132    void LisaaTahti(Vector paikka, double leveys, double korkeus) 
     
    83139        Add(tahti); 
    84140    } 
    85  
    86141    void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    87142    { 
    88143        pelaaja1 = new PlatformCharacter(leveys, korkeus); 
     144        Keyboard.Listen(Key.Space, ButtonState.Pressed, Puukota, "Pelaaja1 puukottaa", pelaaja1); 
    89145        pelaaja1.Position = paikka; 
    90146        pelaaja1.Mass = 4.0; 
    91147        pelaaja1.Image = pelaajanKuva; 
    92148        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
     149        AddCollisionHandler(pelaaja1, "tappoTrigger", TappoTrigger); 
     150        AddCollisionHandler(pelaaja1, "voittoTrigger1", voittoTrigger1); 
    93151        Add(pelaaja1); 
    94152    } 
     153    void voittoTrigger1(PhysicsObject pelaaja1, PhysicsObject voittoTrigger1) 
     154    { 
     155       if (kenttaLapi == true) 
     156        { 
     157            MessageDisplay.Add("Testi"); 
     158            maaliAani.Play(); 
     159            LuoKentta2(); 
     160        } 
     161    } 
     162    void Puukota(PlatformCharacter pelaaja1) 
     163    { 
     164        pelaaja1.Image = pelaajaPuukottaaKuva; 
     165        if(Vector.Distance(pelaaja1.Position, pahis.Position) < 50) 
     166        { 
     167            TappoPuukolla(pelaaja1, pahis); 
     168        } 
     169        Timer ajastin = new Timer(); 
     170        ajastin.Interval = 1.0; 
     171        ajastin.Timeout += ressaaPelaaja; 
     172        ajastin.Start(); 
     173    } 
     174    void ressaaPelaaja() 
     175    { 
     176        pelaaja1.Image = pelaajanKuva; 
     177    } 
     178    void TappoPuukolla(PhysicsObject pelaaja1, PhysicsObject pahis) 
     179    { 
     180        if (tapettuJo == true) return; 
     181            MessageDisplay.Add("Onnistuit murhaamaan kohteen!"); 
     182            pisteLaskuri.Value += 1; 
     183            tapettuJo = true; 
     184            pahis.Destroy(); 
     185    } 
    95186    void LisaaKohde(Vector paikka, double leveys, double korkeus) 
    96187    { 
    97         PhysicsObject kohde = new PhysicsObject(leveys, korkeus); 
    98         kohde.Position = paikka; 
    99         kohde.Mass = 4.0; 
    100         kohde.Image = kohteenKuva; 
    101         AddCollisionHandler(kohde, "tahti", TormaaTahteen); 
    102         Add(kohde); 
     188        pahis = new PhysicsObject(leveys, korkeus); 
     189        pahis.Position = paikka; 
     190        pahis.Mass = 4.0; 
     191        pahis.Tag = "pahis"; 
     192        pahis.Image = kohteenKuva; 
     193        Add(pahis); 
    103194    } 
    104195    void LisaaNappaimet() 
     
    115206        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus); 
    116207        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 
    117         ControllerOne.Listen(Button.BigButton, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    118208 
    119209        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    120210    } 
    121  
    122211    void Liikuta(PlatformCharacter hahmo, double nopeus) 
    123212    { 
    124213        hahmo.Walk(nopeus); 
    125214    } 
    126  
    127215    void Hyppaa(PlatformCharacter hahmo, double nopeus) 
    128216    { 
    129217        hahmo.Jump(nopeus); 
    130218    } 
    131  
    132219    void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti) 
    133220    { 
     
    136223        tahti.Destroy(); 
    137224    } 
    138     void TappoTrigger(PhysicsObject hahmo, PhysicsObject tappoTrigger) 
    139     { 
     225    void TappoTrigger(PhysicsObject pelaaja1, PhysicsObject tappoTrigger) 
     226    { 
     227        if (kenttaLapi == true) return; 
    140228        maaliAani.Play(); 
    141229        MessageDisplay.Add("Tapoit hyvin salavihkaisesti kohteen!"); 
    142         kohde.Destroy(); 
    143     } 
    144  
     230        kenttaLapi = true; 
     231        pahis.Destroy(); 
     232    } 
     233    void Valikko() 
     234    { 
     235        ClearAll(); // Tyhjennetään kenttä kaikista peliolioista 
     236 
     237        valikonKohdat = new List<Label>(); // Alustetaan lista, johon valikon kohdat tulevat 
     238 
     239        Label kohta1 = new Label("Aloita peli");  // Luodaan uusi Label-olio, joka toimii uuden pelin aloituskohtana 
     240        kohta1.Position = new Vector(0, 40);  // Asetetaan valikon ensimmäinen kohta hieman kentän keskikohdan yläpuolelle 
     241        valikonKohdat.Add(kohta1);  // Lisätään luotu valikon kohta listaan jossa kohtia säilytetään 
     242        Label kohta2 = new Label("Parhaat Pisteet"); 
     243        kohta2.Position = new Vector(0, 0); 
     244        valikonKohdat.Add(kohta2); 
     245        Label kohta3 = new Label("Lopeta peli"); 
     246        kohta3.Position = new Vector(0, -40); 
     247        valikonKohdat.Add(kohta3); 
     248 
     249        // Lisätään kaikki luodut kohdat peliin foreach-silmukalla 
     250        foreach (Label valikonKohta in valikonKohdat) 
     251        { 
     252            Mouse.IsCursorVisible = true; 
     253            Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null); 
     254            Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, ParhaatPisteet, null); 
     255            Mouse.ListenOn(kohta3, MouseButton.Left, ButtonState.Pressed, LopetaPeli, null); 
     256            Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 
     257 
     258 
     259            Add(valikonKohta); 
     260        } 
     261    } 
     262    void ValikossaLiikkuminen(AnalogState hiirenTila) 
     263    { 
     264        foreach (Label kohta in valikonKohdat) 
     265        { 
     266            if (Mouse.IsCursorOn(kohta)) 
     267            { 
     268                kohta.TextColor = Color.Red; 
     269            } 
     270            else 
     271            { 
     272                kohta.TextColor = Color.Black; 
     273            } 
     274 
     275        } 
     276    } 
     277    void AloitaPeli() 
     278    { 
     279        LuoKentta(); 
     280        LisaaNappaimet(); 
     281    } 
     282    void ParhaatPisteet() 
     283    { 
     284        //... 
     285    } 
     286    void LopetaPeli() 
     287    { 
     288       Exit(); 
     289    } 
    145290} 
  • 2014/30/ToukoA/AssassinsOfNight/AssassinsOfNight/AssassinsOfNight/AssassinsOfNight.csproj.Debug.cachefile

    r5543 r5594  
    55Content\kentta1.xnb 
    66Content\kohde.xnb 
     7Content\puukkomiespuukottaa.xnb 
     8Content\kentta2.xnb 
  • 2014/30/ToukoA/AssassinsOfNight/AssassinsOfNight/AssassinsOfNight/obj/x86/Debug/AssassinsOfNight.csproj.FileListAbsolute.txt

    r5543 r5594  
    1313C:\MyTemp\ToukoA\AssassinsOfNight\AssassinsOfNight\AssassinsOfNight\obj\x86\Debug\AssassinsOfNight.pdb 
    1414C:\MyTemp\ToukoA\AssassinsOfNight\AssassinsOfNight\AssassinsOfNight\bin\x86\Debug\Content\kohde.xnb 
     15C:\MyTemp\ToukoA\AssassinsOfNight\AssassinsOfNight\AssassinsOfNight\bin\x86\Debug\Content\puukkomiespuukottaa.xnb 
     16C:\MyTemp\ToukoA\AssassinsOfNight\AssassinsOfNight\AssassinsOfNight\bin\x86\Debug\Content\kentta2.xnb 
  • 2014/30/ToukoA/AssassinsOfNight/AssassinsOfNight/AssassinsOfNight/obj/x86/Debug/ContentPipeline-{801CB1F2-3638-4DF6-930A-53EB90C10C39}.xml

    r5543 r5594  
    4545      <Options>None</Options> 
    4646      <Output>C:\MyTemp\ToukoA\AssassinsOfNight\AssassinsOfNight\AssassinsOfNight\bin\x86\Debug\Content\kentta1.xnb</Output> 
    47       <Time>2014-07-22T14:41:52.9241638+03:00</Time> 
     47      <Time>2014-07-23T14:38:07.4751381+03:00</Time> 
    4848    </Item> 
    4949    <Item> 
     
    5555      <Output>C:\MyTemp\ToukoA\AssassinsOfNight\AssassinsOfNight\AssassinsOfNight\bin\x86\Debug\Content\kohde.xnb</Output> 
    5656      <Time>2014-07-22T14:44:59.1177813+03:00</Time> 
     57    </Item> 
     58    <Item> 
     59      <Source>puukkomiespuukottaa.png</Source> 
     60      <Name>puukkomiespuukottaa</Name> 
     61      <Importer>TextureImporter</Importer> 
     62      <Processor>TextureProcessor</Processor> 
     63      <Options>None</Options> 
     64      <Output>C:\MyTemp\ToukoA\AssassinsOfNight\AssassinsOfNight\AssassinsOfNight\bin\x86\Debug\Content\puukkomiespuukottaa.xnb</Output> 
     65      <Time>2014-07-23T13:21:06.8631231+03:00</Time> 
     66    </Item> 
     67    <Item> 
     68      <Source>kentta2.txt</Source> 
     69      <Name>kentta2</Name> 
     70      <Importer>TextFileImporter</Importer> 
     71      <Processor>TextFileContentProcessor</Processor> 
     72      <Options>None</Options> 
     73      <Output>C:\MyTemp\ToukoA\AssassinsOfNight\AssassinsOfNight\AssassinsOfNight\bin\x86\Debug\Content\kentta2.xnb</Output> 
     74      <Time>2014-07-23T14:29:04.9308891+03:00</Time> 
    5775    </Item> 
    5876    <BuildSuccessful>true</BuildSuccessful> 
  • 2014/30/ToukoA/AssassinsOfNight/AssassinsOfNight/AssassinsOfNight/obj/x86/Debug/cachefile-{801CB1F2-3638-4DF6-930A-53EB90C10C39}-targetpath.txt

    r5543 r5594  
    55Content\kentta1.xnb 
    66Content\kohde.xnb 
     7Content\puukkomiespuukottaa.xnb 
     8Content\kentta2.xnb 
  • 2014/30/ToukoA/AssassinsOfNight/AssassinsOfNight/AssassinsOfNightContent/AssassinsOfNightContent.contentproj

    r5543 r5594  
    8181    </Compile> 
    8282  </ItemGroup> 
     83  <ItemGroup> 
     84    <Compile Include="puukkomiespuukottaa.png"> 
     85      <Name>puukkomiespuukottaa</Name> 
     86      <Importer>TextureImporter</Importer> 
     87      <Processor>TextureProcessor</Processor> 
     88    </Compile> 
     89  </ItemGroup> 
     90  <ItemGroup> 
     91    <Compile Include="kentta2.txt"> 
     92      <Name>kentta2</Name> 
     93      <Importer>TextFileImporter</Importer> 
     94      <Processor>TextFileContentProcessor</Processor> 
     95    </Compile> 
     96  </ItemGroup> 
    8397  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    8498  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2014/30/ToukoA/AssassinsOfNight/AssassinsOfNight/AssassinsOfNightContent/kentta1.txt

    r5543 r5594  
    11 
    2 ####################### 
    3 #%%%%%%%%%%%%%%%%%##### 
    4 #%%#############%%##### 
    5 #.........#.....&&...## 
    6 # N ............K....##    
    7 ####################### 
     2############################# 
     3#%%%%%%%%%%%%%%%&&########### 
     4#%%#############%%########### 
     5#.........#.........#.......# 
     6#.N.............K...!.......# 
     7############################# 
Note: See TracChangeset for help on using the changeset viewer.