Ignore:
Timestamp:
2011-06-14 14:57:25 (12 years ago)
Author:
ekeimaja
Message:

Nyt on kartta lähes valmiina, hahmot samaten.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2011/24/EkiM/nimeton/nimeton/nimeton/Peli.cs

    r1963 r1988  
    44using System.Text; 
    55using Jypeli; 
    6  
    7 class Peli : Game 
     6using Jypeli.Widgets; 
     7 
     8class Peli : PhysicsGame 
    89{ 
    9       Image seinanKuva = LoadImage("seina"); 
    10  
    11       const int ruudunLeveys = 70; 
    12       const int ruudunKorkeus = 70; 
     10      Image seinaoikeanKuva = LoadImage("seinaoikea"); 
     11      Image seinavasemmanKuva = LoadImage("seinavasen"); 
     12      Image lattianKuva = LoadImage("lattia"); 
     13      Image koydenKuva = LoadImage("koysi"); 
     14      Image nostinKuva = LoadImage("nostin"); 
     15      Image tikkaatKuva = LoadImage("tikkaat"); 
     16      Image lattiatikkaatKuva = LoadImage("lattiatikkaat"); 
     17      Image pelaajaKuva = LoadImage("ukko"); 
     18      Image vihunKuva = LoadImage("vihu1"); 
     19 
     20      PlatformCharacter pelaaja; 
     21      PhysicsObject vihu1; 
     22      MessageWindow kysymysIkkuna; 
     23 
    1324 
    1425    public override void Begin() 
    1526    { 
    16         LuoSeina(); 
    17         //LuoLattia(); 
    18         /* 
    19         GameObject Seina; 
    20         GameObject Lattia; 
    21         GameObject Koysi; 
    22         GameObject Hissi; 
    23         GameObject Nostin; 
    24         GameObject Ovi; 
    25         GameObject Putki; 
    26         GameObject Tikkaat; 
    27         * */ 
     27        Gravity = new Vector(0.0, -500.0); 
     28        LataaKentta("map.txt"); 
     29        Camera.ZoomToLevel(); 
     30 
     31        LuoOhjain(); 
    2832    } 
    2933         
     
    3236 
    3337         TileMap merkit = TileMap.FromFile(map); 
    34         /* 
    35         merkit['|'] = LuoSeina; 
    36         merkit['_'] = LuoLattia; 
    37         merkit['I'] = LuoKoysi; 
    38         merkit['E'] = LuoHissi; 
    39         merkit['L'] = LuoNostin; 
    40          * */ 
    41         } 
    42  
    43     void LuoSeina() 
    44     { 
    45         PhysicsObject seina = PhysicsObject.CreateStaticObject(70, 70); 
    46         seina.Image = seinanKuva; 
    47         Add(seina); 
    48     } 
     38 
     39         merkit.SetTileMethod('P', LuoPelaaja); 
     40         merkit.SetTileMethod('V', LuoVihu); 
     41         merkit.SetTileMethod('|', LuoSeinaoikea); 
     42         merkit.SetTileMethod('i', LuoSeinavasen); 
     43         merkit.SetTileMethod('_', LuoLattia); 
     44         merkit.SetTileMethod('L', LuoNostin); 
     45         merkit.SetTileMethod('H', LuoTikkaat); 
     46         merkit.SetTileMethod('h', LuoLattiatikkaat); 
     47          
     48         merkit.Execute(70, 70); 
     49 
     50        } 
     51    void LuoPelaaja(Vector paikka, double leveys, double korkeus) 
     52        { 
     53            pelaaja = new PlatformCharacter(40, 62); 
     54            pelaaja.CanRotate = false; 
     55            pelaaja.Mass = 40.0; 
     56            pelaaja.Position = paikka; 
     57            pelaaja.Image = pelaajaKuva; 
     58            AddCollisionHandler(pelaaja, VihuunTormays); 
     59            Add(pelaaja); 
     60 
     61        } 
     62    void LuoVihu(Vector paikka, double leveys, double korkeus) 
     63    { 
     64        vihu1 = new PhysicsObject(40, 62); 
     65        vihu1.CanRotate = false; 
     66        vihu1.Mass = 40.0; 
     67        vihu1.Position = paikka; 
     68        vihu1.Image = vihunKuva; 
     69        Add(vihu1); 
     70 
     71    } 
     72    void VihuunTormays(PhysicsObject pelaaja, PhysicsObject kohde) 
     73    { 
     74        IsMouseVisible = true; 
     75        if (kohde == vihu1) 
     76        { 
     77            InputWindow kysymysIkkuna = new InputWindow("Kysymys", "Nimesi?"); 
     78            kysymysIkkuna.TextEntered += vastaus; 
     79            Add(kysymysIkkuna); 
     80        } 
     81    } 
     82 
     83    void vastaus(InputWindow Ikkuna) 
     84    { 
     85        string vastaus = Ikkuna.InputBox.Text; 
     86        kysymysIkkuna = new MessageWindow("Kysymys", "Hmm...en muista ketään tuon nimistä täällä..."); 
     87        kysymysIkkuna.Closed += new Jypeli.Widgets.Window.WindowHandler(kysymysIkkuna_Closed); 
     88 
     89        Add(kysymysIkkuna); 
     90    } 
     91 
     92    void kysymysIkkuna_Closed(Window sender) 
     93    { 
     94        kysymysIkkuna = new MessageWindow("Kysymys", "Oletko uusi talossa?"); 
     95        kysymysIkkuna.OKButton.Text="Kyllä olen"; 
     96         
     97        Add(kysymysIkkuna); 
     98    } 
     99 
     100 
     101    void LuoSeinaoikea(Vector paikka, double leveys, double korkeus) 
     102    { 
     103        PhysicsObject seinaoikea = PhysicsObject.CreateStaticObject(70, 70); 
     104        seinaoikea.Position = paikka; 
     105        seinaoikea.Image = seinaoikeanKuva; 
     106        Add(seinaoikea); 
     107    } 
     108         
     109        void LuoSeinavasen(Vector paikka, double leveys, double korkeus) 
     110 
     111    { 
     112        PhysicsObject seinavasen = PhysicsObject.CreateStaticObject(70, 70); 
     113        seinavasen.Position = paikka; 
     114        seinavasen.Image = seinavasemmanKuva; 
     115        Add(seinavasen); 
     116 
     117    } 
     118 
     119    void LuoLattia(Vector paikka, double leveys, double korkeus) 
     120    { 
     121        PhysicsObject lattia = PhysicsObject.CreateStaticObject(70, 10); 
     122        lattia.Position = paikka; 
     123        lattia.Image = lattianKuva; 
     124        Add(lattia); 
     125    } 
     126 
     127    void LuoNostin(Vector paikka, double leveys, double korkeus) 
     128    { 
     129        PhysicsObject nostin = new PhysicsObject(69, 10); 
     130        nostin.Position = paikka; 
     131        nostin.Image = nostinKuva; 
     132        nostin.IgnoresPhysicsLogics = true; 
     133        nostin.CanRotate = false; 
     134        nostin.Mass = 10000; 
     135        nostin.Velocity = new Vector(0.0, 90.0); 
     136        AddCollisionHandler(nostin, SeinaanTormays); 
     137        Add(nostin); 
     138 
     139    } 
     140 
     141    void SeinaanTormays(PhysicsObject nostin, PhysicsObject seinavasen) 
     142    { 
     143        nostin.Velocity = -nostin.Velocity; 
     144    } 
     145 
     146 
     147    void LuoTikkaat(Vector paikka, double leveys, double korkeus) 
     148    { 
     149        PhysicsObject tikkaat = PhysicsObject.CreateStaticObject(35, 150); 
     150        tikkaat.Position = paikka; 
     151        tikkaat.Image = tikkaatKuva; 
     152        Add(tikkaat); 
     153    } 
     154    void LuoLattiatikkaat(Vector paikka, double leveys, double korkeus) 
     155        { 
     156            PhysicsObject lattiatikkaat = PhysicsObject.CreateStaticObject(70, 70); 
     157            lattiatikkaat.Position = paikka; 
     158            lattiatikkaat.Image = lattiatikkaatKuva; 
     159            Add(lattiatikkaat); 
     160        } 
     161 
     162    void LuoOhjain() 
     163    { 
     164        //näppäin alhaalla 
     165        Keyboard.Listen(Key.Left, ButtonState.Down, pelaaja.Walk, null, -100.0); 
     166        Keyboard.Listen(Key.Right, ButtonState.Down, pelaaja.Walk, null, 100.0); 
     167        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaaYlos, null); 
     168        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaaAlas, null); 
     169 
     170        //näppäin ylhäällä 
     171        Keyboard.Listen(Key.Left, ButtonState.Released, pelaaja.StopHorizontal, null); 
     172        Keyboard.Listen(Key.Right, ButtonState.Released, pelaaja.StopHorizontal, null); 
     173        Keyboard.Listen(Key.Up, ButtonState.Released, pelaaja.StopVertical, null); 
     174        Keyboard.Listen(Key.Down, ButtonState.Released, pelaaja.StopVertical, null); 
     175    } 
     176 
     177 
     178        void LiikutaPelaajaaVasemmalle() 
     179        { 
     180            pelaaja.Hit(new Vector(-100, 0)); 
     181        } 
     182 
     183        void LiikutaPelaajaaOikealle() 
     184        { 
     185            pelaaja.Hit(new Vector(100, 0)); 
     186        } 
     187 
     188        void LiikutaPelaajaaYlos() 
     189        { 
     190            pelaaja.Jump (90); 
     191        } 
     192 
     193        void LiikutaPelaajaaAlas() 
     194        { 
     195            pelaaja.Hit(new Vector(0, -100)); 
     196        } 
     197 
     198 
     199 
     200 
    49201 
    50202} 
Note: See TracChangeset for help on using the changeset viewer.