Changeset 930 for 2010/24


Ignore:
Timestamp:
2010-06-17 10:02:12 (9 years ago)
Author:
vilvaini
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/24/Vilvaini/Smile Jump/Peli.cs

    r917 r930  
    1414    IntMeter pelaajan1pisteet; 
    1515    IntMeter pelaajan2pisteet; 
    16     
    17  
    18     IntMeter pisteLaskuri; 
    19     ValueDisplay pisteNaytto; 
    2016 
    2117    PlatformCharacter pelaaja1; 
     
    2521 
    2622    Timer aikaLaskuri; 
    27     Timer aikaLaskuri2;// laskee aikaa 
    28     ValueDisplay aikaNaytto;    // näyttää ajan 
    2923 
    3024    PhysicsObject vasenReuna; 
     
    3731    protected override void Begin() 
    3832    { 
     33        Level.Width = 1024; 
     34        Level.Height = 15000; 
    3935        pelaajan1pisteet = new IntMeter(0); 
    4036        pelaajan2pisteet = new IntMeter(0); 
     37        Camera.StayInLevel = true; 
    4138        seuraavaKentta(); 
    42          
    4339    } 
    4440 
     
    5854    { 
    5955        ClearAll(); 
    60         // Tähän kentän luonti ... 
    61  
    6256        //pelaajan1pisteet.Reset(); 
    63         // Luodaan pistelaskuri 
     57        lisaaTaso(RandomGen.NextDouble(Level.Left + 50, Level.Right - 50), Level.Bottom + 150, 150); 
     58 
     59        vasenReuna = Level.CreateLeftBorder(); 
     60        vasenReuna.Restitution = 0.0; 
     61        vasenReuna.IsVisible = false; 
     62 
     63        alaReuna = Level.CreateBottomBorder(); 
     64        vasenReuna.Restitution = 0.0; 
     65        vasenReuna.IsVisible = false; 
     66 
     67        oikeaReuna = Level.CreateRightBorder(); 
     68        vasenReuna.Restitution = 0.0; 
     69        vasenReuna.IsVisible = false; 
    6470         
    6571 
     
    7379        pisteNaytto.BindTo(pelaajan1pisteet); 
    7480        Add(pisteNaytto);    // lisätään peliin 
    75  
    76         // Luodaan pistelaskuri 
    7781         
    7882 
     
    129133            seuraavaKentta(); 
    130134        } 
     135 
     136        if (kohde == vihollinen) 
     137        { 
     138            pelaajan2pisteet.Value += 1; 
     139            p1.Destroy(); 
     140            seuraavaKentta(); 
     141        } 
    131142          
     143    } 
     144 
     145    void VihollisKaantyVR(PhysicsObject vihulainen, PhysicsObject kohde) 
     146    { 
     147        if (kohde == vasenReuna) 
     148        { 
     149            vihulainen.Velocity = new Vector(150.0, 0.0); 
     150        } 
     151 
     152    } 
     153 
     154    void VihollisKaantyOR(PhysicsObject vihulainen, PhysicsObject kohde) 
     155    { 
     156        if (kohde == oikeaReuna) 
     157        { 
     158            vihulainen.Velocity = new Vector(-150.0, 0.0); 
     159        } 
     160 
    132161    } 
    133162 
     
    140169            seuraavaKentta(); 
    141170        } 
     171 
     172        if (kohde == vihollinen) 
     173        { 
     174            pelaajan1pisteet.Value += 1; 
     175            p2.Destroy(); 
     176            seuraavaKentta(); 
     177        } 
    142178          
    143179    } 
     
    147183        tasokorkeus = 0; 
    148184        tasoleveys = 150; 
    149         for (int i = 0; i < 140; i++) 
    150         { 
    151             tasokorkeus = tasokorkeus + 180 + tasokorkeutus; 
    152             lisaaTaso(RandomGen.NextDouble(Level.Left + 50, 0), Level.Bottom + tasokorkeus + RandomGen.NextDouble(30.0, 50.0), tasoleveys); 
    153             lisaaTaso(RandomGen.NextDouble(0, Level.Right - 50), Level.Bottom + tasokorkeus + RandomGen.NextDouble(10.0, 30.0), tasoleveys); 
     185        for (int i = 0; i < 145; i++) 
     186        { 
     187            tasokorkeus = tasokorkeus + 170 + tasokorkeutus; 
     188            lisaaTaso(RandomGen.NextDouble(Level.Left + 50, -150), Level.Bottom + tasokorkeus + RandomGen.NextDouble(10.0, 15.0), tasoleveys); 
     189            lisaaTaso(RandomGen.NextDouble(150, Level.Right - 50), Level.Bottom + tasokorkeus + RandomGen.NextDouble(5.0, 10.0), tasoleveys); 
    154190 
    155191            tasoleveys = tasoleveys - 1; 
    156192        } 
     193        tasokorkeus = 0; 
     194        tasoleveys = 150; 
     195        for (int h = 0; h < 75; h++) 
     196        { 
     197            tasokorkeus = tasokorkeus + 170 + tasokorkeutus; 
     198            lisaaTaso(RandomGen.NextDouble(150, -150), Level.Bottom + tasokorkeus + RandomGen.NextDouble(40.0, 55.0), tasoleveys); 
     199            tasoleveys = tasoleveys - 2; 
     200        } 
    157201 
    158202        LisaaDownReuna(Camera.Position.Y - 200); 
    159203 
    160         vasenReuna = Level.CreateLeftBorder(); 
    161         vasenReuna.Restitution = 0.0; 
    162         vasenReuna.IsVisible = false; 
    163  
    164         alaReuna = Level.CreateBottomBorder(); 
    165         vasenReuna.Restitution = 0.0; 
    166         vasenReuna.IsVisible = false; 
    167  
    168         oikeaReuna = Level.CreateRightBorder(); 
    169         vasenReuna.Restitution = 0.0; 
    170         vasenReuna.IsVisible = false; 
    171  
     204         
    172205        Level.Background.CreateGradient(Color.Beige, Color.Wheat); 
    173206 
     
    176209 
    177210        aikaLaskuri = new Timer();                     // luodaan uusi ajastin, nimeltä aikaLaskuri 
    178         aikaLaskuri.Interval = 5;                      // ajastukseksi 5 sekuntia 
     211        aikaLaskuri.Interval = 1;                      // ajastukseksi 5 sekuntia 
    179212        aikaLaskuri.Trigger += new Timer.TriggerHandler(aikaLoppui);  //   // asetetaan tapahtuma, kun aikaLaskuri kun 5 sekuntia on kulunut. 
    180213        Add(aikaLaskuri);                       // lisätään aikaLaskuri peliin 
    181214        aikaLaskuri.Start(); 
    182215 
    183         aikaLaskuri2 = new Timer();                     // luodaan uusi ajastin, nimeltä aikaLaskuri 
    184         aikaLaskuri2.Interval = 5;                      // ajastukseksi 5 sekuntia 
    185         aikaLaskuri2.Trigger += new Timer.TriggerHandler(aikaLoppui);  //   // asetetaan tapahtuma, kun aikaLaskuri kun 5 sekuntia on kulunut. 
    186         Add(aikaLaskuri2);                       // lisätään aikaLaskuri peliin 
    187         aikaLaskuri2.Start();  // käynnistetään aikaLaskuri 
    188  
    189         aikaNaytto = new ValueDisplay();         // luo uuden aikaNayton 
    190         aikaNaytto.Text = "Aikaa jäljellä: ";          // laitetaan näytöllä näkyvä teksti 
    191         aikaNaytto.TextColor = Color.Red;          // vaihdetaan tekstin väriä 
    192         aikaNaytto.FormatDouble(0, true);            // asetetaan näyttämään aika siten, ettei siinä näy yhtään (0) desimaalia 
    193         aikaNaytto.BindTo(aikaLaskuri.SecondCounter); // liitetään aikaNaytto aikaLaskuriin 
    194         Add(aikaNaytto);                             // lisätään aikaNaytto peliin 
    195  
    196216        kenttaNro = 0; 
    197217        Level.Width = 1024; 
     
    199219 
    200220        LisaaVihollinen(0.0, Level.Bottom + 500); 
    201         // Zoomataan lähemmäksi 
    202         //Camera.ZoomToLevel(); 
    203  
    204221        Camera.StayInLevel = true; 
    205  
    206222    } 
    207223 
     
    221237        pelaaja1 = new PlatformCharacter(40, 40); 
    222238        pelaaja1.Mass = 4.0; 
     239        pelaaja1.Shape = Shapes.Circle; 
    223240        pelaaja1.Image = LoadImage("smile jump(keltainen pelaaja) (2)"); 
    224241        pelaaja1.X = 0; 
     
    227244        pelaaja2 = new PlatformCharacter(40, 40); 
    228245        pelaaja2.Mass = 4.0; 
     246        pelaaja2.Shape = Shapes.Circle; 
    229247        pelaaja2.Image = LoadImage("smile jump (vihreä pelaaja) (2)"); 
    230248        pelaaja2.X = 50; 
     
    244262    void LisaaVihollinen(double x, double y) 
    245263    { 
    246         vihollinen = new PhysicsObject(50, 50); 
     264        vihollinen = new PhysicsObject(60, 60); 
    247265        vihollinen.Image = LoadImage("smile jump(vihollinen) (2)"); 
    248266        vihollinen.X = x; 
     
    250268        vihollinen.IgnoresCollisionResponse = true; 
    251269        vihollinen.IgnoresPhysicsLogics = true; 
    252         vihollinen.Velocity = new Vector(100.0, 0.0); 
    253          
     270        vihollinen.Velocity = new Vector(150.0, 0.0); 
    254271        Add(vihollinen); 
    255272 
     273        AddCollisionHandler(vihollinen, VihollisKaantyOR); 
     274        AddCollisionHandler(vihollinen, VihollisKaantyVR); 
    256275    } 
    257276 
    258277    private void aikaLoppui(Timer sender) 
    259278    { 
    260          
    261         MessageDisplay.Add("Aika loppui...");  // näytetään viestinäytöllä teksti 
    262         vihollinen.Velocity = new Vector(-100.0, 0.0); 
    263         aikaLaskuri.Reset();  // nollataan aikalaskuri oletusarvoonsa, joka oli 0. 
    264  
    265279        AddCollisionHandler(pelaaja1, p1piste); 
    266280        AddCollisionHandler(pelaaja2, p2piste); 
     
    268282    } 
    269283 
    270     private void aikaLoppui2(Timer sender) 
    271     { 
    272  
    273         vihollinen.Velocity = new Vector(100.0, 0.0); 
    274         aikaLaskuri2.Reset();  // nollataan aikalaskuri oletusarvoonsa, joka oli 0. 
    275  
    276     } 
    277284 
    278285 
Note: See TracChangeset for help on using the changeset viewer.