Changeset 1232 for 2010/27


Ignore:
Timestamp:
2010-07-09 13:05:42 (13 years ago)
Author:
frjolehm
Message:

Tein pelin valmiiksi!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/27/frjolehm/The King of the island/The King of the island/Peli.cs

    r1213 r1232  
    1 using System; 
     1//By Frans Lehmusvaara 
     2using System; 
    23using Jypeli; 
    34using Jypeli.ScreenObjects;  
     
    1920    int Pelaajan1joukkue = Joukkueenkoko; 
    2021    int Pelaajan2joukkue = Joukkueenkoko; 
    21     int peliMuoto = 2; 
     22    int peliMuoto = 0; 
    2223 
    2324    Boolean Pelaajan1JuoksuAskel; 
     
    3435 
    3536    ImageDisplay lataus; 
     37    Label Ohjeet; 
    3638 
    3739    int VoitonValinta; 
     
    5759        peliMuoto++; 
    5860        ClearAll(); 
    59         LataaLatausKuva(); 
    60  
    61         //Kuoleman juoksu 
    62         if (peliMuoto == 1) 
    63         { 
    64             Camera.Reset(); 
    65  
    66             LuoKenttä(800,700); 
    67             Camera.ZoomToLevel(); 
    68             Level.Background.Image = LoadImage("Kenttä1"); 
    69             LuoElämät(); 
    70             AddCollisionHandler(oikeareuna, Voitto); 
    71             pelaaja1 = LuoUkko(Level.Left + 30,Level.Bottom + 75,85, 75,"Tipu1"); 
    72             pelaaja2 = LuoUkko(Level.Left+ 30,Level.Bottom + 200,85, 75,"Tipu2"); 
    73             LuoAikaLaskuri(); 
    74         } 
    75         else if (peliMuoto == 2) 
    76         { 
    77          
    78             Camera.Reset(); 
    79  
    80             Camera.Y = Level.Bottom + 250; 
    81             double ZoomKerroin = Screen.Height / 800; 
    82             Camera.Zoom(ZoomKerroin); //0.85 
    83  
    84             LuoKenttä(30000, 1000); 
    85             LuoTausta(30000, Level.Bottom+75); 
    86  
    87             lisääTaso(Level.Left, Level.Bottom + 400, 30000, 30); 
    88             LuoTausta(30000, Level.Bottom + 475); 
    89  
    90             pelaaja1 = LuoUkko(Level.Left + 10, Level.Bottom + 75, 85, 75, "Tipu1"); 
    91             pelaaja2 = LuoUkko(Level.Left + 10, Level.Bottom + 475, 85, 75, "Tipu2"); 
    92             Pelaajan1Juoksunopeus = 5000; 
    93             Pelaajan2Juoksunopeus = 5000; 
    94  
    95             Gravity = new Vector(0, -1000); 
    96  
    97             LuoElämät(); 
    98  
    99             LuoAikaLaskuri(); 
    100          
    101         } 
    102         else if (peliMuoto == 3) 
    103         { 
    104             Camera.Reset(); 
    105  
    106             LuoKenttä(800, 700); 
    107             Camera.ZoomToLevel(); 
    108             Level.Background.Image = LoadImage("Kenttä3"); 
    109             Camera.Y = 0; 
    110  
    111             LuoElämät(); 
    112  
    113             pelaaja1 = LuoUkko(Level.Left + 100, Level.Bottom + 75, 85, 75, "Tipu1"); 
    114             pelaaja2 = LuoUkko(Level.Right - 100, Level.Bottom + 75, 85, 75, "Tipu2"); 
    115  
    116             Gravity = new Vector(0, -600); 
    117             AjastaPallot(Color.Blue); 
    118             LuoAikaLaskuri(); 
    119         } 
    120         else if (peliMuoto == 4) 
    121         { 
    122             Camera.Reset(); 
    123  
    124             LuoKenttä(800, 700); 
    125             Camera.ZoomToLevel(); 
    126             Level.Background.Image = LoadImage("Kenttä4"); 
    127             Camera.Y = 0; 
    128  
    129             LuoElämät(); 
    130  
    131             pelaaja1 = LuoUkko(Level.Left + 100, Level.Bottom + 75, 85, 75, "Tipu1"); 
    132             pelaaja2 = LuoUkko(Level.Right - 100, Level.Bottom + 75, 85, 75, "Tipu2"); 
    133  
    134             Gravity = new Vector(0, -700); 
    135             AjastaPallot(Color.Yellow); 
    136             LuoAikaLaskuri(); 
    137         } 
    138  
     61        if (TarkistaVoittaja() == false) 
     62        { 
     63            LataaLatausKuva(); 
     64 
     65            //Kuoleman juoksu 
     66            if (peliMuoto == 1) 
     67            { 
     68                Camera.Reset(); 
     69 
     70                LuoKenttä(800, 700); 
     71                Camera.ZoomToLevel(); 
     72                Level.Background.Image = LoadImage("Kenttä1"); 
     73                LuoElämät(); 
     74                AddCollisionHandler(oikeareuna, Voitto); 
     75                pelaaja1 = LuoUkko(Level.Left + 30, Level.Bottom + 75, 85, 75, "Tipu1"); 
     76                pelaaja2 = LuoUkko(Level.Left + 30, Level.Bottom + 200, 85, 75, "Tipu2"); 
     77                LuoAikaLaskuri(); 
     78            } 
     79            else if (peliMuoto == 2) 
     80            { 
     81 
     82                Camera.Reset(); 
     83 
     84                Camera.Y = Level.Bottom + 225; 
     85                double ZoomKerroin = Screen.Height / 800; 
     86                Camera.Zoom(ZoomKerroin); //0.85 
     87 
     88                LuoKenttä(30000, 1000); 
     89                LuoTausta(30000, Level.Bottom + 75); 
     90 
     91                lisääTaso(Level.Left, Level.Bottom + 400, 30000, 30); 
     92                LuoTausta(30000, Level.Bottom + 475); 
     93 
     94                pelaaja1 = LuoUkko(Level.Left + 10, Level.Bottom + 75, 85, 75, "Tipu1"); 
     95                pelaaja2 = LuoUkko(Level.Left + 10, Level.Bottom + 475, 85, 75, "Tipu2"); 
     96                Pelaajan1Juoksunopeus = 5000; 
     97                Pelaajan2Juoksunopeus = 5000; 
     98 
     99                Gravity = new Vector(0, -1000); 
     100 
     101                LuoElämät(); 
     102 
     103                LuoAikaLaskuri(); 
     104 
     105            } 
     106            else if (peliMuoto == 3) 
     107            { 
     108                Camera.Reset(); 
     109 
     110                LuoKenttä(800, 700); 
     111                Camera.ZoomToLevel(); 
     112                Level.Background.Image = LoadImage("Kenttä3"); 
     113                Camera.Y = 0; 
     114 
     115                LuoElämät(); 
     116 
     117                pelaaja1 = LuoUkko(Level.Left + 100, Level.Bottom + 75, 85, 75, "Tipu1"); 
     118                pelaaja2 = LuoUkko(Level.Right - 100, Level.Bottom + 75, 85, 75, "Tipu2"); 
     119 
     120                Gravity = new Vector(0, -600); 
     121                AjastaPallot(Color.Blue); 
     122                LuoAikaLaskuri(); 
     123            } 
     124            else if (peliMuoto == 4) 
     125            { 
     126                Camera.Reset(); 
     127 
     128                LuoKenttä(800, 700); 
     129                Camera.ZoomToLevel(); 
     130                Level.Background.Image = LoadImage("Kenttä4"); 
     131                Camera.Y = 0; 
     132 
     133                LuoElämät(); 
     134 
     135                pelaaja1 = LuoUkko(Level.Left + 100, Level.Bottom + 75, 85, 75, "Tipu1"); 
     136                pelaaja2 = LuoUkko(Level.Right - 100, Level.Bottom + 75, 85, 75, "Tipu2"); 
     137 
     138                Gravity = new Vector(0, -700); 
     139                LuoAikaLaskuri(); 
     140            } 
     141            else if (peliMuoto == 5) 
     142            { 
     143                Camera.Reset(); 
     144 
     145                LuoKenttä(800, 700); 
     146                AddCollisionHandler(alareuna, Voitto); 
     147                Camera.ZoomToLevel(); 
     148                Level.Background.Image = LoadImage("Kenttä4"); 
     149                Camera.Y = 0; 
     150 
     151                LuoElämät(); 
     152 
     153                pelaaja1 = LuoUkko(Level.Left + 100, Level.Top - 45, 85, 75, "Tipu1"); 
     154                pelaaja2 = LuoUkko(Level.Right - 100, Level.Top - 45, 85, 75, "Tipu2"); 
     155 
     156                LuoAikaLaskuri(); 
     157            } 
     158        } 
     159 
     160    } 
     161 
     162    void LuoKolikko() 
     163    { 
     164        PhysicsObject pallo = new PhysicsObject(10, 10, Shapes.Circle); 
     165        pallo.Color = Color.Yellow; 
     166        pallo.Hit(new Vector(RandomGen.NextDouble(-200, 200), RandomGen.NextDouble(-300, -500))); 
     167        pallo.Y = Level.Top - 20; 
     168        AddCollisionHandler(pallo, Voitto); 
     169        pallo.Restitution = 0.9; 
     170        Add(pallo); 
    139171    } 
    140172 
     
    153185        PhysicsObject pallo = new PhysicsObject(20, 20, Shapes.Circle); 
    154186        pallo.Color = (Color)sender.Tag; 
    155         pallo.Hit(new Vector(RandomGen.NextDouble(-100, 100), RandomGen.NextDouble(-200, -400))); 
     187        pallo.Hit(new Vector(RandomGen.NextDouble(-200, 200), RandomGen.NextDouble(-200, -400))); 
    156188        pallo.Y = Level.Top - 300; 
    157189        AddCollisionHandler(pallo, Voitto); 
     
    308340 
    309341    } 
     342 
    310343    void LuoLataus() 
    311344    { 
     
    326359    } 
    327360 
     361 
    328362    void Voitto(PhysicsObject maali, PhysicsObject kohde)  
    329363    { 
     
    333367            { 
    334368                VoitonValinta = 1; 
    335                 if (peliMuoto == 1) 
     369                if (peliMuoto == 1 || peliMuoto == 4 || peliMuoto == 5 ) 
    336370                { 
    337371                    Pelaajan2joukkue--; 
     
    347381            { 
    348382                VoitonValinta = 1; 
    349                 if (peliMuoto == 1) 
     383                if (peliMuoto == 1 || peliMuoto == 4 || peliMuoto == 5) 
    350384                { 
    351385                    Pelaajan1joukkue--; 
     
    411445    } 
    412446 
     447    Boolean TarkistaVoittaja() 
     448    { 
     449        if (Pelaajan1joukkue == 0)  
     450        { 
     451            //2 pelaaaja 
     452            PelaajaVoitti(true); 
     453            return true; 
     454        } 
     455        else if (Pelaajan2joukkue == 0) 
     456        { 
     457            //1 pelaaja 
     458            PelaajaVoitti(false); 
     459            return true; 
     460        } 
     461        return false; 
     462    } 
     463 
     464    void PelaajaVoitti(Boolean Voittaja) 
     465    { 
     466        LuoElämät(); 
     467        LuoKenttä(800, 700); 
     468        Level.Background.Image = LoadImage("Kenttä4"); 
     469        lisääTaso(-200, -200, 100, 25); 
     470        lisääTaso(0, 0, 200, 25); 
     471 
     472        if (Voittaja == true) 
     473        { 
     474            pelaaja2 = LuoUkko(0, 75, 170, 150, "Tipu2"); 
     475            pelaaja1 = LuoUkko(-200, -162.5, 42.5, 37.5, "Tipu1"); 
     476 
     477            Ohjeet = new Label("Pelaaja 2 voitti!"); 
     478            Ohjeet.Y = 250; 
     479            Add(Ohjeet); 
     480        }  
     481        else if (Voittaja == false) 
     482        { 
     483            pelaaja1 = LuoUkko(0, 75, 170, 150, "Tipu1"); 
     484            pelaaja2 = LuoUkko(-200, -162.5, 42.5, 37.5, "Tipu2"); 
     485 
     486            Ohjeet = new Label("Pelaaja 1 voitti!"); 
     487            Ohjeet.Y = 350; 
     488            Add(Ohjeet); 
     489        } 
     490 
     491        Keyboard.Listen(Key.Enter, ButtonState.Pressed, AloitaAlusta, "Aloita peli alusta."); 
     492         
     493    } 
     494 
     495    void AloitaAlusta() 
     496    {  
     497        peliMuoto = 0; 
     498        Pelaajan1joukkue = 3; 
     499        Pelaajan2joukkue = 3; 
     500        Pelaajan1JuoksuAskel = false; 
     501        Pelaajan2JuoksuAskel = false; 
     502        Aloitapikkupeli(); 
     503    } 
     504 
    413505    void LaskeAlaspäin(Timer timer) 
    414506    { 
    415507        alaspainLaskuri.Value -= 1; 
    416         if (alaspainLaskuri.Value <= 0) 
     508        if(alaspainLaskuri.Value <= 0) 
    417509        { 
    418510            if (peliMuoto == 1) 
     
    423515            { 
    424516                HyppyOhjaimet(); 
    425             }else if (peliMuoto == 3) 
     517            } 
     518            else if (peliMuoto == 3 ) 
    426519            { 
    427520                VäistelyOhjaimet(); 
    428521            } 
    429              
     522            else if (peliMuoto == 4) 
     523            { 
     524                VäistelyOhjaimet(); 
     525                LuoKolikko(); 
     526            } 
     527            else if (peliMuoto == 5) 
     528            { 
     529                Gravity = new Vector(0, -200); 
     530                pelaaja1.Hit(new Vector(RandomGen.NextDouble(100, -100), RandomGen.NextDouble(-10, -100))); 
     531                pelaaja2.Hit(new Vector(RandomGen.NextDouble(100, -100), RandomGen.NextDouble(-10, -100))); 
     532            } 
     533 
    430534            timer.Stop(); 
    431535            numero.Destroy(); 
     
    434538        }else if (alaspainLaskuri.Value <= 1) 
    435539        { 
    436                 numero.Image = LoadImage("1"); 
     540            numero.Image = LoadImage("1"); 
    437541             
    438542        } 
     
    445549            numero.Image = LoadImage("3"); 
    446550            Add(numero); 
     551        } 
     552 
     553        if (peliMuoto == 1) 
     554        { 
     555            Ohjeet = new Label("Yritä olla maalissa ensimmäisenä, rämppäämällä eteen ja taakse vuorotellen!"); 
     556            Ohjeet.Y = 200; 
     557            Add(Ohjeet); 
     558        } 
     559        else if (peliMuoto == 2) 
     560        { 
     561            Ohjeet = new Label("Yritä hyppiä aitojen yli!"); 
     562            Ohjeet.Y = 350; 
     563            Add(Ohjeet); 
     564        } 
     565        else if (peliMuoto == 3) 
     566        { 
     567            Ohjeet = new Label("Yritä väistellä vesipisaroita!"); 
     568            Ohjeet.Y = 200; 
     569            Add(Ohjeet); 
     570        } 
     571        else if (peliMuoto == 4) 
     572        { 
     573            Ohjeet = new Label("Yritä kerätä kultakolikko!"); 
     574            Ohjeet.Y = 200; 
     575            Add(Ohjeet); 
     576        } 
     577        else if (peliMuoto == 5) 
     578        { 
     579            Ohjeet = new Label("Anna onnettaren valita tämän pelin voittaja."); 
     580            Ohjeet.Y = 200; 
     581            Add(Ohjeet); 
    447582        } 
    448583    } 
Note: See TracChangeset for help on using the changeset viewer.