Changeset 1879


Ignore:
Timestamp:
2011-06-10 11:35:45 (8 years ago)
Author:
joaamaka
Message:
 
Location:
2011/23/mikmatla/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • 2011/23/mikmatla/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Peli.cs

    r1830 r1879  
    77using Jypeli.Widgets; 
    88 
     9class Nappi : PhysicsObject 
     10{ 
     11    public char Merkki; 
     12 
     13    public Nappi(double leveys, double korkeus) 
     14        : base(leveys, korkeus) 
     15    { 
     16        MakeStatic(); 
     17    } 
     18} 
     19 
     20 
    921public class Peli : PhysicsGame 
    1022{ 
     
    1426 
    1527    IntMeter pisteLaskuri; 
     28    Timer pisteAikaLaskuri; 
    1629 
    1730    List<Label> ValikonKohdat; 
     
    2942        MediaPlayer.Play("Musiikki"); 
    3043        MediaPlayer.IsRepeating = true; 
     44    } 
     45 
     46    void AikaLoppui(Timer ajastin) 
     47    { 
     48        ValikonKohdat = new List<Label>(); 
     49  
     50            if (pisteLaskuri.Value > 30) 
     51            { 
     52                ajastin.Stop(); 
     53                return; 
     54            } 
     55 
     56        Label kohta4 = new Label("Rahnaa tuli justiin sopivasti!"); 
     57        kohta4.Position = new Vector(0, 0); 
     58        kohta4.TextColor = RandomGen.NextColor(); 
     59        ValikonKohdat.Add(kohta4); 
     60        ajastin.Stop(); 
     61 
     62        Timer.SingleShot(3, Valikko); 
     63 
     64        foreach (Label Valikonkohta in ValikonKohdat) 
     65            Add(Valikonkohta); 
    3166    } 
    3267 
     
    5893        Timer.SingleShot(1.5, Jee.Destroy); 
    5994        Timer.SingleShot(2.0, Aloota); 
     95        nappejaVastaavatAjastimet.Clear(); 
    6096    } 
    6197 
     
    124160        LuoLaskuri(); 
    125161 
    126         pisteLaskuri.MaxValue = 2265; 
     162        pisteLaskuri.MaxValue = 700; 
    127163        pisteLaskuri.UpperLimit += laskuriYlarajassa; 
    128164 
     
    188224    { 
    189225        ClearAll(); 
     226        nappejaVastaavatAjastimet.Clear(); 
    190227        Level.Background.CreateGradient (Color.DarkGreen, Color.Black); 
    191228        ValikonKohdat = new List<Label>(); 
     
    265302        kentta2['q'] = lisaaNappi_q; 
    266303        kentta2['Q'] = lisaaOviQ; 
     304        kentta2['e'] = lisaaNappi_e; 
     305        kentta2['E'] = lisaaOviE; 
     306        kentta2['r'] = lisaaNappi_r; 
     307        kentta2['R'] = lisaaOviR; 
     308        kentta2['t'] = lisaaNappi_t; 
     309        kentta2['T'] = lisaaOviT; 
     310        kentta2['^'] = lisaaIlkea; 
    267311        kentta2.Insert(RUUDUN_KOKO, RUUDUN_KOKO); 
    268312        Level.CreateBorders(); 
     
    275319        { 
    276320            nappejaVastaavatOvet.Add(c, new List<PhysicsObject>()); 
     321        } 
     322 
     323        for (char c = 'a'; c < 'z'; c++) 
     324        { 
     325            Timer sulkemisAjastin = new Timer(); 
     326            sulkemisAjastin.Interval = 3; 
     327            nappejaVastaavatAjastimet.Add(c, sulkemisAjastin); 
    277328        } 
    278329    } 
     
    324375        return lisaaNappi('q', RandomGen.NextColor(), RUUDUN_KOKO, RUUDUN_KOKO + 20); 
    325376    } 
     377    PhysicsObject lisaaNappi_e() 
     378    { 
     379        return lisaaNappi('e', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO); 
     380    } 
     381    PhysicsObject lisaaNappi_r() 
     382    { 
     383        return lisaaNappi('r', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO); 
     384    } 
     385    PhysicsObject lisaaNappi_t() 
     386    { 
     387        return lisaaNappi('t', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO); 
     388    } 
    326389     
    327390    PhysicsObject lisaaNappi(char merkki, Color c, double x, double y) 
    328391    { 
    329         PhysicsObject nappi = PhysicsObject.CreateStaticObject(x, y); 
     392        Nappi nappi = new Nappi(x, y); 
    330393        nappi.Color = c; 
    331         nappi.Tag = merkki; 
     394        nappi.Merkki = merkki; 
     395        //ovetSaaAvata.Add(nappi, true); 
    332396        return nappi; 
    333397    } 
    334398 
    335399    Dictionary<char, List<PhysicsObject>> nappejaVastaavatOvet = new Dictionary<char, List<PhysicsObject>>(); 
     400    Dictionary<char, Timer> nappejaVastaavatAjastimet = new Dictionary<char, Timer>(); 
    336401 
    337402    PhysicsObject lisaaOviK() 
     
    350415    { 
    351416        return lisaaOvi('Q', RandomGen.NextColor(), RUUDUN_KOKO, RUUDUN_KOKO + 20); 
     417    } 
     418    PhysicsObject lisaaOviE() 
     419    { 
     420        return lisaaOvi('E', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO / 2 + 5); 
     421    } 
     422    PhysicsObject lisaaOviR() 
     423    { 
     424        return lisaaOvi('R', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO / 2 + 5); 
     425    } 
     426    PhysicsObject lisaaOviT() 
     427    { 
     428        return lisaaOvi('T', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO / 2 + 5); 
    352429    } 
    353430 
     
    409486            pisteLaskuri.Value += 5; 
    410487            kohde.Destroy(); 
     488 
     489            pisteAikaLaskuri = new Timer(); 
     490 
     491            if (pisteLaskuri.Value == 30) 
     492            { 
     493                pisteAikaLaskuri.Interval = 1; 
     494                pisteAikaLaskuri.Trigger += AikaLoppui; 
     495                pisteAikaLaskuri.Start(); 
     496            } 
    411497        } 
    412498 
     
    416502        } 
    417503 
    418         else if (kohde.Tag.ToString().Length == 1 && char.IsLower(kohde.Tag.ToString()[0])) 
    419         { 
    420             char napinMerkki = kohde.Tag.ToString()[0]; 
    421             List<PhysicsObject> ovet = nappejaVastaavatOvet[napinMerkki]; 
    422             foreach (var ovi in ovet) 
     504        else if (kohde is Nappi) 
     505        { 
     506            Nappi nappi = (Nappi)kohde; 
     507 
     508            AvaaOvet(nappi); 
     509 
     510            Timer sulkemisAjastin = nappejaVastaavatAjastimet[nappi.Merkki]; 
     511 
     512            if (! sulkemisAjastin.Enabled) 
    423513            { 
    424                 TuhoaOvi(ovi); 
    425                 Timer.SingleShot(2, delegate() { PalautaOvet(ovet); }); 
     514                sulkemisAjastin.Tag = nappi; 
     515                sulkemisAjastin.Trigger += PalautaOvet; 
     516                sulkemisAjastin.Start(1); 
    426517            } 
    427518        } 
    428519    } 
     520 
     521    void PalautaOvet(Timer ajastin) 
     522    { 
     523        ajastin.Trigger -= PalautaOvet; 
     524        Nappi nappi = (Nappi)ajastin.Tag; 
     525        PalautaOvet(nappi); 
     526    } 
     527 
     528    void AvaaOvet(Nappi nappi) 
     529    { 
     530        List<PhysicsObject> ovet = nappejaVastaavatOvet[nappi.Merkki]; 
     531        foreach (var ovi in ovet) 
     532        { 
     533            TuhoaOvi(ovi); 
     534        } 
     535    } 
    429536    void TuhoaOvi(PhysicsObject ovi) 
    430537    { 
    431538        ovi.IsVisible = false; 
    432         ovi.IgnoresCollisionResponse = true; 
    433     } 
    434     void PalautaOvet(List<PhysicsObject> ovet) 
     539        Remove(ovi); 
     540    } 
     541 
     542    void PalautaOvet(Nappi nappi) 
     543    { 
     544        List<PhysicsObject> ovet = nappejaVastaavatOvet[nappi.Merkki]; 
     545        PalautaOvet(nappi, ovet); 
     546    } 
     547 
     548    void PalautaOvet(PhysicsObject nappi, List<PhysicsObject> ovet) 
    435549    { 
    436550        foreach (PhysicsObject ovi in ovet) 
    437551        { 
    438552            ovi.IsVisible = true; 
    439             ovi.IgnoresCollisionResponse = false; 
     553            Add(ovi); 
    440554        } 
    441555    } 
  • 2011/23/mikmatla/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/kentta1.txt

    r1830 r1879  
    1919********************** 
    2020********************** 
    21  
    22  
    23  
    24  
    25  
    26  
    27  
    28  
    29  
    30  
    31  
    32  
    33  
    34  
    35  
    36  
    37  
    38  
    39  
    40  
    41  
    42  
    43  
    44  
    45  
    46  
    47  
    48  
    49  
    50  
    51  
    52  
    53  
     21********************** 
     22********************** 
     23********************** 
     24********************** 
     25********************** 
     26********************** 
     27********************** 
     28********************** 
     29********************** 
     30********************** 
     31********************** 
     32********************** 
     33********************** 
     34********************** 
     35********************** 
     36********************** 
     37********************** 
     38********************** 
     39********************** 
     40********************** 
     41********************** 
     42********************** 
     43********************** 
     44********************** 
     45********************** 
     46********************** 
     47********************** 
     48********************** 
     49********************** 
     50********************** 
     51********************** 
     52********************** 
     53********************** 
     54********************** 
     55********************** 
     56********************** 
     57********************** 
     58********************** 
     59********************** 
     60********************** 
     61********************** 
     62********************** 
     63********************** 
     64********************** 
    5465 
    5566 
     
    7990    *    *  *    *      
    8091    ##  ##  ##  ## 
    81           ^^ 
     92           
    8293  *    *       *   * 
    8394  ##  ##  ##  ##  ## 
  • 2011/23/mikmatla/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/kenttä2.txt

    r1830 r1879  
    1  
    2  
    3  
    4  
    5  
    6  
    7  
    8  
    9  
    10  
    11  
    12  
    13 ################################################################################################## 
    14 #########################################################################################q######### 
    15                                                  I                                               #### 
    16                                                  I                                               l #### 
    17                                                  I                                               l ###### 
    18                                                  I                                    ###Q##LLL############ 
    19                                                  I                                  ###    #   ##**########## 
    20                                                  I                                ###      #   ################# 
    21                                                  I                              ###        #   # 
    22              *              *           #i########kKKKKKkkKKKKkkKKKKKKk##########        **#   # 
    23                                         #                                      #        ***#   #                ####### 
    24                                         #                                      #       ****#   #              ####***** 
    25            ##****************##        ##                                      #    ########   #          ######******* 
    26           ###****************###                                               #                      #######********** 
    27    N     ####****************#####                                             #                   ########************ 
    28 ####################################################################################################################### 
     1# #########################                                                                                            # 
     2#T^^^^^^^^^^^^^^^^^^^^^^^^^T                                                                                           # 
     3# TTTTTTTTTTTTTTTTTTTTTTTTT                    *******************                                                     # 
     4#E*************************E                   *******************                                                     # 
     5# EEEEEEEEEEEEEEEEEEEEEEEEE                    *******************                                                     # 
     6#R*************************R                  #*******************#                               #^#                  # 
     7# RRRRRRRRRRRRRRRRRRRRRRRRR                   #*******************#                               #^#                  # 
     8#                                             #QQQQQQQQQQQQQQQQQQQ#                               #^#                  # 
     9#                                                                                                 # #                  # 
     10#                                                                                                 # #                  # 
     11#                                r    t    e                                                      #L#                  # 
     12#     EEEEEEEEEEEEEEE       #                                         ##                                               # 
     13#    E^^^^^^^^^^^^^^^E      ##                                        q##                                              # 
     14##################################################################################################                     # 
     15#########################################################################################q##########                   # 
     16#                                                 I                                               ####                 # 
     17#                                                 I                                               l ####               # 
     18#                                                 I                                               l ######             # 
     19#                                                 I                                    ###Q##LLL############           # 
     20#                                                 I                                  ###    #   ##**^^**^^*###         # 
     21#                                                 I                                ###      #   ##LLLLLLLLL######      # 
     22#                                                 I                              ###        #   #                      # 
     23#              *            *            #i########kKKKKKkkKKKKkkKKKKKKk##########        **#   #                      # 
     24#                                        #                                      #        ***#   #                ####### 
     25#                                        #                                      #       ****#   #              ######### 
     26#           ##****************##        ##                                      #    ########   #          ############# 
     27#          ###****************###                                               #                      ################# 
     28#  N      ####****************#####                                             #                   #################### 
     29######################################################################################################################## 
Note: See TracChangeset for help on using the changeset viewer.