Ignore:
Timestamp:
2015-07-03 12:07:02 (4 years ago)
Author:
misakana
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2015/27/AnttiV/hyppelypeli/hyppelypeli/hyppelypeli/hyppelypeli.cs

    r6761 r6789  
    1515    int kenttaNro = 1; 
    1616 
     17    IntMeter pisteLaskuri; 
     18 
     19    //random shaishet 
    1720    const double nopeus = 600; 
    1821    const double hyppyNopeus = 750; 
     
    2124    bool kaksinpelattava = true; 
    2225 
     26    //pelaajat 
    2327    PlatformCharacter pelaaja1; 
    2428    PlatformCharacter pelaaja2; 
    2529 
     30    //krafiikat 
    2631    Image pelaajanKuva = LoadImage("2"); 
    27     Image pelaaja2Kuva = LoadImage(""); 
     32    Image pelaaja1Kuva = LoadImage("player1var"); 
     33    Image pelaaja2Kuva = LoadImage("player2var"); 
    2834    Image vihuKuva = LoadImage("vihu"); 
    2935    Image piikkiKuva = LoadImage("piikki"); 
    3036    Image taustaKuva = LoadImage("background-city"); 
    3137    Image lippuKuva = LoadImage("lippu"); 
    32     // Image[] kavelykuvat = LoadImages("1var", "2", "3"); 
    3338    Image hyppyKuva = LoadImage("1var"); 
    34     Image tausta2Kuva = LoadImage("jungle"); 
    35  
     39    Image tausta2Kuva = LoadImage("background"); 
     40    Image voileipaKuva = LoadImage("sandwich"); 
     41    Image tekstiKuva = LoadImage("naita"); 
     42    Image teksti2Kuva = LoadImage("teksti"); 
     43 
     44    //ääniefektit 
    3645    SoundEffect maaliAani = LoadSoundEffect("maali"); 
    37     SoundEffect taustamusiikki = LoadSoundEffect("hissimusiikkia"); 
     46    SoundEffect kuolemaaani = LoadSoundEffect("kuolema"); 
     47 
    3848 
    3949    Vector checkpoint; 
     
    4252    public override void Begin() 
    4353    { 
     54        //tautamusiikki 
     55        MediaPlayer.Play("hissimusiikkia"); 
     56        MediaPlayer.IsRepeating = true; 
     57 
    4458        //AloitaPeli(); 
    4559        //SeuraavaKentta(); 
    4660        Valikko(); 
     61         
    4762    } 
    4863 
    4964    void LuoKentta(string kentannimi) 
    5065    { 
    51  
     66        //kenttä krafiikat 
    5267        TileMap kentta = TileMap.FromLevelAsset(kentannimi); 
    5368        kentta.SetTileMethod('#', LisaaTaso); 
     
    5873        kentta.SetTileMethod('V', LisaaVoitto); 
    5974        kentta.SetTileMethod('A', LisaaAlku); 
     75        kentta.SetTileMethod('v', LisaaVoileipa); 
     76        kentta.SetTileMethod('t', LisaaTeksti); 
     77        kentta.SetTileMethod('T', LisaaTeksti2); 
    6078        if (kaksinpelattava) 
    6179        { kentta.SetTileMethod('H', LisaaPelaaja2); } 
     
    6886    void LisaaPiikki(Vector paikka, double leveys, double korkeus) 
    6987    { 
     88        //piikin lisääminen 
    7089        PhysicsObject piikki = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    7190        piikki.Position = paikka; 
     
    7796    } 
    7897 
     98    void LisaaTeksti(Vector paikka, double leveys, double korkeus) 
     99    { 
     100        PhysicsObject teksti = PhysicsObject.CreateStaticObject(leveys *4, korkeus); 
     101        teksti.Position = paikka; 
     102        teksti.Image = tekstiKuva; 
     103        teksti.Tag = "naita"; 
     104        Add(teksti); 
     105        teksti.IgnoresCollisionResponse = true; 
     106    } 
     107 
     108    void LisaaTeksti2(Vector paikka, double leveys, double korkeus) 
     109    { 
     110        PhysicsObject teksti2 = PhysicsObject.CreateStaticObject(leveys * 4, korkeus); 
     111        teksti2.Position = paikka; 
     112        teksti2.Image = tekstiKuva; 
     113        teksti2.Tag = "teksti"; 
     114        Add(teksti2); 
     115        teksti2.IgnoresCollisionResponse = true; 
     116    } 
     117 
     118    void KeraaVoileipa(PhysicsObject pelaaja, PhysicsObject voileipa) 
     119    { 
     120        voileipa.Destroy(); 
     121        pisteLaskuri.Value += 1; 
     122 
     123    } 
     124 
     125    void LuoPistelaskuri() 
     126    { 
     127        //pistelaskurin luonti 
     128        pisteLaskuri = new IntMeter(0); 
     129 
     130        Label pistenaytto = new Label();  
     131        pistenaytto.X = Screen.Left + 100; 
     132        pistenaytto.Y = Screen.Top - 100; 
     133        pistenaytto.TextColor = Color.Black; 
     134        pistenaytto.Color = Color.White; 
     135        pistenaytto.IntFormatString = "voileivät : {0}"; 
     136 
     137        pistenaytto.BindTo(pisteLaskuri); 
     138        Add(pistenaytto); 
     139 
     140    } 
     141 
     142 
    79143    void LisaaTaso(Vector paikka, double leveys, double korkeus) 
    80144    { 
     145        //tasonluonti 
    81146        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    82147        taso.Position = paikka; 
    83148        taso.Color = Color.Green; 
    84149        Add(taso); 
    85         Image tasoKuva = LoadImage("platform"); 
     150        Image tasoKuva = LoadImage("mario"); 
    86151        taso.Image = tasoKuva; 
    87152         
     
    90155    void LisaaVihu(Vector paikka, double leveys, double korkeus) 
    91156    { 
     157        //vihunlisääminen 
    92158        PlatformCharacter vihu = new PlatformCharacter(leveys, korkeus); 
    93159        vihu.Position = paikka; 
     
    116182    { 
    117183        pelaaja1 = Luopelaaja(paikka, leveys, korkeus); 
    118  
     184        pelaaja1.Image = pelaajanKuva; 
     185 
     186        if (kaksinpelattava) 
     187        { 
     188            pelaaja1.Image = pelaaja1Kuva; 
     189        } 
    119190    } 
    120191 
     
    122193    { 
    123194        pelaaja2 = Luopelaaja(paikka, leveys, korkeus); 
     195        pelaaja2.Image = pelaaja2Kuva; 
    124196    } 
    125197    PlatformCharacter Luopelaaja(Vector paikka, double leveys, double korkeus) 
     
    129201        pelaaja.Position = paikka; 
    130202        pelaaja.Mass = 4.0; 
    131         pelaaja.Image = pelaajanKuva; 
    132         //pelaaja1.AnimWalk = new Animation(kavelykuvat); 
    133         pelaaja.AnimJump = new Animation(hyppyKuva); 
    134203        Add(pelaaja); 
    135204 
     205        //pelaajan törmäyskäsittelijät 
    136206        AddCollisionHandler(pelaaja, "vihu", TormaaVihuun); 
    137207        AddCollisionHandler(pelaaja, "lippu", TormaaLippuun); 
    138208        AddCollisionHandler(pelaaja, "piikki", TormaaPiikkiin); 
     209        AddCollisionHandler(pelaaja, "voileipa", KeraaVoileipa); 
    139210        checkpoint = paikka; 
    140211        AddCollisionHandler(pelaaja, "voitto", VoititPelin); 
     
    150221        Keyboard.Listen(Key.R, ButtonState.Pressed, Restart, "Restart"); 
    151222        Keyboard.Listen(Key.I, ButtonState.Pressed, Valikkoon, "Valikkoon"); 
     223 
    152224        //pelaaja1 
    153225        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
     
    159231        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 
    160232        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     233 
    161234        //pelaaja2 
    162235        if (kaksinpelattava) 
     
    171244        } 
    172245    } 
    173  
     246    //pelaajien toiminnot 
    174247    void Liikuta(PlatformCharacter hahmo, double nopeus) 
    175248    { 
     
    234307    { 
    235308        pelaaja1.Position = checkpoint; 
    236         pelaaja2.Position = checkpoint; 
     309 
     310        if (pelaaja2 != null) 
     311        { 
     312            pelaaja2.Position = checkpoint; 
     313        } 
    237314 
    238315 
     
    251328    } 
    252329 
     330    void LisaaVoileipa(Vector paikka, double leveys, double korkeus) 
     331    { 
     332        //kerättävät leivät 
     333        PhysicsObject voileipa = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     334        voileipa.Position = paikka; 
     335        voileipa.Image = voileipaKuva; 
     336        Add(voileipa); 
     337        voileipa.Tag = "voileipa"; 
     338    } 
     339 
    253340    void VoititPelin(PhysicsObject pelaaja, PhysicsObject maali) 
    254341    { 
     342        //kentänläpiveto 
    255343        MessageDisplay.Add("Kenttä läpi!"); 
    256344        kenttaNro++; 
     
    265353        pelikaynnissa = true; 
    266354 
     355        //kentänläpiveto 
    267356        if (kenttaNro == 1) LuoKentta("kentta1"); 
    268357        else if (kenttaNro == 2) LuoKentta("kentta2"); 
     
    271360 
    272361        LisaaNappaimet(); 
    273  
     362        LuoPistelaskuri(); 
    274363 
    275364        Gravity = new Vector(0, -1000); 
    276365 
    277  
     366        //kameran toiminnot 
    278367        Camera.Follow(pelaaja1); 
    279368        Camera.ZoomFactor = 1.2; 
     
    293382    void Valikko() 
    294383    { 
     384        //valikko 
    295385        Mouse.IsCursorVisible = true; 
    296386 
     
    306396        kohta2.Position = new Vector(0, 0); 
    307397        valikonKohdat.Add(kohta2); 
    308         //Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, ParhaatPisteet, null); 
    309398 
    310399 
     
    375464    PhysicsObject alku = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    376465    alku.Tag = "alku"; 
    377     PhysicsObject alku1 = new PhysicsObject(40.0, 40.0); 
    378466    alku.Position = alkupaikka; 
    379467    alku.IgnoresCollisionResponse = true; 
Note: See TracChangeset for help on using the changeset viewer.