Changeset 4119 for 2013


Ignore:
Timestamp:
2013-06-13 14:26:06 (6 years ago)
Author:
betiterv
Message:

Talletus.

Location:
2013/24/BenjaminT/Numerohyppy/Numerohyppy
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • 2013/24/BenjaminT/Numerohyppy/Numerohyppy/Numerohyppy/Numerohyppy.cs

    r4091 r4119  
    77using Jypeli.Widgets; 
    88 
     9public class Pelaaja : PlatformCharacter 
     10{ 
     11    public PhysicsObject viimeksiKoskettuLuukku; 
     12    public Pelaaja(double leveys, double korkeus) 
     13        : base(leveys, korkeus) 
     14    { 
     15 
     16    } 
     17} 
     18 
    919public class Numerohyppy : PhysicsGame 
    1020{ 
     
    1323    const int RUUDUN_KOKO = 40; 
    1424 
    15     PlatformCharacter pelaaja1; 
     25    Pelaaja pelaaja1; 
    1626 
    1727    Image pelaajanKuva = LoadImage("pelaaja2"); 
     
    2939 
    3040        Camera.Follow(pelaaja1); 
    31         Camera.ZoomFactor = 1.2; 
     41        Camera.ZoomFactor = 3.0; 
    3242        Camera.StayInLevel = true; 
    3343    } 
     
    4050        kentta.SetTileMethod('N', LisaaPelaaja); 
    4151        kentta.SetTileMethod('-', LisaaLuukku); 
    42         kentta.SetTileMethod('/', LisaaPikki); 
    43         kentta.SetTileMethod(' B', LisaaMaali); 
     52        kentta.SetTileMethod('/', LisaaPiikki); 
     53        kentta.SetTileMethod('B', LisaaMaali); 
     54        kentta.SetTileMethod('+', LisaaNakymatonSeina); 
    4455        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    4556        Level.CreateBorders(); 
    4657        Level.Background.CreateGradient(Color.Orange, Color.Green); 
     58    } 
     59 
     60    void LisaaNakymatonSeina(Vector paikka, double leveys, double korkeus) 
     61    { 
     62        PhysicsObject seina = PhysicsObject.CreateStaticObject(leveys, korkeus * 5); 
     63        seina.Position = paikka; 
     64        seina.Color = Color.DarkBlue; 
     65        seina.Tag = "löllö"; 
     66        seina.IsVisible = false; 
     67        Add(seina); 
    4768    } 
    4869 
     
    6788    void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    6889    { 
    69         pelaaja1 = new PlatformCharacter(leveys, korkeus); 
     90        pelaaja1 = new Pelaaja(leveys, korkeus); 
    7091        pelaaja1.Position = paikka; 
    7192        pelaaja1.Mass = 4.0; 
    7293        pelaaja1.Image = pelaajanKuva; 
    73         AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
     94        AddCollisionHandler<Pelaaja, PhysicsObject>(pelaaja1, "löllö", TormaaSeina); 
     95        AddCollisionHandler(pelaaja1, "maali", TormaaMaaliin); 
     96        AddCollisionHandler<Pelaaja, PhysicsObject>(pelaaja1, "luukku", delegate(Pelaaja p, PhysicsObject luukku) { pelaaja1.viimeksiKoskettuLuukku = luukku; }); 
     97        AddCollisionHandler<PhysicsObject, PhysicsObject>(pelaaja1, "piikki", delegate { ClearAll(); Begin(); }); 
    7498        Add(pelaaja1); 
    7599    } 
     
    77101    void LisaaLuukku(Vector paikka, double leveys, double korkeus) 
    78102    { 
    79  
    80103        PhysicsObject luukku2 = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    81104        luukku2.Position = paikka; 
     
    84107        Add(luukku2); 
    85108    } 
    86       void LisaaPikki(Vector paikka, double leveys, double korkeus) 
    87       { 
    88          PhysicsObject pikki = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    89          pikki.Position = paikka; 
    90          pikki.Image = pikkiKuva; 
    91          pikki.Tag = "pikki"; 
    92          Add(pikki);  
    93       } 
    94          void LisaaMaali(Vector paikka, double leveys, double korkeus) 
    95          { 
    96             
    97             PhysicsObject maali = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    98          maali.Position = paikka; 
    99          maali.Image = pikkiKuva; 
    100          maali.Tag = "maali"; 
    101          Add(maali); 
    102        
    103          } 
    104            void LisaaNappaimet() 
     109 
     110    void LisaaPiikki(Vector paikka, double leveys, double korkeus) 
     111    { 
     112        PhysicsObject pikki = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     113        pikki.Position = paikka; 
     114        pikki.Image = pikkiKuva; 
     115        pikki.Tag = "piikki"; 
     116        Add(pikki); 
     117    } 
     118 
     119    void LisaaMaali(Vector paikka, double leveys, double korkeus) 
     120    { 
     121        PhysicsObject maali = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     122        maali.Position = paikka; 
     123        maali.Tag = "maali"; 
     124        Add(maali); 
     125    } 
     126 
     127    void TormaaSeina(Pelaaja pelaaja, PhysicsObject kohde) 
     128    { 
     129        kohde.Destroy(); 
     130 
     131        int luku1 = RandomGen.NextInt(100); 
     132        int luku2 = RandomGen.NextInt(100); 
     133        InputWindow kysymysIkkuna = new InputWindow(luku1 + " + " + luku2); 
     134        kysymysIkkuna.TextEntered += delegate 
     135        { 
     136            ProcessInput(pelaaja, kysymysIkkuna, luku1 + luku2); 
     137        }; 
     138        Add(kysymysIkkuna); 
     139 
     140    } 
     141 
     142    void ProcessInput(Pelaaja pelaaja, InputWindow ikkuna, int kysymys) 
     143    { 
     144        string vastaus = ikkuna.InputBox.Text; 
     145 
     146        if (vastaus != kysymys.ToString()) 
     147        { 
     148            pelaaja.viimeksiKoskettuLuukku.Destroy(); 
     149            pelaaja1.IgnoresCollisionResponse = true; 
     150            //AddCollisionHandler(pelaaja1, "luukku", TormaaLuukku); 
     151 
     152            pelaaja1.Hit(new Vector(0, -1000)); 
     153            //ClearAll(); 
     154            //Begin(); 
     155        } 
     156        // tehdään jotain vastauksella 
     157    } 
     158 
     159    void TormaaLuukku(PhysicsObject tormaaja, PhysicsObject kohde) 
     160    { 
     161        kohde.Destroy(); 
     162    } 
     163 
     164    void TormaaMaaliin(PhysicsObject tormaaja, PhysicsObject kohde) 
     165    { 
     166        ClearAll(); 
     167        Label l = new Label("Voitit pelin, onneksi olkoon!!!"); 
     168        Add(l); 
     169        Timer.SingleShot(3.0, delegate 
     170        { 
     171            Level.Size = new Vector(1024, 768); 
     172            GameObject g = new GameObject(Level.Width, Level.Height); 
     173            g.Color = Color.Black; 
     174            Add(g); 
     175            Camera.ZoomToLevel(); 
     176 
     177            Timer t = new Timer(); 
     178            t.Interval = 0.1; 
     179            t.Timeout += delegate 
     180            { 
     181                g.FadeColorTo(Color.White, 0.05); 
     182                Timer.SingleShot(0.05, delegate { g.FadeColorTo(RandomGen.NextColor(), 0.05); }); 
     183            }; 
     184            t.Start(60); 
     185            Timer.SingleShot(3.0, delegate 
     186            { 
     187                Explosion e = new Explosion(5000); 
     188                Add(e); 
     189            }); 
     190        }); 
     191 
     192    } 
     193 
     194    void LisaaNappaimet() 
    105195    { 
    106196        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
  • 2013/24/BenjaminT/Numerohyppy/Numerohyppy/NumerohyppyContent/kentta1.txt

    r4091 r4119  
    11 
    22 
     3                     
    34 
     5                     
    46 
    5  
    6 ###############                                 ###################### 
    7 N      #               ####--#--#--#--#--##           #     #     # 
    8                      ######              ###                        B    
    9 #########//################//////////////###########//####//####//#### 
     7                                                    ############ 
     8                                                        # 
     9                              . . . . .        #                       / 
     10                              . . . . .        #   ###  ###  #####   #######   ##     ##   ##### 
     11                              + + + + +        ##  ###//###//######//#######               #####// 
     12                              . . . . .         ##                         # //////////////############B# 
     13###################           . . . . .          ####################      # 
     14N      #                 ####-#-#-#-#-#####            #     #     #     ### 
     15                       #####           #######                         #/### 
     16#########  #################///////////##############  ####  ####  ######### 
     17#########//##########################################//####//####//######### 
Note: See TracChangeset for help on using the changeset viewer.