Changeset 4438


Ignore:
Timestamp:
2013-07-04 15:02:42 (6 years ago)
Author:
vilmikvi
Message:

Talletus.

Location:
2013/27/ViljamiV/kill_everypody_GAME/kill_everypody_GAME
Files:
6 added
3 edited

Legend:

Unmodified
Added
Removed
  • 2013/27/ViljamiV/kill_everypody_GAME/kill_everypody_GAME/kill_everypody_GAME/kill_everypody_GAME.cs

    r4414 r4438  
    1414 
    1515    PlatformCharacter pelaaja1; 
     16    bool voikoPelaajaAmpua = true; 
     17    Image DragonJonnenKuva = LoadImage("DragonJonne"); 
    1618    Image VihunKuva = LoadImage("Vihu"); 
    1719    Image[] seisomisanimaatio = LoadImages("Trollface"); 
     
    2527    DoubleMeter elamat; 
    2628    IntMeter esLaskuri; 
     29    Vector? maaliAlue; 
    2730 
    2831    SoundEffect laaserAani = LoadSoundEffect("maali"); 
    29     int nykyinenKentta = 2; 
     32    int nykyinenKentta = 1; 
    3033 
    3134 
    3235    public override void Begin() 
     36 
     37         
    3338    { 
    3439        AloitaKentta(nykyinenKentta); 
    3540    } 
    36      
    37  
    38     void AloitaKentta( int kentanNro ) 
    39     { 
     41 
     42 
     43    void AloitaKentta(int kentanNro) 
     44    { 
     45        ClearAll(); 
    4046        Gravity = new Vector(0, -1000); 
    4147 
     
    4753        LisaaElamaPalkki(); 
    4854 
    49         lataaEnergiaaAjastin.Interval = 0.9; 
     55        lataaEnergiaaAjastin = new Timer(); 
     56        lataaEnergiaaAjastin.Interval = 0.2; 
    5057        lataaEnergiaaAjastin.Timeout += delegate { energia.Value += 1; }; 
    5158        lataaEnergiaaAjastin.Start(); 
     
    6067    void SeuraavaKentta() 
    6168    { 
    62         AloitaKentta(nykyinenKentta + 1); 
     69        if (nykyinenKentta < 4) 
     70        { 
     71            AloitaKentta(nykyinenKentta + 1); 
     72        } 
     73        else 
     74        { 
     75            VoititPelin(); 
     76        } 
     77    } 
     78 
     79    void VoititPelin() 
     80    { 
     81        ClearAll(); 
     82        Label teksti = new Label("Voitit pelin"); 
     83        Add(teksti); 
     84 
     85        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, null); 
    6386    } 
    6487 
     
    6689    { 
    6790        energia = new DoubleMeter(100, 0, 100); 
    68  
     91        energia.LowerLimit += delegate { voikoPelaajaAmpua = false; }; 
     92        energia.AddTrigger(20, TriggerDirection.Up, delegate(double d) { voikoPelaajaAmpua = true; }); 
    6993        ProgressBar energiaPalkki = new ProgressBar(200, 35); 
    7094        energiaPalkki.Position = new Vector(Screen.Right - 150, Screen.Top - 50); 
     
    92116        TileMap kentta = TileMap.FromLevelAsset(kentanNimi); 
    93117        kentta.SetTileMethod('#', LisaaTaso); 
     118 
     119        kentta.SetTileMethod('M', LisaaMaali); 
     120        kentta.SetTileMethod('O', LisaaDragonJonne); 
    94121        kentta.SetTileMethod('*', LisaaTahti); 
    95122        kentta.SetTileMethod('N', LisaaPelaaja); 
    96123        kentta.SetTileMethod('V', LisaaVihu); 
     124 
     125        maaliAlue = null; 
     126 
    97127        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    98128        Level.CreateBorders(); 
     
    100130        Level.Background.FitToLevel(); 
    101131    } 
    102      
    103         void LisaaVihu(Vector paikka, double leveys, double korkeus) 
    104         { 
     132 
     133 
     134    void LisaaMaali(Vector paikka, double leveys, double korkeys) 
     135    { 
     136        maaliAlue = paikka; 
     137         
     138    } 
     139 
     140 
     141    void LisaaDragonJonne(Vector paikka, double leveys, double korkeys) 
     142    { 
     143 
     144        DragonJonne DragonJonne = new DragonJonne(leveys * 6.9, korkeys * 6.5, 80); 
     145        //DragonJonne.IgnoresCollisionResponse = true; 
     146        DragonJonne.Restitution = 10.0; 
     147        DragonJonne.IgnoresGravity = true; 
     148        DragonJonne.Position = paikka; 
     149        //vihu.Color = Color.Red; 
     150        DragonJonne.Image = DragonJonnenKuva; 
     151        DragonJonne.Tag = "DragonJonne"; 
     152        DragonJonne.Shape = Shape.Circle; 
     153        Add(DragonJonne); 
     154 
     155 
     156        if (maaliAlue != null) 
     157        { 
     158            DragonJonne.MoveTo((Vector)maaliAlue, nopeus - 50, JonneVoittaa); 
     159        } 
     160        else 
     161        { 
     162            Timer ajastin = new Timer(); 
     163            ajastin.Interval = 2.0; 
     164            ajastin.Timeout += delegate { DragonJonne.Hit(RandomGen.NextVector(200.0, 300.0)); }; 
     165            ajastin.Start(); 
     166 
     167            DragonJonne.Elamat.LowerLimit += VoititPelin; 
     168        } 
     169 
     170        GameObject palkinPaikka = new GameObject(50, 50); 
     171        palkinPaikka.Position = new Vector(0, 150); 
     172        palkinPaikka.IsVisible = false; 
     173        //Add(palkinPaikka); 
     174        DragonJonne.Add(palkinPaikka); 
     175 
     176        ProgressBar DragonJonnenElamat = new ProgressBar(70, 30); 
     177        DragonJonnenElamat.IsVisible = true; 
     178        DragonJonnenElamat.BindTo(DragonJonne.Elamat); 
     179        palkinPaikka.Add(DragonJonnenElamat); 
     180 
     181 
     182 
     183    } 
     184 
     185 
     186    void JonneVoittaa() 
     187    { 
     188         
     189        MessageDisplay.Add("JONNE WON!"); pelaaja1.Destroy();  
     190    } 
     191 
     192 
     193 
     194 
     195    void LisaaVihu(Vector paikka, double leveys, double korkeus) 
     196    { 
    105197 
    106198        Vihu vihu = new Vihu(leveys * 1.5, korkeus * 1.5, 5); 
     
    126218        vihunElamat.BindTo(vihu.Elamat); 
    127219        palkinPaikka.Add(vihunElamat); 
    128          
    129          
    130     } 
    131         void LisaaLaskuri() 
    132         { 
    133             esLaskuri = new IntMeter(0, 0, 6); 
    134             esLaskuri.UpperLimit += SeuraavaKentta; 
    135  
    136             Label pisteNaytto = new Label(); 
    137             pisteNaytto.Left = Screen.Left + 50; 
    138             pisteNaytto.Top = Screen.Top - 50; 
    139             pisteNaytto.TextColor = Color.White; 
    140             pisteNaytto.Color = Color.Black; 
    141  
    142             pisteNaytto.BindTo(esLaskuri); 
    143             Add(pisteNaytto); 
    144         } 
     220 
     221 
     222    } 
     223    void LisaaLaskuri() 
     224    { 
     225        esLaskuri = new IntMeter(0, 0, 6); 
     226        esLaskuri.UpperLimit += SeuraavaKentta; 
     227 
     228        Label pisteNaytto = new Label(); 
     229        pisteNaytto.Left = Screen.Left + 50; 
     230        pisteNaytto.Top = Screen.Top - 50; 
     231        pisteNaytto.TextColor = Color.White; 
     232        pisteNaytto.Color = Color.Black; 
     233 
     234        pisteNaytto.BindTo(esLaskuri); 
     235        Add(pisteNaytto); 
     236    } 
    145237 
    146238    void LisaaTaso(Vector paikka, double leveys, double korkeus) 
     
    171263        AddCollisionHandler(pelaaja1, "es", TormaaTahteen); 
    172264        AddCollisionHandler(pelaaja1, "Vihu", TormaaVihuun); 
     265        AddCollisionHandler(pelaaja1, "DragonJonne", TormaaVihuun); 
    173266 
    174267        //pelaaja1 on PlatformCharacter-tyyppinen 
     
    199292            ((Vihu)kohde).Elamat.Value -= 0.2; 
    200293        } 
     294 
     295        if (kohde is DragonJonne) 
     296        { 
     297            ((DragonJonne)kohde).Elamat.Value -= 0.2; 
     298        } 
    201299    } 
    202300 
     
    204302    void AmmuAseella(PlatformCharacter pelaaja) 
    205303    { 
    206         if (energia.Value < 1) return; 
     304        if (!voikoPelaajaAmpua) return; 
    207305        PhysicsObject ammus = pelaaja.Weapon.Shoot(); 
    208306        pelaaja1.PlayAnimation(new Animation(hyokkausanimaatio)); 
     
    213311            ammus.Width *= 2; 
    214312            ammus.Image = ammusKuva; 
    215             //ammus.MaximumLifetime = TimeSpan.FromSeconds(5.0) 
    216         } 
    217  
     313            ammus.MaximumLifetime = TimeSpan.FromSeconds(1.0); 
     314        } 
    218315    } 
    219316 
     
    245342    void Liikuta(PlatformCharacter hahmo, double nopeus) 
    246343    { 
     344        if (maaliAlue != null) 
     345        { 
     346            if (hahmo.Position.X >= maaliAlue.Value.X) 
     347            { 
     348                SeuraavaKentta(); 
     349            } 
     350        } 
    247351        hahmo.Walk(nopeus); 
    248352    } 
     
    260364    } 
    261365 
    262      
     366 
    263367} 
    264368 
     
    266370{ 
    267371    DoubleMeter elamat; 
    268     public DoubleMeter Elamat { get{  return elamat;  }} 
     372    public DoubleMeter Elamat { get { return elamat; } } 
    269373    public Vihu(double leveys, double korkeus, int elamia) 
    270374        : base(leveys, korkeus) 
     
    278382 
    279383} 
     384 
     385public class DragonJonne : PhysicsObject 
     386{ 
     387    DoubleMeter elamat; 
     388    public DoubleMeter Elamat { get { return elamat; } } 
     389    public DragonJonne(double leveys, double korkeus, int elamia) 
     390        : base(leveys, korkeus) 
     391 
     392    { 
     393        elamat = new DoubleMeter(elamia, 0, elamia); 
     394        elamat.LowerLimit += delegate { this.Destroy(); }; 
     395    } 
     396    
     397 
     398 
     399 
     400} 
  • 2013/27/ViljamiV/kill_everypody_GAME/kill_everypody_GAME/kill_everypody_GAMEContent/kentta2.txt

    r4414 r4438  
    44################                                  #            * #                                  ################ 
    55#              #                                  #              #                                  #              # 
    6 #              #                                  #             ##                                  #       *      # 
     6#            ###                                  #    ###      ##                                  ####    *      # 
    77#   *          #                                  #              #                                  #       #      # 
    88#              #                                  #              #                                  #              # 
     
    1313#       ############################################################################################################   
    1414###                                                                                                                # 
    15 #####                                                                                                              # 
    16 #######    #                V    #                  V   #              V                    #           V          #                                                                                                     # 
    17 ############################################################################################################       #                                                                                                     # 
    18 #                                                                                                                ###                                                                                                     # 
    19 #                                                       *                                                      #####                                                    *                       V                        # 
    20 #         V       #                 V          #         V        #          V           #           V       #######                                                    #      ########################################### 
    21 #      #############################################################################################################                                                  #####                   #                          # 
    22 ###                                                                                                                #                                                #########                *#                          # 
    23 #####                                                                                                              #                                              #############                                          # 
    24 #######          #         V                     #                 V            #                 V                #                                            #################       V     #          V               # 
     15#####                          ########                      ###########                         V                 # 
     16#######   #############                  #              ##               ######     #########################      #                                                                                                     # 
     17#                               V          #####                                                                   #                                                                                                     # 
     18#                       ###############    #               V                                                     ###                                                                                                     # 
     19#########                                  # *      #############        ############            V                 #                                                    *                       V                        # 
     20#                 V                        #####                    ###        #           ############     ##     #                                                    #      ########################################### 
     21#         #########            #######           #############                 #                                   #                                                  #####                   #                          # 
     22###     ###                  #       #                                    ######                                ####                                                #########                *#                          # 
     23#####                                #                                                                             #                                              #############                                          # 
     24#######          #         V         #           #                 V   #      V #                 V                #                                            #################       V     #          V               # 
    2525############################################################################################################       #                                          ####################################################       # 
    2626#                                                                                                                ###                                        #############                                              ### 
  • 2013/27/ViljamiV/kill_everypody_GAME/kill_everypody_GAME/kill_everypody_GAMEContent/kill_everypody_GAMEContent.contentproj

    r4414 r4438  
    4646  </ItemGroup> 
    4747  <ItemGroup> 
     48    <Compile Include="kentta3.txt"> 
     49      <Name>kentta3</Name> 
     50      <Importer>TextFileImporter</Importer> 
     51      <Processor>TextFileContentProcessor</Processor> 
     52    </Compile> 
    4853    <Compile Include="maali.wav"> 
    4954      <Name>maali</Name> 
     
    123128    </Compile> 
    124129  </ItemGroup> 
     130  <ItemGroup> 
     131    <Compile Include="DragonJonne.png"> 
     132      <Name>DragonJonne</Name> 
     133      <Importer>TextureImporter</Importer> 
     134      <Processor>TextureProcessor</Processor> 
     135    </Compile> 
     136  </ItemGroup> 
     137  <ItemGroup> 
     138    <Compile Include="kentta4.txt"> 
     139      <Name>kentta4</Name> 
     140      <Importer>TextFileImporter</Importer> 
     141      <Processor>TextFileContentProcessor</Processor> 
     142    </Compile> 
     143  </ItemGroup> 
    125144  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    126145  <!--  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.