Changeset 1765 for 2011/23


Ignore:
Timestamp:
2011-06-08 16:31:13 (8 years ago)
Author:
vikeisal
Message:
 
Location:
2011/23/vikeisal
Files:
14 added
9 edited

Legend:

Unmodified
Added
Removed
  • 2011/23/vikeisal/SpyInTheBase/SpyInTheBase/SpyInTheBase/Peli.cs

    r1741 r1765  
    1010public class Peli : PhysicsGame 
    1111{ 
    12     const double nopeus = 500; 
     12    const double nopeus = 200; 
    1313    const double hyppyNopeus = 425; 
    1414    const int RUUDUN_KOKO = 40; 
     
    2020    Image TasoKuva = LoadImage("maa"); 
    2121    Image TasoKuva2 = LoadImage("maa2"); 
     22    Image KolikkoKuva = LoadImage("enemy"); 
    2223    SoundEffect voittoAani = LoadSoundEffect("victory"); 
    2324    SoundEffect havioAani = LoadSoundEffect("lose"); 
     25    SoundEffect enemydie = LoadSoundEffect("enemydie"); 
     26    SoundEffect coinAani = LoadSoundEffect("coinaani"); 
     27    SoundEffect spydie = LoadSoundEffect("spydie"); 
    2428    IntMeter pisteLaskuri; 
    2529 
     30    List<Label> valikonKohdat; 
     31 
     32 
    2633 
    2734    public override void Begin() 
    2835    { 
     36        Gravity = new Vector(0, -1250); 
     37         
     38        luoKentta(); 
     39        lisaaNappaimet(); 
     40        LuoLaskuri(); 
     41 
     42        Camera.Follow(pelaaja1); 
     43        Camera.ZoomFactor = 1.0; 
     44        Camera.StayInLevel = true; 
     45        Valikko(); 
     46    } 
     47 
     48 
     49    void Valikko() 
     50    { 
     51        ClearAll(); 
     52 
     53        valikonKohdat = new List<Label>(); 
     54 
     55        Label kohta1 = new Label("Aloita uusi peli"); 
     56        kohta1.Position = new Vector(0, 40); 
     57        valikonKohdat.Add(kohta1); 
     58 
     59        Label kohta2 = new Label("Lopeta"); 
     60        kohta2.Position = new Vector(0, -40); 
     61        valikonKohdat.Add(kohta2); 
     62 
     63        foreach (Label valikonKohta in valikonKohdat) 
     64        { 
     65            Add(valikonKohta); 
     66        } 
     67 
     68        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null); 
     69        Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Lopeta, null); 
     70 
     71        Mouse.IsCursorVisible = true; 
     72        Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 
     73        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Lopeta, ""); 
     74 
     75    } 
     76    void ValikossaLiikkuminen(AnalogState hiirenTila) 
     77    { 
     78        foreach (Label kohta in valikonKohdat) 
     79        { 
     80            if (Mouse.IsCursorOn(kohta)) 
     81            { 
     82                kohta.TextColor = Color.Red; 
     83            } 
     84            else 
     85            { 
     86                kohta.TextColor = Color.White; 
     87            } 
     88 
     89        } 
     90    } 
     91    void AloitaPeli() 
     92    { 
     93        ClearAll(); 
     94        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Palaa valikkoon"); 
    2995        Gravity = new Vector(0, -1250); 
    3096        LuoAikaLaskuri(); 
    3197        luoKentta(); 
    3298        lisaaNappaimet(); 
    33  
     99        LuoLaskuri(); 
    34100        Camera.Follow(pelaaja1); 
    35101        Camera.ZoomFactor = 1.0; 
     
    37103    } 
    38104 
     105    void Lopeta() 
     106    { 
     107        Exit(); 
     108    } 
     109 
     110 
     111 
     112 
     113 
    39114    void luoKentta() 
    40115    { 
    41116        TileMap kentta = TileMap.FromFile("kentta1.txt"); 
    42117        kentta['#'] = lisaaTaso; 
    43         kentta['*'] = lisaaTahti; 
     118        kentta['*'] = lisaaintelligents; 
    44119        kentta['N'] = lisaaPelaaja; 
    45120        kentta['M'] = lisaaVihollinen; 
    46121        kentta['_'] = lisaaTappavaTaso; 
    47122        kentta['-'] = lisaaTaso2; 
     123        kentta['.'] = lisaaKolikko; 
    48124        kentta.Insert(RUUDUN_KOKO, RUUDUN_KOKO); 
    49125        Level.CreateBorders(); 
    50126        Level.BackgroundColor = Color.Black; 
    51             Level.Background.CreateStars(); 
    52  
     127        Level.Background.CreateStars(); 
    53128    } 
    54129    PhysicsObject lisaaTaso2() 
     
    70145        PhysicsObject TappavaTaso = PhysicsObject.CreateStaticObject(RUUDUN_KOKO, RUUDUN_KOKO, Shape.Triangle); 
    71146        TappavaTaso.Color = Color.Red; 
    72         TappavaTaso.Tag = "TappavaTaso";     
     147        TappavaTaso.Tag = "TappavaTaso"; 
    73148        return TappavaTaso; 
    74149    } 
    75     PhysicsObject lisaaTahti() 
    76     { 
    77         PhysicsObject tahti = PhysicsObject.CreateStaticObject(RUUDUN_KOKO, RUUDUN_KOKO); 
    78         tahti.Image = tahtiKuva; 
    79         tahti.Tag = "intelligents"; 
    80         return tahti; 
     150 
     151    PhysicsObject lisaaintelligents() 
     152    { 
     153        PhysicsObject intelligents = PhysicsObject.CreateStaticObject(39.9, 30); 
     154        intelligents.Image = tahtiKuva; 
     155        intelligents.Tag = "intelligents"; 
     156        return intelligents; 
     157    } 
     158 
     159    PhysicsObject lisaaKolikko() 
     160    { 
     161        PhysicsObject kolikko = PhysicsObject.CreateStaticObject(10, 10); 
     162        kolikko.Image = LoadImage("coin3"); 
     163        kolikko.Tag = "kolikko"; 
     164        return kolikko; 
    81165    } 
    82166 
     
    86170        pelaaja1.Mass = 4.0; 
    87171        pelaaja1.Image = pelaajanKuva; 
     172        pelaaja1.Weapon = new AssaultRifle(0, 5); 
     173        pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 
     174 
     175 
    88176        AddCollisionHandler(pelaaja1, osuTahteen); 
    89177        return pelaaja1; 
    90178    } 
    91         PhysicsObject lisaaVihollinen() 
    92         { 
    93             PhysicsObject vihollinen1 = PhysicsObject.CreateStaticObject(70, 60); 
    94             vihollinen1.Mass = 7.0; 
    95             vihollinen1.Image = vihollisenKuva; 
    96             return vihollinen1; 
    97         } 
    98  
    99      
    100      
    101      
    102      
    103  
     179 
     180    PhysicsObject lisaaVihollinen() 
     181    { 
     182        PhysicsObject vihollinen1 = new PhysicsObject(70, 60); 
     183 
     184        vihollinen1.Mass = 7.0; 
     185        AddCollisionHandler(vihollinen1, KasitteleVihollisenTormays); 
     186        vihollinen1.Tag = "vihollinen1"; 
     187        AssaultRifle pyssy = new AssaultRifle(20, 1); 
     188        vihollinen1.Add(pyssy); 
     189        Timer ajastin = new Timer(); 
     190        ajastin.Interval = 0.5; 
     191        //ajastin.Trigger += ; 
     192        ajastin.Start(); 
     193 
     194        vihollinen1.Image = vihollisenKuva; 
     195        Add(vihollinen1); 
     196 
     197        return vihollinen1; 
     198    } 
    104199 
    105200    void lisaaNappaimet() 
    106201    { 
    107202        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    108         Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     203 
    109204 
    110205        Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
    111206        Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
    112207        Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    113  
    114         ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
    115  
    116         ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus); 
    117         ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 
    118         ControllerOne.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     208        Keyboard.Listen(Key.Space, ButtonState.Pressed, AmmuAseella, "Ammu"); 
     209         
    119210    } 
    120211 
     
    132223    { 
    133224        if (kohde.Tag.ToString() == "intelligents") 
    134         {  
    135             MessageDisplay.Add("Kaappasit vihollisen tiedot!"); 
     225        { 
    136226            kohde.Destroy(); 
    137             MessageDisplay.TextColor = Color.Green; 
     227 
     228            Label naytto = new Label("Kaappasit vihollisen tiedot!"); 
     229            naytto.Position = Vector.Zero; 
     230            naytto.TextColor = Color.Green; 
     231            Add(naytto); 
    138232            voittoAani.Play(); 
    139             
    140     } 
     233            Valikko(); 
     234        } 
     235 
    141236        if (kohde.Tag.ToString() == "TappavaTaso") 
    142237        { 
    143             MessageDisplay.Add("GAME OVER! YOU FAILED!"); 
    144             MessageDisplay.TextColor = Color.Red; 
     238 
     239            Label naytto = new Label("GAME OVER! KUOLIT! YOU FAILED!"); 
     240            naytto.Position = Vector.Zero; 
     241            naytto.TextColor = Color.Red; 
     242            Add(naytto); 
    145243            pelaaja1.Destroy(); 
     244            spydie.Play(); 
    146245            havioAani.Play(); 
     246            Valikko(); 
    147247             
    148248        } 
    149249 
    150          
    151     } 
     250        if (kohde.Tag.ToString() == "kolikko") 
     251        { 
     252            pisteLaskuri.Value = pisteLaskuri.Value + 1; 
     253             
     254            coinAani.Play(); 
     255            kohde.Destroy(); 
     256        } 
     257    } 
     258 
    152259    void LuoAikaLaskuri() 
    153260    { 
     
    160267 
    161268        Label aikaNaytto = new Label(); 
     269        aikaNaytto.X = Screen.Right + -50; 
     270        aikaNaytto.Y = Screen.Top + -50; 
     271 
    162272        aikaNaytto.TextColor = Color.White; 
    163273        aikaNaytto.DecimalPlaces = 1; 
     
    171281        if (AlaspainLaskuri.Value <= 0) 
    172282        { 
    173             MessageDisplay.Add("GAME OVER! YOU FAILED!"); 
    174283            timer.Stop(); 
    175             MessageDisplay.TextColor = Color.Red; 
     284            Label naytto = new Label("GAME OVER! AIKASI LOPPUI! YOU FAILED!"); 
     285            naytto.Position = Vector.Zero; 
     286            naytto.TextColor = Color.Red; 
     287            Add(naytto); 
    176288            pelaaja1.Destroy(); 
    177289            havioAani.Play(); 
    178         } 
    179     } 
     290            Valikko(); 
     291        } 
     292    } 
     293 
     294    void KasitteleVihollisenTormays(PhysicsObject vihollinen1, PhysicsObject kohde) 
     295    { 
     296        if (kohde.Tag.ToString() == "TappavaTaso") 
     297        { 
     298            vihollinen1.Destroy(); 
     299            enemydie.Play(); 
     300        } 
     301 
     302    } 
     303    void LuoLaskuri() 
     304    { 
     305        pisteLaskuri = new IntMeter(0); 
     306 
     307        Label pisteNaytto = new Label(); 
     308        pisteNaytto.X = Screen.Left + 50; 
     309        pisteNaytto.Y = Screen.Top - 50; 
     310        pisteNaytto.TextColor = Color.Yellow; 
     311 
     312        pisteNaytto.BindTo(pisteLaskuri); 
     313        Add(pisteNaytto); 
     314    } 
     315    void AmmuAseella() 
     316    { 
     317        PhysicsObject ammus = pelaaja1.Weapon.Shoot(); 
     318         
     319        if (ammus != null) 
     320        { 
     321            ammus.Size *= 1; 
     322            ammus.Color = Color.Yellow; 
     323 
     324        } 
     325 
     326 
     327    } 
     328    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     329    { 
     330        if (kohde.Tag.ToString() == "vihollinen1") 
     331        { 
     332            kohde.Destroy(); 
     333            enemydie.Play(); 
     334            ammus.Destroy(); 
     335            pisteLaskuri.Value = pisteLaskuri.Value + 5; 
     336            Explosion rajahdys = new Explosion(5); 
     337            rajahdys.Position = ammus.Position; 
     338            Add(rajahdys); 
     339        } 
     340 
     341        if (kohde.Tag.ToString() == "maa") 
     342        { 
     343            ammus.Destroy(); 
     344            Explosion rajahdys = new Explosion(5); 
     345            rajahdys.Position = ammus.Position; 
     346            Add(rajahdys); 
     347        } 
     348        if (kohde.Tag.ToString() == "maa2") 
     349        { 
     350            ammus.Destroy(); 
     351            Explosion rajahdys = new Explosion(5); 
     352            rajahdys.Position = ammus.Position; 
     353            Add(rajahdys); 
     354        } 
     355         
     356    } 
     357    void AmmuAseella2(Timer Sender) 
     358    { 
     359        //PhysicsObject ammus = pyssy.Shoot(); 
     360 
     361        //if (ammus != null) 
     362        { 
     363            //ammus.Size *= 1; 
     364        } 
     365 
     366    } 
     367 
     368 
     369 
     370 
     371 
     372 
     373    public PhysicsObject vihollinen1 { get; set; } 
     374 
     375    public Image kolikkoKuva { get; set; } 
    180376 
    181377 
  • 2011/23/vikeisal/SpyInTheBase/SpyInTheBase/SpyInTheBase/kentta1.txt

    r1741 r1765  
    11 
    2    
    3    
    4    
    5    
    6    
    7    
    8           
    9  
    10             
    11         
    12  
    13                                                                                                                                            - 
    14                                                                                                                                            # 
    15                                                                                                                                            # 
    16                                                                                                                                           *# 
    17                                                                                                                                           -# 
    18                                                      -                                                                                   -## 
    19                   -                                 -#-                                       -                                         -### 
    20  N               -#-         M            M        -###-                             M       -#            -         M             M   -#### 
    21 -----------------###-------------------------------#####----------   ------------------------##-  -  -  -  #-------------------------------- 
    22 ##################################################################___###########################__#__#__#__################################# 
     2                                                                                                                                          - 
     3                                                                                                                                          # 
     4                                                                                                                                          # 
     5                                                                                                                                         *# 
     6                                                     .                                                                                  .-# 
     7                  .                                 .-.                                      .                                         .-## 
     8                 .-.                               .-#-.                                    .-            .                           .-### 
     9 N              .-#-.        M            M       .-###-.        .  .               M      .-#.  .  M  .  -.        M             M  .-#### 
     10-----------------###-------------------------------#####----------  ------------------------##-  -  -  -  #---------------------------##### 
     11##################################################################__###########################__#__#__#__################################# 
  • 2011/23/vikeisal/SpyInTheBase/SpyInTheBase/SpyInTheBaseContent/SpyInTheBaseContent.contentproj

    r1741 r1765  
    4343  </ItemGroup> 
    4444  <ItemGroup> 
    45     <Compile Include="intelligents.png"> 
    46       <Name>intelligents</Name> 
    47       <Importer>TextureImporter</Importer> 
    48       <Processor>TextureProcessor</Processor> 
    49     </Compile> 
    50   </ItemGroup> 
    51   <ItemGroup> 
    52     <Compile Include="spy.png"> 
    53       <Name>spy</Name> 
    54       <Importer>TextureImporter</Importer> 
    55       <Processor>TextureProcessor</Processor> 
    56     </Compile> 
    57   </ItemGroup> 
    58   <ItemGroup> 
    5945    <Compile Include="victory.wav"> 
    6046      <Name>victory</Name> 
     
    7864  </ItemGroup> 
    7965  <ItemGroup> 
    80     <Compile Include="enemy.png"> 
    81       <Name>enemy</Name> 
    82       <Importer>TextureImporter</Importer> 
    83       <Processor>TextureProcessor</Processor> 
    84     </Compile> 
    85   </ItemGroup> 
    86   <ItemGroup> 
    8766    <Compile Include="taivas.png"> 
    8867      <Name>taivas</Name> 
     
    9877    </Compile> 
    9978  </ItemGroup> 
     79  <ItemGroup> 
     80    <Compile Include="enemydie.wav"> 
     81      <Name>enemydie</Name> 
     82      <Importer>WavImporter</Importer> 
     83      <Processor>SoundEffectProcessor</Processor> 
     84    </Compile> 
     85  </ItemGroup> 
     86  <ItemGroup> 
     87    <Compile Include="coin2.png"> 
     88      <Name>coin2</Name> 
     89      <Importer>TextureImporter</Importer> 
     90      <Processor>TextureProcessor</Processor> 
     91    </Compile> 
     92  </ItemGroup> 
     93  <ItemGroup> 
     94    <Compile Include="coin3.png"> 
     95      <Name>coin3</Name> 
     96      <Importer>TextureImporter</Importer> 
     97      <Processor>TextureProcessor</Processor> 
     98    </Compile> 
     99  </ItemGroup> 
     100  <ItemGroup> 
     101    <Compile Include="coinaani.wav"> 
     102      <Name>coinaani</Name> 
     103      <Importer>WavImporter</Importer> 
     104      <Processor>SoundEffectProcessor</Processor> 
     105    </Compile> 
     106  </ItemGroup> 
     107  <ItemGroup> 
     108    <Compile Include="spy.png"> 
     109      <Name>spy</Name> 
     110      <Importer>TextureImporter</Importer> 
     111      <Processor>TextureProcessor</Processor> 
     112    </Compile> 
     113  </ItemGroup> 
     114  <ItemGroup> 
     115    <Compile Include="intelligents.png"> 
     116      <Name>intelligents</Name> 
     117      <Importer>TextureImporter</Importer> 
     118      <Processor>TextureProcessor</Processor> 
     119    </Compile> 
     120  </ItemGroup> 
     121  <ItemGroup> 
     122    <Compile Include="enemy.png"> 
     123      <Name>enemy</Name> 
     124      <Importer>TextureImporter</Importer> 
     125      <Processor>TextureProcessor</Processor> 
     126    </Compile> 
     127  </ItemGroup> 
     128  <ItemGroup> 
     129    <Compile Include="spydie.wav"> 
     130      <Name>spydie</Name> 
     131      <Importer>WavImporter</Importer> 
     132      <Processor>SoundEffectProcessor</Processor> 
     133    </Compile> 
     134  </ItemGroup> 
    100135  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    101136  <!--  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.