Ignore:
Timestamp:
2012-06-08 13:39:57 (9 years ago)
Author:
anlakane
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2012/23/AtteH/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1.cs

    r2806 r2887  
    1414 
    1515    PlatformCharacter pelaaja1; 
     16    Vector pelaaja1paikka; 
     17    bool onkoPeliFullS = false; 
     18    string mikaTaso = "Kenttä 1"; 
    1619 
    1720    Image pelaajanKuva = LoadImage("Hahmo"); 
    18     Image tahtiKuva = LoadImage("tahti"); 
    19     SoundEffect maaliAani = LoadSoundEffect("maali"); 
     21    Image tykkiKuva = LoadImage("Tukki"); 
     22    Image esteKuva = LoadImage("Este"); 
     23    Image textuuriKuva = LoadImage("Textuuri"); 
     24    Image mamaKuva = LoadImage("Mama"); 
     25    SoundEffect arghAani = LoadSoundEffect("argh"); 
    2026    Image paikallaanVasemmalle = LoadImage("HahmoReverse"); 
    2127    Image paikalleOikealle = LoadImage("Hahmo"); 
     
    2531    public override void Begin() 
    2632    { 
    27         Gravity = new Vector(0, -1750); 
    28  
    29         luoKentta(); 
    30         lisaaNappaimet(); 
    31  
    32         Camera.Follow(pelaaja1); 
    33         Camera.ZoomFactor = 1.5; 
    34         Camera.StayInLevel = true; 
     33        Gravity = new Vector(0, -1850); 
     34        SetWindowSize(1024, 768, false); 
     35         
     36 
     37 
     38        MultiSelectWindow valikko = new MultiSelectWindow("Tervetuloa peliin", 
     39        "Kenttä 1","Kenttä 2", "Lopeta"); 
     40        valikko.ItemSelected += PainettiinValikonNappia; 
     41        Add(valikko); 
     42        valikko.DefaultCancel = 3; 
     43        valikko.Color = Color.DarkRed; 
     44 
     45        MediaPlayer.Play("8bit Dungeon Level"); 
     46 
     47        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     48        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     49 
     50 
     51    } 
     52 
     53    void Fullscreen() 
     54    { 
     55        if (onkoPeliFullS) // jos on koko ruutu 
     56        { 
     57            SetWindowSize(1024, 768, false); onkoPeliFullS = false; 
     58            return; 
     59        } 
     60         
     61         
     62        //SetWindowSize((int)Screen.Width, (int)Screen.Height, true); onkoPeliFullS = true; 
     63        int w = Microsoft.Xna.Framework.Graphics.GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width; 
     64        int h = Microsoft.Xna.Framework.Graphics.GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height; 
     65        SetWindowSize(w, h, true); onkoPeliFullS = true; 
     66        MessageDisplay.Add(Screen.Width + ", " + Screen.Height); 
    3567    } 
    3668 
    3769    void luoKentta() 
    3870    { 
    39         TileMap kentta = TileMap.FromFile("kentta1.txt"); 
     71        TileMap kentta = TileMap.FromLevelAsset(mikaTaso); 
    4072        kentta.SetTileMethod('#', lisaaTaso); 
    41         kentta.SetTileMethod('*', lisaaTahti); 
    4273        kentta.SetTileMethod('N', lisaaPelaaja); 
    4374        kentta.SetTileMethod('E', lisaaPiikki); 
     75        kentta.SetTileMethod('R', lisaaEste); 
     76        kentta.SetTileMethod('D', lisaaApu); 
     77        kentta.SetTileMethod('S', lisaaMama); 
    4478        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    4579        Level.CreateBorders(); 
    46         Level.Background.CreateGradient(Color.White, Color.SkyBlue); 
     80        Level.Background.CreateGradient(Color.White, Color.Green); 
    4781    } 
    4882 
     
    5185        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    5286        taso.Position = paikka; 
    53         taso.Color = Color.Gray; 
     87        taso.Image = textuuriKuva; 
    5488        Add(taso); 
    5589    } 
    5690 
    57     void lisaaTahti(Vector paikka, double leveys, double korkeus) 
    58     { 
    59         PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    60         tahti.IgnoresCollisionResponse = true; 
    61         tahti.Position = paikka; 
    62         tahti.Image = tahtiKuva; 
    63         tahti.Tag = "tahti"; 
    64         Add(tahti); 
     91    void lisaaEste(Vector paikka, double leveys, double korkeus) 
     92    { 
     93        PhysicsObject este = PhysicsObject.CreateStaticObject(korkeus, leveys); 
     94        este.Position = paikka; 
     95        este.Tag = "Vaara"; 
     96        este.Image = esteKuva; 
     97        este.Shape = Shape.Triangle; 
     98        Add(este); 
     99    } 
     100    void PainettiinValikonNappia(int valinta) 
     101    { 
     102        switch (valinta) 
     103        { 
     104            case 0: 
     105                mikaTaso = "Kenttä 1"; 
     106                luoKentta(); 
     107                lisaaNappaimet(); 
     108                Camera.Follow(pelaaja1); 
     109                Camera.ZoomFactor = 1.5; 
     110                Camera.StayInLevel = true; 
     111                break; 
     112            case 1: 
     113                mikaTaso = "Kenttä 2"; 
     114                luoKentta(); 
     115                lisaaNappaimet(); 
     116                Camera.Follow(pelaaja1); 
     117                Camera.ZoomFactor = 1.5; 
     118                Camera.StayInLevel = true; 
     119                break; 
     120            case 2: 
     121                Exit(); 
     122                break; 
     123        } 
    65124    } 
    66125 
     
    69128        pelaaja1 = new PlatformCharacter(leveys, korkeus); 
    70129        pelaaja1.Position = paikka; 
     130        pelaaja1paikka = paikka; 
    71131        pelaaja1.Mass = 4.0; 
    72132        pelaaja1.Image = pelaajanKuva; 
    73133        AddCollisionHandler(pelaaja1, kasittelePelaajanTormays); 
    74134        Add(pelaaja1); 
     135        pelaaja1.Tag = "Tyyppi"; 
     136 
     137 
    75138    } 
    76139    void lisaaPiikki(Vector paikka, double leveys, double korkeus) 
     
    80143        piikki.Shape = Shape.Triangle; 
    81144        piikki.Color = Color.LightGray; 
    82         piikki.Tag = "Piikki"; 
     145        piikki.Tag = "Vaara"; 
    83146        Add(piikki); 
    84147    } 
     148    void lisaaMama(Vector paikka, double leveys, double korkeus) 
     149    { 
     150        PhysicsObject mama = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     151        mama.Image = mamaKuva; 
     152        mama.Position = paikka; 
     153        Add(mama); 
     154        mama.Tag = "Voitto"; 
     155    } 
     156    void lisaaApu(Vector paikka, double leveys, double korkeus) 
     157    { 
     158        PhysicsObject apu = new PhysicsObject(50, 50); 
     159        apu.Shape = Shape.Pentagon; 
     160        apu.Color = Color.DarkBrown; 
     161        Add(apu); 
     162        apu.Position = paikka; 
     163 
     164    } 
    85165 
    86166 
     
    89169    { 
    90170        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    91         Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä"); 
    92         Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     171        Keyboard.Listen(Key.F11, ButtonState.Pressed, Fullscreen, null);//Säätää fullscreeniin 
    93172 
    94173        Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
     
    120199    } 
    121200 
     201 
    122202    void kasittelePelaajanTormays(PhysicsObject hahmo, PhysicsObject kohde) 
    123203    { 
    124         if (kohde.Tag.ToString() == "Piikki") 
    125         { 
    126             maaliAani.Play(); 
     204        if (kohde.Tag.ToString() == "Vaara") 
     205        { 
     206            arghAani.Play(); 
    127207            Label umad = new Label(); 
     208 
     209            umad.TextColor = Color.Crimson; 
     210            umad.Font = Font.DefaultLarge; 
     211            umad.Text = "Kuolit!"; 
     212            umad.MaximumLifetime = new TimeSpan(0, 0, 1); 
     213            hahmo.Position = pelaaja1paikka; 
     214 
    128215            umad.TextColor = Color.Pink; 
    129216            umad.Text = "Hävisit <3"; 
    130217            hahmo.Destroy(); 
     218 
    131219            Add(umad); 
    132         } 
    133  
    134  
     220 
     221        } 
     222        if (kohde.Tag.ToString() == "Voitto") 
     223        { 
     224            Timer.SingleShot(2.0, Pox); 
     225            Widget Win = new Widget(LoadImage("Voittokuva")); 
     226            Add(Win); 
     227            ClearControls(); 
     228            Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     229            Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     230        } 
     231 
     232    } 
     233    void Pox() 
     234    { 
     235        Explosion pox = new Explosion(500); 
     236        Add(pox); 
     237        pox.Position = pelaaja1.Position; 
     238        pelaaja1.Destroy(); 
    135239 
    136240    } 
Note: See TracChangeset for help on using the changeset viewer.