Changeset 996


Ignore:
Timestamp:
2010-06-18 13:39:01 (9 years ago)
Author:
malaleht
Message:
 
Location:
2010/24/malaleht/Tasohyppely1
Files:
3 added
2 edited

Legend:

Unmodified
Added
Removed
  • 2010/24/malaleht/Tasohyppely1/Content/Content.contentproj

    r901 r996  
    5454    </Compile> 
    5555  </ItemGroup> 
     56  <ItemGroup> 
     57    <Compile Include="Untitled 23.png"> 
     58      <Name>Untitled 23</Name> 
     59      <Importer>TextureImporter</Importer> 
     60      <Processor>TextureProcessor</Processor> 
     61    </Compile> 
     62  </ItemGroup> 
     63  <ItemGroup> 
     64    <Compile Include="battle.png"> 
     65      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 
     66      <Name>battle</Name> 
     67      <Importer>TextureImporter</Importer> 
     68      <Processor>TextureProcessor</Processor> 
     69    </Compile> 
     70  </ItemGroup> 
     71  <ItemGroup> 
     72    <Compile Include="qwerty.png"> 
     73      <Name>qwerty</Name> 
     74      <Importer>TextureImporter</Importer> 
     75      <Processor>TextureProcessor</Processor> 
     76    </Compile> 
     77  </ItemGroup> 
    5678  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    5779  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2010/24/malaleht/Tasohyppely1/Peli.cs

    r901 r996  
    66 
    77class Tasohyppely : PhysicsGame 
    8 { 
    9     const double nopeus = 200; 
    10     const double hyppyVoima = 15000; 
    11  
    12     IntMeter pisteLaskuri; 
    13     ValueDisplay pisteNaytto; 
     8{   const int ruudunLeveys = 50; 
     9    const int ruudunKorkeus = 50; 
     10 
     11 
     12    const double nopeus = 400; 
     13    const double hyppyVoima = 20000; 
    1414 
    1515    PlatformCharacter pelaaja2; 
    1616    PlatformCharacter pelaaja1; 
    1717 
     18    IntMeter pistelaskuri1; 
     19    IntMeter pistelaskuri2; 
     20    IntMeter pelaaja1hp; 
     21    IntMeter pelaaja2hp; 
     22 
    1823    int kenttaNro; // monesko kenttä on menossa 
    1924 
     
    2126    protected override void Begin() 
    2227    { 
     28 
     29        luoKentta(0, 0); 
     30 
     31 
     32 
     33 
    2334        kenttaNro = 1; 
    24         Level.Width = 1800; 
    25         Level.Height = 1100; 
    26  
    27         // Luodaan pistelaskuri 
    28         pisteLaskuri = new IntMeter(0); 
    29  
    30         // luodaan pistelaskunäyttö 
    31         pisteNaytto = new ValueDisplay(); 
    32         pisteNaytto.Text = "Pisteitä: "; 
    33         pisteNaytto.X = Screen.RightSafe - 1000; 
    34         pisteNaytto.Y = Screen.TopSafe - 1000; 
    35         pisteNaytto.BindTo(pisteLaskuri); 
    36         Add(pisteNaytto);    // lisätään peliin 
     35        Level.Width = 1820; 
     36        Level.Height = 1125; 
     37 
     38         //Luodaan pistelaskuri; 
     39 
     40 
     41         //luodaan pistelaskunäyttö; 
     42 
    3743 
    3844        // Zoomataan lähemmäksi 
     
    4147        Camera.StayInLevel = false; 
    4248 
     49 
    4350        seuraavaKentta(); 
    44         MessageDisplay.Add("Etsi iso tähti!"); 
    45     } 
    46  
     51 
     52 
     53    } 
     54    void pelaaja2alarajassa(int arvo) 
     55    { 
     56        pelaaja2.Destroy(); 
     57        pistelaskuri1.Value++; 
     58        if (pistelaskuri1.Value == 5) 
     59        { 
     60            Timer ajastin = new Timer(); 
     61            ajastin.Interval = 3; 
     62            ajastin.Trigger += peliloppu; 
     63            Add(ajastin); 
     64            ajastin.Start(1); 
     65 
     66            MessageDisplay.Add("pelaaja1 voitti"); 
     67        } 
     68        else 
     69        { 
     70            seuraavaKentta(); 
     71        } 
     72        } 
     73    void pelaaja1alarajassa(int arvo) 
     74    { 
     75        pelaaja1.Destroy(); 
     76        pistelaskuri2.Value++; 
     77 
     78        if (pistelaskuri2.Value == 5) 
     79        { 
     80            Timer ajastin = new Timer(); 
     81            ajastin.Interval = 3; 
     82            ajastin.Trigger += peliloppu; 
     83            Add(ajastin); 
     84            ajastin.Start(1); 
     85 
     86            MessageDisplay.Add("pelaaja2 voitti"); 
     87        } 
     88        else 
     89        { 
     90            seuraavaKentta(); 
     91        } 
     92    } 
     93    
     94    void luoKentta(int edellisenPisteet1, int edellisenPisteet2) 
     95    { 
     96        Level.CreateBorders(); 
     97        Level.BackgroundColor = Color.Green; 
     98 
     99        Gravity = new Vector(0, -2000); 
     100 
     101        for (int i = 0; i < 200; i = i + 9) 
     102        { 
     103 
     104            lisaataso(RandomGen.NextInt(-900, 900), RandomGen.NextInt(-550, 550)); 
     105 
     106 
     107        } 
     108 
     109        lisaaPelaajat(); 
     110        lisaaNappaimet(); 
     111 
     112        pelaaja1hp = new IntMeter(10); 
     113        pelaaja1hp.MinValue = 0; 
     114        pelaaja1hp.LowerLimit += pelaaja1alarajassa; 
     115 
     116        pelaaja2hp = new IntMeter(10); 
     117        pelaaja2hp.MinValue = 0; 
     118        pelaaja2hp.LowerLimit += pelaaja2alarajassa; 
     119 
     120        ValueDisplay hpNaytto1 = new ValueDisplay(); 
     121        hpNaytto1.Text = "Pelaaja1 HP: "; 
     122 
     123        hpNaytto1.X = Screen.Left + 100; 
     124        hpNaytto1.Y = Screen.Top - 100; 
     125 
     126        hpNaytto1.ValueColor = Color.Red; 
     127        hpNaytto1.TextColor = Color.Red; 
     128 
     129        hpNaytto1.BindTo(pelaaja1hp); 
     130        Add(hpNaytto1); 
     131 
     132        ValueDisplay hpNaytto2 = new ValueDisplay(); 
     133        hpNaytto2.Text = "Pelaaja2 HP: "; 
     134 
     135        hpNaytto2.X = Screen.Right - 100; 
     136        hpNaytto2.Y = Screen.Top - 100; 
     137 
     138        hpNaytto2.ValueColor = Color.Red; 
     139        hpNaytto2.TextColor = Color.Red; 
     140 
     141        hpNaytto2.BindTo(pelaaja2hp); 
     142        Add(hpNaytto2); 
     143 
     144        pistelaskuri1 = new IntMeter(0); 
     145        pistelaskuri1.Value = edellisenPisteet1; 
     146         
     147        ValueDisplay pisteNaytto1 = new ValueDisplay(); 
     148        pisteNaytto1.Text = "Pisteitä: "; 
     149        pisteNaytto1.X = Screen.Left + 500; 
     150        pisteNaytto1.Y = Screen.Top - 100; 
     151        pisteNaytto1.ValueColor = Color.Red; 
     152        pisteNaytto1.TextColor = Color.Red; 
     153        pisteNaytto1.BindTo(pistelaskuri1); 
     154        Add(pisteNaytto1); 
     155        //pistelaskuri1.MaxValue = 1; 
     156        //pistelaskuri1.UpperLimit += pelaaja1Voittaa; 
     157         
     158        pistelaskuri2 = new IntMeter(0); 
     159        pistelaskuri2.Value = edellisenPisteet2; 
     160        ValueDisplay pisteNaytto2 = new ValueDisplay(); 
     161        pisteNaytto2.Text = "Pisteitä: "; 
     162        pisteNaytto2.X = Screen.Right - 500; 
     163        pisteNaytto2.Y = Screen.Top - 100; 
     164        pisteNaytto2.ValueColor = Color.Red; 
     165        pisteNaytto2.TextColor = Color.Red; 
     166        pisteNaytto2.BindTo(pistelaskuri2); 
     167        Add(pisteNaytto2); 
     168        //pistelaskuri2.MaxValue = 1; 
     169        //pistelaskuri2.UpperLimit += pelaaja2Voittaa; 
     170 
     171    } 
     172 
     173    void pelaaja1Voittaa(int value) 
     174    { 
     175         
     176 
     177    } 
     178     void pelaaja2Voittaa(int value) 
     179    { 
     180         
     181    } 
     182     void peliloppu(Timer sender) 
     183    { 
     184        Exit(); 
     185    } 
    47186    void seuraavaKentta() 
    48  
    49     { 
     187    { 
     188        int edellisenKentanPisteet1 = pistelaskuri1.Value; 
     189        int edellisenKentanPisteet2 = pistelaskuri2.Value; 
    50190 
    51191        ClearAll(); 
    52         pisteLaskuri.Reset(); 
     192        //pisteLaskuri.Reset(); 
    53193 
    54194        kenttaNro += 1; // lisätään kenttänumeroa yhdellä 
     
    56196 
    57197        // Asetetaan painovoima 
    58         Gravity = new Vector(0, -2000); 
    59  
    60         luoKentta(); 
    61         lisaaNappaimet(); 
    62          
    63     } 
    64  
    65     void luoKentta() 
    66     {   
    67         Level.CreateBorders(); 
    68         Level.Background.CreateGradient(Color.White, Color.SkyBlue); 
    69  
    70         for (int i = 0; i < 200; i = i + 9) 
    71         { 
    72  
    73             lisaataso(RandomGen.NextInt(-900, 900), RandomGen.NextInt(-550, 550)); 
    74              
    75  
    76         } 
    77  
    78         lisaaMaali(RandomGen.NextInt(-900,900),RandomGen.NextInt (-550,550)); 
    79         lisaaPelaajat(); 
    80     } 
    81  
    82     void lisaataso (double x, double y) 
     198        
     199 
     200        luoKentta(edellisenKentanPisteet1, edellisenKentanPisteet2); 
     201         
     202 
     203} 
     204 
     205    void lisaataso(double x, double y) 
    83206    { 
    84207        PhysicsObject taso = PhysicsObject.CreateStaticObject(100, 30); 
    85         taso.Color = Color.DarkViolet; 
     208        taso.Image = LoadImage("battle"); 
    86209        taso.X = x; 
    87210        taso.Y = y; 
     
    91214    void lisaaPelaajat() 
    92215    { 
    93          
    94  
    95          
    96  
    97  
    98  
    99  
    100216        pelaaja2 = new PlatformCharacter(60, 80); 
    101217        pelaaja2.Mass = 10.0; 
     
    105221 
    106222 
    107         AssaultRifle pyssy = new AssaultRifle(20, 5); 
    108         pyssy.Ammo.Value = 500; 
    109         pelaaja2.Weapon = new AssaultRifle(100, 40); 
    110          
    111  
    112          
     223        PlasmaCannon pyssy = new PlasmaCannon(100, 40); 
     224        pelaaja2.Weapon = pyssy; 
     225 
     226        pyssy.PlasmaParticleCollision = PalloLyo; 
     227 
    113228 
    114229        pelaaja1 = new PlatformCharacter(60, 80); 
    115230        pelaaja1.Mass = 10.0; 
    116         pelaaja1.Image = LoadImage("norsu"); 
     231        pelaaja1.Image = LoadImage("Untitled 23"); 
    117232        pelaaja1.X = 0; 
    118233        pelaaja1.Y = Level.Bottom + 120; 
    119  
    120         PlasmaCannon tykki = new PlasmaCannon(20, 5); 
    121         pyssy.Ammo.Value = 500; 
    122         pelaaja1.Weapon = new PlasmaCannon(100, 40); 
    123          
     234        PlasmaCannon tykki = new PlasmaCannon(100, 40); 
     235        pelaaja1.Weapon = tykki; 
     236        Add(pelaaja1); 
    124237        AddCollisionHandler(pelaaja1, osuiMaaliin); 
    125          
    126  
    127  
    128         Add(pelaaja1); 
    129     }    
    130  
     238        tykki.PlasmaParticleCollision = PalloOsuu; 
     239    } 
     240 
     241    void PalloOsuu(PhysicsObject tankki, PhysicsObject toinen) 
     242    { 
     243             
     244        if (toinen != pelaaja1){ 
     245         
     246            tankki.Destroy(); 
     247            Explosion rajahdys = new Explosion(100); 
     248            rajahdys.Position = tankki.Position; 
     249 
     250            Add(rajahdys); 
     251 
     252            if (toinen == pelaaja2) 
     253            { 
     254                pelaaja2hp.Value--; 
     255            } 
     256        } 
     257    } 
     258 
     259    void PalloLyo(PhysicsObject plasmapallo, PhysicsObject toinen) 
     260    { 
     261        if (toinen != pelaaja2) 
     262        {  
     263            plasmapallo.Destroy(); 
     264            Explosion rajahdys = new Explosion(100);  
     265            rajahdys.Position = plasmapallo.Position; 
     266 
     267            Add(rajahdys); 
     268 
     269            if (toinen == pelaaja1)  
     270            { 
     271                pelaaja1hp.Value--; 
     272            } 
     273            
     274 
     275        } 
     276 
     277    } 
    131278    void lisaaMaali(double x, double y) 
    132279    { 
     
    136283        maali.Image = LoadImage("tahti"); 
    137284        maali.Position = new Vector(x, y); 
    138          
    139285        Add(maali); 
    140       
     286 
    141287    } 
    142288 
    143289    void lisaaNappaimet() 
    144  
    145     { 
    146   
     290    { 
     291 
    147292 
    148293        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
     
    161306        Keyboard.Listen(Key.W, ButtonState.Pressed, hyppaa, "Hyppää", pelaaja2, hyppyVoima); 
    162307 
    163         Keyboard.Listen(Key.Space, ButtonState. 
    164  
    165  
    166  
    167  
     308        Keyboard.Listen(Key.Space, ButtonState.Down, pelaaja2.Weapon.Use, "Ammu"); 
     309 
     310        Keyboard.Listen(Key.Enter, ButtonState.Down, pelaaja1.Weapon.Use, "Ammu"); 
     311 
     312  
    168313 
    169314 
     
    195340        { 
    196341            this.PlaySound("maali"); 
    197             int edellisenKentanPisteet = pisteLaskuri.Value; 
    198342            seuraavaKentta(); 
    199             MessageDisplay.Add("Pääsit läpi kentän " + kenttaNro + ". Pisteitä: " + edellisenKentanPisteet); 
    200         } 
    201     } 
     343            //MessageDisplay.Add("Pääsit läpi kentän " + kenttaNro + ". Pisteitä: " + edellisenKentanPisteet); 
     344        } 
     345    } 
     346 
    202347} 
     348 
Note: See TracChangeset for help on using the changeset viewer.