Changeset 2554 for 2011/31/JoonasM


Ignore:
Timestamp:
2011-08-04 14:58:38 (8 years ago)
Author:
joarmuho
Message:

Talletus.

Location:
2011/31/JoonasM/TankSurvival/TankSurvival
Files:
3 added
4 edited

Legend:

Unmodified
Added
Removed
  • 2011/31/JoonasM/TankSurvival/TankSurvival/TankSurvival/Peli.cs

    r2540 r2554  
    99public class Peli : PhysicsGame 
    1010{ 
     11    List<Label> valikonKohdat; 
     12 
    1113    Image olionKuva = LoadImage("pelaaja"); 
    1214    Image palikanKuva = LoadImage("seinä"); 
    1315    Image vihunKuva = LoadImage("vihollinen"); 
     16    Image maalinKuva = LoadImage("maali"); 
    1417 
    1518    PhysicsObject pelaaja; 
    1619    PlasmaCannon plasmaTykki; 
    1720 
     21    ScoreList topLista = new ScoreList(10, false, 0); 
     22 
     23    int kenttaNro = 1; 
     24 
     25 
    1826    public override void Begin() 
    19     { 
     27 
     28    { 
     29        Valikko(); 
     30        if (DataStorage.Exists("pisteet.xml")) 
     31        topLista = DataStorage.Load<ScoreList>(topLista, "pisteet.xml"); 
     32 
     33    } 
     34 
     35    void Valikko() 
     36    { 
     37        ClearAll(); 
     38 
     39        Level.BackgroundColor = Color.ForestGreen; 
     40 
     41        valikonKohdat = new List<Label>(); 
     42 
     43        Label kohta1 = new Label("Aloita uusi peli"); 
     44        kohta1.Position = new Vector(0, 40); 
     45        valikonKohdat.Add(kohta1); 
     46 
     47        Label kohta2 = new Label("Lopeta"); 
     48        kohta2.Position = new Vector(0, -40); 
     49        valikonKohdat.Add(kohta2); 
     50 
     51        Label kohta3 = new Label("Tank Survive"); 
     52        kohta3.Position = new Vector(0, 200); 
     53        kohta3.TextScale = new Vector(4, 4); 
     54        valikonKohdat.Add(kohta3); 
     55 
     56        foreach (Label valikonKohta in valikonKohdat) 
     57        { 
     58            Add(valikonKohta); 
     59        } 
     60 
     61        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null); 
     62        Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Exit, null); 
     63         
     64        Mouse.IsCursorVisible = true; 
     65        Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 
     66        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, ""); 
     67         
     68 
     69    } 
     70 
     71    void ValikossaLiikkuminen(AnalogState hiirenTila) 
     72    { 
     73        foreach (Label kohta in valikonKohdat) 
     74        { 
     75            if (Mouse.IsCursorOn(kohta)) 
     76            { 
     77                kohta.TextColor = Color.Red; 
     78            } 
     79            else 
     80            { 
     81                kohta.TextColor = Color.Black; 
     82            } 
     83 
     84        } 
     85    } 
     86 
     87    void AloitaPeli() 
     88    { 
     89        ClearAll(); 
    2090        LuoKenttä(); 
     91        LuoPelaaja(); 
     92        asetaOhjaimet(); 
     93 
     94    } 
     95 
     96 
     97    void LuoPelaaja() 
     98    { 
    2199        Camera.StayInLevel = true; 
    22100        Camera.ZoomFactor = 4; 
     
    37115        Camera.Follow(pelaaja); 
    38116        AddCollisionHandler(pelaaja, Kasittelepelaajantormays); 
    39  
     117    } 
     118 
     119    void asetaOhjaimet() 
     120    { 
    40121        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-250, 0)); 
    41122        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, new Vector(250, 0)); 
     
    49130        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    50131        Keyboard.Listen(Key.S, ButtonState.Down, AmmuAseella, "Ammu"); 
    51  
    52132    } 
    53133 
     
    57137        ruudut.SetTileMethod('=', LuoPalikka); 
    58138        ruudut.SetTileMethod('v', Luovihu); 
     139        ruudut.SetTileMethod('m', LuoMaali); 
    59140        ruudut.Execute(); 
     141        LuoLaskuri(); 
     142        Luoelämät(); 
    60143    } 
    61144 
     
    76159    void vihollineAmpuu(PhysicsObject vihollinen) 
    77160    { 
     161        if (vihollinen.IsDestroyed) return; 
     162 
    78163        PhysicsObject ammus; 
    79164 
     
    121206        Add(taso); 
    122207        taso.Tag = "taso"; 
    123  
    124  
     208    } 
     209 
     210    void LuoMaali(Vector paikka, double leveys, double korkeus) 
     211    { 
     212        PhysicsObject maali = PhysicsObject.CreateStaticObject( 
     213  leveys, korkeus, Shape.Rectangle); 
     214        maali.Position = paikka; 
     215        maali.Image = maalinKuva; 
     216        Add(maali); 
     217        maali.Tag = "maali"; 
    125218    } 
    126219 
     
    139232        if (kohde.Tag.ToString() == "vihu") 
    140233        { 
    141             pelaaja.Destroy(); 
    142234            AloitaAlusta(); 
    143235        } 
     236        if (kohde.Tag.ToString() == "vihuammus") 
     237        { 
     238            AloitaAlusta(); 
     239        } 
    144240    } 
    145241 
    146242    void AloitaAlusta() 
    147243    { 
    148         ClearAll(); 
    149         Begin(); 
    150     } 
     244        elämäLaskuri.Value--; 
     245        if (elämäLaskuri.Value < 1)  
     246 
     247        { 
     248            ClearAll(); 
     249            HighScoreWindow topIkkuna = new HighScoreWindow("TankSurvival", 
     250                             "Parhaat pisteet", 
     251                             "Onneksi olkoon, pääsit listalle pisteillä %p! Syötä nimesi:", 
     252                             topLista, pisteLaskuri.Value+elämäLaskuri.Value); 
     253            topIkkuna.Closed += TallennaPisteet; 
     254            Add(topIkkuna); 
     255            ClearAll(); 
     256            Valikko(); 
     257        } 
     258 
     259        pelaaja.X = -420.0; 
     260        pelaaja.Y = 290.0; 
     261    } 
     262 
     263    void TallennaPisteet(Window sender) 
     264    { 
     265        DataStorage.Save<ScoreList>(topLista, "pisteet.xml"); 
     266    } 
     267 
    151268 
    152269 
     
    167284        { 
    168285            kohde.Destroy(); 
     286            Explosion rajahdys = new Explosion(25); 
     287            rajahdys.Position = kohde.Position; 
     288            rajahdys.ShockwaveColor = Color.Red; 
     289            Add(rajahdys); 
     290            pisteLaskuri.Value++; 
     291 
    169292        } 
    170293        if (kohde.Tag.ToString() == "taso") 
     
    172295            ammus.Destroy(); 
    173296        } 
    174  
    175     } 
    176  
     297        if (kohde.Tag.ToString() == "maali") 
     298        { 
     299            ammus.Destroy(); 
     300        } 
     301 
     302    } 
     303 
     304    IntMeter pisteLaskuri; 
     305 
     306    void LuoLaskuri() 
     307    { 
     308        pisteLaskuri = new IntMeter(0); 
     309 
     310        Label pisteNaytto = new Label(); 
     311        pisteNaytto.X = Screen.Left + 140; 
     312        pisteNaytto.Y = Screen.Top - 111; 
     313        pisteNaytto.TextColor = Color.Red; 
     314 
     315        pisteNaytto.TextColor = Color.Red; 
     316 
     317        pisteNaytto.BindTo(pisteLaskuri); 
     318        Add(pisteNaytto); 
     319 
     320        Label pisteTeksti = new Label("Pisteitä: "); 
     321        pisteTeksti.X = Screen.Left + 90; 
     322        pisteTeksti.Y = Screen.Top - 111; 
     323        pisteTeksti.TextColor = Color.White; 
     324        Add(pisteTeksti); 
     325 
     326    } 
     327    IntMeter elämäLaskuri; 
     328 
     329    void Luoelämät() 
     330    { 
     331        elämäLaskuri = new IntMeter(3); 
     332 
     333        Label elämäNaytto = new Label(); 
     334        elämäNaytto.X = Screen.Left + 140; 
     335        elämäNaytto.Y = Screen.Top - 90; 
     336        elämäNaytto.TextColor = Color.Red; 
     337 
     338        elämäNaytto.TextColor = Color.Red; 
     339 
     340        elämäNaytto.BindTo(elämäLaskuri); 
     341        Add(elämäNaytto); 
     342 
     343        Label elämäTeksti = new Label("Elämiä: "); 
     344        elämäTeksti.X = Screen.Left + 90; 
     345        elämäTeksti.Y = Screen.Top - 90; 
     346        elämäTeksti.TextColor = Color.White; 
     347        Add(elämäTeksti); 
     348    } 
    177349 
    178350} 
  • 2011/31/JoonasM/TankSurvival/TankSurvival/TankSurvival/TankSurvival.csproj

    r2509 r2554  
    120120  </ItemGroup> 
    121121  <ItemGroup> 
    122     <ProjectReference Include="..\TankSurvivalContent\TankSurvivalContent.contentproj"> 
    123       <Name>TankSurvivalContent</Name> 
    124       <XnaReferenceType>Content</XnaReferenceType> 
    125     </ProjectReference> 
    126   </ItemGroup> 
    127   <ItemGroup> 
    128122    <BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client"> 
    129123      <Visible>False</Visible> 
     
    152146    </BootstrapperPackage> 
    153147  </ItemGroup> 
     148  <ItemGroup> 
     149    <ProjectReference Include="..\TankSurvivalContent\TankSurvivalContent.contentproj"> 
     150      <Project>{E7E5BC5D-25AB-49AD-9A3F-070436887AED}</Project> 
     151      <Name>TankSurvivalContent %28Content%29</Name> 
     152      <XnaReferenceType>Content</XnaReferenceType> 
     153    </ProjectReference> 
     154  </ItemGroup> 
    154155  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> 
    155156  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\Microsoft.Xna.GameStudio.targets" /> 
  • 2011/31/JoonasM/TankSurvival/TankSurvival/TankSurvivalContent/TankSurvivalContent.contentproj

    r2540 r2554  
    5656      <Importer>TextFileImporter</Importer> 
    5757      <Processor>TextFileContentProcessor</Processor> 
    58       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 
     58      <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
    5959    </Compile> 
    6060  </ItemGroup> 
     
    7575    </Compile> 
    7676  </ItemGroup> 
     77  <ItemGroup> 
     78    <Compile Include="maali.png"> 
     79      <Name>maali</Name> 
     80      <Importer>TextureImporter</Importer> 
     81      <Processor>TextureProcessor</Processor> 
     82    </Compile> 
     83  </ItemGroup> 
    7784  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    7885  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2011/31/JoonasM/TankSurvival/TankSurvival/TankSurvivalContent/level1.txt

    r2540 r2554  
    11=================== 
    22= =          =    = 
    3 = = ==v==v== =  = = 
     3= = ==v==v== =mv= = 
    44=     =    v ==== = 
    5 ==v= =v===    =   = 
     5==v===v===    =v  = 
    66=        ==== = = = 
    77======= ====v === = 
    88=   =v        =v  = 
    9 =v=    ===#===== == 
    10 = ==== =   =   = v= 
    11 =    =   =   =   == 
     9=v=    ========= == 
     10= ==== =       = v= 
     11=    =   =v=v=   == 
    1212=================== 
Note: See TracChangeset for help on using the changeset viewer.