Changeset 4956 for 2014/24


Ignore:
Timestamp:
2014-06-11 14:55:56 (5 years ago)
Author:
aaruuttu
Message:
 
Location:
2014/24/AakeR/UkkeliTappelu
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • 2014/24/AakeR/UkkeliTappelu/UkkeliTappelu/UkkeliTappelu/King_Of_The_Hill.csproj.Debug.cachefile

    r4946 r4956  
    1515Content\Punch.xnb 
    1616Content\Guren_No_Yumiya.xnb 
     17Content\Luuranko.xnb 
     18Content\InsideVolcano.xnb 
     19Content\Winner.xnb 
    1720Content\Guren_No_Yumiya.wma 
  • 2014/24/AakeR/UkkeliTappelu/UkkeliTappelu/UkkeliTappelu/UkkeliTappelu.cs

    r4946 r4956  
    1212    public bool saaHypätä = true; 
    1313    public int suunta = 0; 
     14     
     15    private IntMeter staminaLaskuri = new IntMeter(6, 0, 6); 
     16    public IntMeter StaminaLaskuri { get { return staminaLaskuri; } } 
     17 
     18    public bool onJaahylla = false; 
     19    public bool katsooOikealle = true; 
    1420 
    1521    public Ukkeli(double leveys, double korkeus) 
     
    1723    { 
    1824        CanRotate = false; 
     25        staminaLaskuri.LowerLimit += delegate {  
     26            onJaahylla = true; 
     27            Timer.SingleShot(5.0, delegate { onJaahylla = false; } ); 
     28        }; 
    1929    } 
    2030 
     
    5565    Image nyrkkiKuvaoikea = LoadImage("Nyrkki"); 
    5666    Image nyrkkiKuvavasen = LoadImage("Nyrkki2"); 
     67    Image luurankoKuva = LoadImage("Luuranko"); 
     68    Image tulivuoriKuva = LoadImage("InsideVolcano"); 
    5769 
    5870    SoundEffect hyppyAani = LoadSoundEffect("Jump"); 
     
    6072    SoundEffect lyontiAani = LoadSoundEffect("Punch"); 
    6173 
     74    List<Ukkeli> ukkeliList = new List<Ukkeli>(); 
     75 
     76    int ukkojenMaara; 
     77 
    6278    public override void Begin() 
    6379    { 
     80        LuoAlkuvalikko(); 
     81    } 
     82 
     83    void LuoAlkuvalikko() 
     84    { 
     85        ClearAll(); 
     86 
     87        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko","Aloita peli", "Lopeta"); 
     88        Add(alkuValikko); 
     89 
     90        alkuValikko.AddItemHandler(0, ValitsePelaajat); 
     91        alkuValikko.AddItemHandler(1, Exit); 
     92    } 
     93 
     94    void ValitsePelaajat() 
     95    { 
     96        MultiSelectWindow alkuValikko = new MultiSelectWindow("Montako pelaajaa","2 Pelaajaa", "3 Pelaajaa", "4 Pelaajaa"); 
     97        Add(alkuValikko); 
     98 
     99        alkuValikko.AddItemHandler(0, delegate { AloitaPeli(2); }); 
     100        alkuValikko.AddItemHandler(1, delegate { AloitaPeli(3); }); 
     101        alkuValikko.AddItemHandler(2, delegate { AloitaPeli(4); }); 
     102    } 
     103 
     104    void AloitaPeli(int PelaajaMaara) 
     105    { 
    64106        Gravity = new Vector(0, -1000); 
    65107 
    66         LuoKentta(); 
    67         LisaaNappaimet(); 
     108        LuoKentta(PelaajaMaara); 
     109        LisaaNappaimet(PelaajaMaara); 
     110        MediaPlayer.Play("Guren_No_Yumiya"); 
     111        MediaPlayer.Volume = 0.4; 
    68112 
    69113        //Camera.Follow(pelaaja1, pelaaja2, pelaaja3, pelaaja4); 
     
    71115        Camera.ZoomToLevel(); 
    72116        //Camera.StayInLevel = true; 
    73         //Camera.Velocity = new Vector(0, 5); 
    74     } 
    75  
    76     void LuoKentta() 
    77     { 
     117        //Camera.Velocity = new Vector(0, 0); 
     118 
     119        Timer ajastinStamina = new Timer(); 
     120        ajastinStamina.Interval = 1.5; 
     121        ajastinStamina.Timeout += delegate 
     122        { 
     123            foreach (Ukkeli ukkeli in ukkeliList) 
     124            { 
     125                if (ukkeli.StaminaLaskuri.Value >= 6) continue; 
     126                if (!ukkeli.onJaahylla) ukkeli.StaminaLaskuri.Value++; 
     127            } 
     128        }; 
     129        ajastinStamina.Start(); 
     130 
     131        ukkojenMaara = ukkeliList.Count; 
     132    } 
     133 
     134    void Voitto() 
     135    { 
     136        GameObject voitto = new GameObject(200, 100); 
     137        voitto.Image = LoadImage("Winner"); 
     138        Add(voitto); 
     139 
     140        Timer.SingleShot(5.0, delegate { LuoAlkuvalikko(); }); 
     141    } 
     142 
     143    void LuoKentta(int PelaajaMaara) 
     144    { 
     145        ukkeliList.Clear(); 
    78146        TileMap kentta = TileMap.FromLevelAsset("kentta1"); 
    79147        kentta.SetTileMethod('#', LisaaTaso); 
     148        kentta.SetTileMethod('1', LisaaPelaaja1); 
    80149        kentta.SetTileMethod('2', LisaaPelaaja2); 
    81         kentta.SetTileMethod('1', LisaaPelaaja1); 
    82         kentta.SetTileMethod('3', LisaaPelaaja3); 
    83         kentta.SetTileMethod('4', LisaaPelaaja4); 
     150        if(PelaajaMaara>=3) kentta.SetTileMethod('3', LisaaPelaaja3); 
     151        if (PelaajaMaara >= 4) kentta.SetTileMethod('4', LisaaPelaaja4); 
    84152        kentta.Optimize('#'); 
    85153        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    86         Level.CreateBorders(); 
     154        Level.CreateBorders(1.0, false); 
     155        Level.Background.Color = Color.Black; 
    87156        Level.Background.CreateGradient(Color.Orange, Color.DarkRed ); 
     157        Level.Background.Image = tulivuoriKuva; 
     158        Level.Background.FitToLevel(); 
    88159        PhysicsObject Laava = PhysicsObject.CreateStaticObject(Level.Width, 800); 
    89160        Add(Laava); 
     
    122193        AddCollisionHandler(pelaaja, "laava", TormaaLaavaan); 
    123194        AddCollisionHandler(pelaaja, "Seina", TormaaSeinaan); 
    124         Add(pelaaja);  
     195        Add(pelaaja); 
    125196        return pelaaja; 
    126197    } 
     
    130201        pelaaja1 = LuoPelaaja(leveys, korkeus, pelaajan1Kuva); 
    131202        pelaaja1.Position = paikka; 
     203 
     204        ukkeliList.Add(pelaaja1); 
     205 
     206        Label staminaKuvaaja1 = new Label(pelaaja1.StaminaLaskuri); 
     207        staminaKuvaaja1.Position = new Vector(Level.Left + 50, Screen.Top -20); 
     208        Add(staminaKuvaaja1); 
    132209    } 
    133210 
     
    136213        pelaaja2 = LuoPelaaja(leveys, korkeus, pelaajan2Kuva); 
    137214        pelaaja2.Position = paikka; 
     215 
     216        ukkeliList.Add(pelaaja2); 
     217 
     218        Label staminaKuvaaja2 = new Label(pelaaja2.StaminaLaskuri); 
     219        staminaKuvaaja2.Position = new Vector(Level.Left + 300, Screen.Top - 20); 
     220        Add(staminaKuvaaja2); 
    138221    } 
    139222 
     
    142225        pelaaja3 = LuoPelaaja(leveys, korkeus, pelaajan3Kuva); 
    143226        pelaaja3.Position = paikka; 
     227 
     228        ukkeliList.Add(pelaaja3); 
     229 
     230        Label staminaKuvaaja3 = new Label(pelaaja3.StaminaLaskuri); 
     231        staminaKuvaaja3.Position = new Vector(Level.Left + 550, Screen.Top - 20); 
     232        Add(staminaKuvaaja3); 
    144233    } 
    145234 
     
    148237        pelaaja4 = LuoPelaaja(leveys, korkeus, pelaajan4Kuva); 
    149238        pelaaja4.Position = paikka; 
    150     } 
    151  
    152  
    153  
    154     void LisaaNappaimet() 
     239 
     240        ukkeliList.Add(pelaaja4); 
     241 
     242        Label staminaKuvaaja4 = new Label(pelaaja4.StaminaLaskuri); 
     243        staminaKuvaaja4.Position = new Vector(Level.Left + 800, Screen.Top - 20); 
     244        Add(staminaKuvaaja4); 
     245    } 
     246 
     247 
     248 
     249    void LisaaNappaimet(int PelaajaMaara) 
    155250    { 
    156251        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     
    167262        Keyboard.Listen(Key.S, ButtonState.Pressed, Lyo, "Pelaaja lyö", pelaaja2, new Ukkeli[] {pelaaja1, pelaaja3, pelaaja4}); 
    168263 
    169         Keyboard.Listen(Key.J, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja3, -1); 
    170         Keyboard.Listen(Key.L, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja3, 1); 
    171         Keyboard.Listen(Key.I, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja3, hyppyNopeus); 
    172         Keyboard.Listen(Key.K, ButtonState.Pressed, Lyo, "Pelaaja lyö", pelaaja3, new Ukkeli[] { pelaaja1, pelaaja2, pelaaja4 }); 
    173  
    174         Keyboard.Listen(Key.NumPad4, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja4, -1); 
    175         Keyboard.Listen(Key.NumPad6, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja4, 1); 
    176         Keyboard.Listen(Key.NumPad8, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja4, hyppyNopeus); 
    177         Keyboard.Listen(Key.NumPad5, ButtonState.Pressed, Lyo, "Pelaaja lyö", pelaaja4, new Ukkeli[] { pelaaja1, pelaaja2, pelaaja3 }); 
     264        if (PelaajaMaara >= 3) 
     265        { 
     266            Keyboard.Listen(Key.J, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja3, -1); 
     267            Keyboard.Listen(Key.L, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja3, 1); 
     268            Keyboard.Listen(Key.I, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja3, hyppyNopeus); 
     269            Keyboard.Listen(Key.K, ButtonState.Pressed, Lyo, "Pelaaja lyö", pelaaja3, new Ukkeli[] { pelaaja1, pelaaja2, pelaaja4 }); 
     270        } 
     271 
     272        if (PelaajaMaara >= 4) 
     273        { 
     274            Keyboard.Listen(Key.NumPad4, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja4, -1); 
     275            Keyboard.Listen(Key.NumPad6, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja4, 1); 
     276            Keyboard.Listen(Key.NumPad8, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja4, hyppyNopeus); 
     277            Keyboard.Listen(Key.NumPad5, ButtonState.Pressed, Lyo, "Pelaaja lyö", pelaaja4, new Ukkeli[] { pelaaja1, pelaaja2, pelaaja3 }); 
     278        } 
    178279 
    179280        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     
    188289    void Lyo(Ukkeli hahmo, Ukkeli[] muut) 
    189290    { 
    190         if (hahmo.IsDestroyed) return; 
     291        if (hahmo.IsDestroyed || hahmo.onJaahylla) return; 
     292        hahmo.StaminaLaskuri.Value--; 
    191293 
    192294        PhysicsObject Nyrkki = PhysicsObject.CreateStaticObject(20, 30); 
     
    202304            { 
    203305                pelaaja.Hit((pelaaja.Position - nyrkki.Position).Normalize() * 1500); 
     306                lyontiAani.Play(); 
    204307                //pelaaja.Velocity = (pelaaja.Position - nyrkki.Position).Normalize() * 1500; 
    205308            } 
     
    209312    void Liikuta(Ukkeli hahmo, int suunta) 
    210313    { 
     314        if (suunta < 0 && hahmo.katsooOikealle) 
     315        { 
     316            hahmo.MirrorImage(); 
     317            hahmo.katsooOikealle = false; 
     318        } 
     319        else if (suunta >= 0 && !hahmo.katsooOikealle) 
     320        { 
     321            hahmo.MirrorImage(); 
     322            hahmo.katsooOikealle = true; 
     323        } 
    211324        hahmo.Liiku(suunta); 
    212325    } 
     
    215328    { 
    216329        hahmo.Hyppää(); 
     330        hyppyAani.Play(); 
    217331    } 
    218332 
     
    226340    { 
    227341        hahmo.Destroy(); 
     342        ukkojenMaara--; 
     343        PhysicsObject Luuranko = new PhysicsObject(RUUDUN_KOKO, RUUDUN_KOKO); 
     344        Luuranko.IgnoresCollisionResponse = true; 
     345        Luuranko.Image = luurankoKuva; 
     346        Luuranko.Position = hahmo.Position; 
     347        Add(Luuranko); 
     348        Luuranko.Hit(new Vector(RandomGen.NextDouble(-100, 100),400)); 
     349        if (ukkojenMaara == 1) Voitto();   
    228350    } 
    229351 
     
    231353    { 
    232354        (hahmo as Ukkeli).saaHypätä = true; 
     355        laskeutumisAani.Play(); 
    233356    } 
    234357} 
     358 
     359 
     360 
     361 
  • 2014/24/AakeR/UkkeliTappelu/UkkeliTappelu/UkkeliTappelu/obj/x86/Debug/ContentPipeline-{F0CD7E3F-4B43-40E5-992E-7DFE6F07241C}.xml

    r4946 r4956  
    3636      <Options>None</Options> 
    3737      <Output>C:\MyTemp\AakeR\UkkeliTappelu\UkkeliTappelu\UkkeliTappelu\bin\x86\Debug\Content\kentta1.xnb</Output> 
    38       <Time>2014-06-11T10:30:09.0386766+03:00</Time> 
     38      <Time>2014-06-11T14:53:41.6428682+03:00</Time> 
    3939    </Item> 
    4040    <Item> 
     
    146146      <Extra>C:\MyTemp\AakeR\UkkeliTappelu\UkkeliTappelu\UkkeliTappelu\bin\x86\Debug\Content\Guren_No_Yumiya.wma</Extra> 
    147147      <Time>2014-06-11T10:07:50.0407902+03:00</Time> 
     148    </Item> 
     149    <Item> 
     150      <Source>Luuranko.png</Source> 
     151      <Name>Luuranko</Name> 
     152      <Importer>TextureImporter</Importer> 
     153      <Processor>TextureProcessor</Processor> 
     154      <Options>None</Options> 
     155      <Output>C:\MyTemp\AakeR\UkkeliTappelu\UkkeliTappelu\UkkeliTappelu\bin\x86\Debug\Content\Luuranko.xnb</Output> 
     156      <Time>2014-06-11T12:58:39.4366273+03:00</Time> 
     157    </Item> 
     158    <Item> 
     159      <Source>InsideVolcano.png</Source> 
     160      <Name>InsideVolcano</Name> 
     161      <Importer>TextureImporter</Importer> 
     162      <Processor>TextureProcessor</Processor> 
     163      <Options>None</Options> 
     164      <Output>C:\MyTemp\AakeR\UkkeliTappelu\UkkeliTappelu\UkkeliTappelu\bin\x86\Debug\Content\InsideVolcano.xnb</Output> 
     165      <Time>2014-06-11T14:42:17.7984906+03:00</Time> 
     166    </Item> 
     167    <Item> 
     168      <Source>Winner.png</Source> 
     169      <Name>Winner</Name> 
     170      <Importer>TextureImporter</Importer> 
     171      <Processor>TextureProcessor</Processor> 
     172      <Options>None</Options> 
     173      <Output>C:\MyTemp\AakeR\UkkeliTappelu\UkkeliTappelu\UkkeliTappelu\bin\x86\Debug\Content\Winner.xnb</Output> 
     174      <Time>2014-06-11T14:03:32.5069847+03:00</Time> 
    148175    </Item> 
    149176    <BuildSuccessful>true</BuildSuccessful> 
  • 2014/24/AakeR/UkkeliTappelu/UkkeliTappelu/UkkeliTappelu/obj/x86/Debug/King_Of_The_Hill.csproj.FileListAbsolute.txt

    r4946 r4956  
    2424C:\MyTemp\AakeR\UkkeliTappelu\UkkeliTappelu\UkkeliTappelu\bin\x86\Debug\Content\Guren_No_Yumiya.xnb 
    2525C:\MyTemp\AakeR\UkkeliTappelu\UkkeliTappelu\UkkeliTappelu\bin\x86\Debug\Content\Guren_No_Yumiya.wma 
     26C:\MyTemp\AakeR\UkkeliTappelu\UkkeliTappelu\UkkeliTappelu\bin\x86\Debug\Content\Luuranko.xnb 
     27C:\MyTemp\AakeR\UkkeliTappelu\UkkeliTappelu\UkkeliTappelu\bin\x86\Debug\Content\InsideVolcano.xnb 
     28C:\MyTemp\AakeR\UkkeliTappelu\UkkeliTappelu\UkkeliTappelu\bin\x86\Debug\Content\Winner.xnb 
  • 2014/24/AakeR/UkkeliTappelu/UkkeliTappelu/UkkeliTappelu/obj/x86/Debug/cachefile-{F0CD7E3F-4B43-40E5-992E-7DFE6F07241C}-targetpath.txt

    r4946 r4956  
    1616Content\Guren_No_Yumiya.xnb 
    1717Content\Guren_No_Yumiya.wma 
     18Content\Luuranko.xnb 
     19Content\InsideVolcano.xnb 
     20Content\Winner.xnb 
  • 2014/24/AakeR/UkkeliTappelu/UkkeliTappelu/UkkeliTappeluContent/UkkeliTappeluContent.contentproj

    r4946 r4956  
    143143    </Compile> 
    144144  </ItemGroup> 
     145  <ItemGroup> 
     146    <Compile Include="Luuranko.png"> 
     147      <Name>Luuranko</Name> 
     148      <Importer>TextureImporter</Importer> 
     149      <Processor>TextureProcessor</Processor> 
     150    </Compile> 
     151  </ItemGroup> 
     152  <ItemGroup> 
     153    <Compile Include="InsideVolcano.png"> 
     154      <Name>InsideVolcano</Name> 
     155      <Importer>TextureImporter</Importer> 
     156      <Processor>TextureProcessor</Processor> 
     157    </Compile> 
     158  </ItemGroup> 
     159  <ItemGroup> 
     160    <Compile Include="Winner.png"> 
     161      <Name>Winner</Name> 
     162      <Importer>TextureImporter</Importer> 
     163      <Processor>TextureProcessor</Processor> 
     164    </Compile> 
     165  </ItemGroup> 
    145166  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    146167  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2014/24/AakeR/UkkeliTappelu/UkkeliTappelu/UkkeliTappeluContent/kentta1.txt

    r4946 r4956  
    11          
    22 
    3           ## 
    4            
    5                     
    6         ##  ## 
     3                    ##           
     4                                      
     5                                                         
     6                  ##  ## 
    77 
    88              
    9       ####  #### 
    10  
     9                ####  #### 
     10                                   
    1111                   
    12     ######  ###### 
     12              ######  ###### 
    1313 
    1414                
    15   ########  ######## 
    16  
    17     1   2   3   4 
    18 ###################### 
     15            ########  ########           
     16         
     17              1   2   3   4 
     18########################################## 
Note: See TracChangeset for help on using the changeset viewer.