Changeset 982 for 2010/24


Ignore:
Timestamp:
2010-06-18 13:26:27 (9 years ago)
Author:
joaamaka
Message:

Oma peli valmis. (Vielä silti ehkä jotain tekemistä jäljellä + Jypelin bugit(?))

Location:
2010/24/joaamaka/The hole
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • 2010/24/joaamaka/The hole/Content/Content.contentproj

    r967 r982  
    100100    </Compile> 
    101101  </ItemGroup> 
     102  <ItemGroup> 
     103    <Compile Include="nollaus.png"> 
     104      <Name>nollaus</Name> 
     105      <Importer>TextureImporter</Importer> 
     106      <Processor>TextureProcessor</Processor> 
     107    </Compile> 
     108  </ItemGroup> 
    102109  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    103110  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2010/24/joaamaka/The hole/Peli.cs

    r967 r982  
    1414    int vaikeustaso = new int(); 
    1515 
     16    HighScoreList pistett; 
     17     
    1618    GameObject helppo = new GameObject(300, 100); 
    1719    GameObject keski = new GameObject(300, 100); 
     
    1921    GameObject loppu = new GameObject(100, 100); 
    2022    GameObject pisteet = new GameObject(300, 100); 
     23    GameObject nollaus = new GameObject(300, 100); 
    2124 
    2225    List<PhysicsObject> lista; 
     
    3033    protected override void Begin() 
    3134    { 
     35        pistett = HighScoreList.LoadOrCreate("topten.dat", 5); 
    3236        Level.Width = 1500; 
    3337        Level.Height = 1000; 
     
    3539        alkuvalikko(); 
    3640 
    37         // Zoomataan lähemmäksi 
    3841        Camera.ZoomFactor = 1.0; 
    3942 
     
    4346        Mouse.IsCursorVisible = true; 
    4447 
    45         //seuraavaKentta(); 
    4648        MessageDisplay.Add("Hyppää kuiluun!"); 
    4749    } 
    4850 
     51    PhysicsObject lisaaTaso() 
     52    { 
     53        PhysicsObject taso = PhysicsObject.CreateStaticObject(100,30); 
     54        Image image = Image.CreateGradient(150, 30, Color.White, Color.Gray); 
     55        taso.Image = image; 
     56        return taso; 
     57    } 
     58    PhysicsObject lisaaSeina() 
     59    { 
     60        PhysicsObject seina = PhysicsObject.CreateStaticObject(30, 130); 
     61        Image image = Image.CreateGradient(100, 30, Color.White, Color.Gray); 
     62        seina.Image = image; 
     63        return seina; 
     64    } 
     65    PhysicsObject lisaaNuoli2() 
     66    { 
     67        PhysicsObject nuoli2 = new PhysicsObject(50, 50, Shapes.Rectangle); 
     68        nuoli2.IgnoresGravity = true; 
     69        nuoli2.IgnoresCollisionResponse = true; 
     70        nuoli2.X = 100; 
     71        nuoli2.Y = 50; 
     72        nuoli2.Image = LoadImage("nuoli2"); 
     73        return nuoli2; 
     74    } 
     75    PhysicsObject lisaaOhje() 
     76    { 
     77        PhysicsObject ohje = new PhysicsObject(225, 75, Shapes.Rectangle); 
     78        ohje.IgnoresGravity = true; 
     79        ohje.IgnoresCollisionResponse = true; 
     80        ohje.X = -100; 
     81        ohje.Y = 50; 
     82        ohje.Image = LoadImage("ohje"); 
     83        return ohje; 
     84    } 
     85    PhysicsObject lisaaVaroitus() 
     86    { 
     87        PhysicsObject varoitus = new PhysicsObject(150, 75, Shapes.Rectangle); 
     88        varoitus.IgnoresGravity = true; 
     89        varoitus.IgnoresCollisionResponse = true; 
     90        varoitus.X = -100; 
     91        varoitus.Y = 70; 
     92        varoitus.Image = LoadImage("warning"); 
     93        return varoitus; 
     94    } 
     95    PhysicsObject lisaaPiikit() 
     96    { 
     97        PhysicsObject piikit = new PhysicsObject(100, 20, Shapes.Rectangle); 
     98        piikit.Tag = "piikki"; 
     99        piikit.IgnoresGravity = true; 
     100        piikit.IgnoresCollisionResponse = true; 
     101        piikit.Image = LoadImage("Spikes"); 
     102        return piikit; 
     103    } 
     104    PhysicsObject Arvonta() 
     105    { 
     106        PhysicsObject listas; 
     107 
     108        int ruutu = RandomGen.NextInt(1, 3); 
     109        if (ruutu == 1) 
     110        { 
     111            listas = lisaaPiikit(); 
     112        } 
     113        else if (ruutu == 2) 
     114        { 
     115            listas = lisaaTaso(); 
     116        } 
     117        else 
     118        { 
     119            PhysicsObject tyhja = new PhysicsObject(40, 40); 
     120            tyhja.IgnoresCollisionResponse = true; 
     121            tyhja.IsVisible = false; 
     122            tyhja.Tag = "tyhja"; 
     123            listas = tyhja; 
     124        } 
     125        lista.Add(listas); 
     126        tarkistus(); 
     127        return listas; 
     128    } 
     129    PhysicsObject lisaaNuoli() 
     130    { 
     131        PhysicsObject nuoli = new PhysicsObject(50, 50, Shapes.Rectangle); 
     132        nuoli.IgnoresGravity = true; 
     133        nuoli.IgnoresCollisionResponse = true; 
     134        nuoli.X = 100; 
     135        nuoli.Y = 50; 
     136        nuoli.Image = LoadImage("nuoli"); 
     137        return nuoli; 
     138    } 
     139    PhysicsObject lisaaPelaajat() 
     140    { 
     141        olio = new PlatformCharacter(40, 40); 
     142        olio.Shape = Shapes.Rectangle; 
     143        olio.Color = Color.Black; 
     144        olio.Size = new Vector(40, 40); 
     145        olio.Y = 100; 
     146        olio.CanRotate = true; 
     147        olio.KineticFriction = 0.0; 
     148        olio.StaticFriction = 0.0; 
     149        olio.Mass = 1.0; 
     150        return olio; 
     151    } 
     152     
     153    void KasitteleOlionTormays(PhysicsObject olio, PhysicsObject kohde) 
     154    { 
     155        if (kohde.Tag.ToString() == "piikki") 
     156        { 
     157            piste();  
     158            pistett.Show((int)korkeus); 
     159        } 
     160    } 
     161    void NaytaKorkeus( Timer sender )  
     162    {  
     163        korkeus = Math.Round((aloituspaikka.Y - olio.Y), 1); 
     164        mittari.Text = "Syvyys: " + korkeus;  
     165        mittari.X = 100; 
     166        mittari.Y = 100; 
     167   } 
     168    void tarkistus() 
     169    { 
     170        if (lista.Count == 7) 
     171        { 
     172            for (int i = 0; i < lista.Count; i++) 
     173            { 
     174                if (lista[i].Tag.ToString() == "tyhja") 
     175                { 
     176                    lista.Clear(); 
     177                    return; 
     178                } 
     179                else if (i == 6) 
     180                { 
     181                    lista[RandomGen.NextInt(0, 6)].Destroy() ; 
     182                    lista.Clear(); 
     183                } 
     184            } 
     185        } 
     186        else return; 
     187    } 
     188    void lisaaNappaimet() 
     189    { 
     190        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, null); 
     191        Keyboard.Listen(Key.Escape, ButtonState.Pressed, alkuvalikko, "Poistu valikkoon"); 
     192        Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", olio, -nopeus); 
     193        Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu oikealle", olio, nopeus); 
     194        Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Hyppää", olio, hyppyVoima); 
     195        Keyboard.Listen(Key.R, ButtonState.Pressed, palauta, "Palauttaa olion alkuun", olio); 
     196    } 
     197    void liikuta(PlatformCharacter hahmo, double nopeus) 
     198    { 
     199        hahmo.Push(new Vector (nopeus, 0)); 
     200    } 
     201    void hyppaa(PlatformCharacter hahmo, double voima) 
     202    { 
     203        hahmo.Jump(voima); 
     204    } 
     205    void palauta(PlatformCharacter hahmo) 
     206    { 
     207        hahmo.Position = aloituspaikka; 
     208        seuraavaKentta(); 
     209    } 
    49210    void alkuvalikko() 
    50211    { 
     
    52213        Mouse.Enabled = true; 
    53214        Mouse.IsCursorVisible = true; 
    54         Camera.Position = new Vector(0,0); 
     215        Camera.Position = new Vector(0, 0); 
    55216        Camera.StayInLevel = true; 
    56217        Camera.FollowedObject = null; 
     
    61222        vaikea = new GameObject(300, 100); 
    62223        loppu = new GameObject(100, 100); 
     224        pisteet = new GameObject(300, 100); 
    63225 
    64226        Mouse.ListenOn(helppo, MouseButton.Left, ButtonState.Pressed, valitse, "", 0); 
     
    66228        Mouse.ListenOn(vaikea, MouseButton.Left, ButtonState.Pressed, valitse, "", 2); 
    67229        Mouse.ListenOn(loppu, MouseButton.Left, ButtonState.Pressed, Exit, ""); 
    68         Mouse.ListenOn(pisteet, MouseButton.Left, ButtonState.Pressed, piste, ""); 
    69  
    70          
     230        Mouse.ListenOn(pisteet, MouseButton.Left, ButtonState.Pressed, naytapisteet, ""); 
     231 
    71232        helppo.Image = LoadImage("vtaso"); 
    72233        keski.Image = LoadImage("vtaso2"); 
     
    74235        loppu.Image = LoadImage("loppu"); 
    75236        pisteet.Image = LoadImage("pisteet"); 
    76          
     237 
    77238        helppo.X = 100; 
    78239        helppo.Y = 200; 
     
    85246        pisteet.X = -400; 
    86247        pisteet.Y = 0; 
    87          
     248        
    88249        Add(helppo); 
    89250        Add(keski); 
    90         Add(vaikea);  
     251        Add(vaikea); 
    91252        Add(loppu); 
    92253        Add(pisteet); 
    93254        Level.Background.CreateGradient(Color.Gray, Color.White); 
    94255    } 
    95  
    96256    void valitse(int valittutaso) 
    97257    { 
     
    101261            Camera.ZoomFactor = 1.0; 
    102262        } 
    103         else if (valittutaso == 1)  
    104         { 
    105             vaikeustaso = 1;  
     263        else if (valittutaso == 1) 
     264        { 
     265            vaikeustaso = 1; 
    106266            Camera.ZoomFactor = 1.5; 
    107267        } 
     
    116276        seuraavaKentta(); 
    117277    } 
    118  
    119278    void piste() 
    120279    { 
     
    127286        Camera.ZoomFactor = 1.0; 
    128287 
     288        pistett.ScreenList.ItemColor = Color.Black; 
     289        pistett.ScreenList.X = -300; 
     290        pistett.ScreenList.Y = 100; 
     291 
     292        nollaus = new GameObject(300, 100); 
     293        Mouse.ListenOn(nollaus, MouseButton.Left, ButtonState.Pressed, nollaa, ""); 
     294        nollaus.X = -400; 
     295        nollaus.Y = -200; 
     296        nollaus.Image = LoadImage("nollaus"); 
     297        Add(nollaus); 
     298         
    129299        loppu = new GameObject(100, 100); 
    130         Mouse.ListenOn(loppu, MouseButton.Left, ButtonState.Pressed, Exit, ""); 
    131         loppu.X = -200; 
    132         loppu.Y = 200; 
     300        Mouse.ListenOn(loppu, MouseButton.Left, ButtonState.Pressed, alkuvalikko, ""); 
     301        loppu.X = -400; 
     302        loppu.Y = 300; 
    133303        loppu.Image = LoadImage("loppu"); 
    134304        Add(loppu); 
     305         
    135306        Level.Background.CreateGradient(Color.Gray, Color.White); 
    136  
    137     } 
    138      
     307    } 
     308    void naytapisteet() 
     309    { 
     310        ClearAll(); 
     311        piste(); 
     312        pistett.Show(); 
     313    } 
    139314    void seuraavaKentta() 
    140315    { 
    141316        ClearAll(); 
    142317 
    143         // Asetetaan painovoima 
    144318        Gravity = new Vector(0, -700); 
    145319        luoKentta(); 
    146320        lisaaNappaimet(); 
    147321        Camera.Follow(olio); 
    148          
    149           
    150         Timer korkeusAjastin = new Timer();  
    151         korkeusAjastin.Interval = 0.1;  
    152         korkeusAjastin.Trigger += NaytaKorkeus;  
    153         Add( korkeusAjastin );  
    154         korkeusAjastin.Start();  
    155     } 
    156  
     322 
     323        Timer korkeusAjastin = new Timer(); 
     324        korkeusAjastin.Interval = 0.1; 
     325        korkeusAjastin.Trigger += NaytaKorkeus; 
     326        Add(korkeusAjastin); 
     327        korkeusAjastin.Start(); 
     328    } 
    157329    void luoKentta() 
    158330    { 
     
    176348        mittari = new TextDisplay(); 
    177349        Add(mittari); 
    178         mittari.Text = "Syvyys: " + korkeus;  
    179     } 
    180  
    181     PhysicsObject lisaaTaso() 
    182     { 
    183         PhysicsObject taso = PhysicsObject.CreateStaticObject(100,30); 
    184         Image image = Image.CreateGradient(150, 30, Color.White, Color.Gray); 
    185         taso.Image = image; 
    186         return taso; 
    187     } 
    188      
    189     PhysicsObject lisaaSeina() 
    190     { 
    191         PhysicsObject seina = PhysicsObject.CreateStaticObject(30, 130); 
    192         Image image = Image.CreateGradient(100, 30, Color.White, Color.Gray); 
    193         seina.Image = image; 
    194         return seina; 
    195     } 
    196  
    197     PhysicsObject lisaaNuoli2() 
    198     { 
    199         PhysicsObject nuoli2 = new PhysicsObject(50, 50, Shapes.Rectangle); 
    200         nuoli2.IgnoresGravity = true; 
    201         nuoli2.IgnoresCollisionResponse = true; 
    202         nuoli2.X = 100; 
    203         nuoli2.Y = 50; 
    204         nuoli2.Image = LoadImage("nuoli2"); 
    205         return nuoli2; 
    206     } 
    207  
    208     PhysicsObject lisaaOhje() 
    209     { 
    210         PhysicsObject ohje = new PhysicsObject(225, 75, Shapes.Rectangle); 
    211         ohje.IgnoresGravity = true; 
    212         ohje.IgnoresCollisionResponse = true; 
    213         ohje.X = -100; 
    214         ohje.Y = 50; 
    215         ohje.Image = LoadImage("ohje"); 
    216         return ohje; 
    217     } 
    218  
    219     PhysicsObject lisaaVaroitus() 
    220     { 
    221         PhysicsObject varoitus = new PhysicsObject(150, 75, Shapes.Rectangle); 
    222         varoitus.IgnoresGravity = true; 
    223         varoitus.IgnoresCollisionResponse = true; 
    224         varoitus.X = -100; 
    225         varoitus.Y = 70; 
    226         varoitus.Image = LoadImage("warning"); 
    227         return varoitus; 
    228     } 
    229  
    230     PhysicsObject lisaaPiikit() 
    231     { 
    232         PhysicsObject piikit = new PhysicsObject(100, 20, Shapes.Rectangle); 
    233         piikit.Tag = "piikki"; 
    234         piikit.IgnoresGravity = true; 
    235         piikit.IgnoresCollisionResponse = true; 
    236         //piikit.X = 100; 
    237         //piikit.Y = 50; 
    238         piikit.Image = LoadImage("Spikes"); 
    239         return piikit; 
    240     } 
    241      
    242     void KasitteleOlionTormays(PhysicsObject olio, PhysicsObject kohde) 
    243     { 
    244         if (kohde.Tag.ToString() == "piikki") 
    245         { 
    246             olio.Position = aloituspaikka; 
    247             seuraavaKentta(); 
    248  
    249         } 
    250         //tähän kirjoitetaan mitä halutaan tehdä, kun pallo törmää johonkin 
    251     } 
    252       
    253     void NaytaKorkeus( Timer sender )  
    254     {  
    255         korkeus = Math.Round((aloituspaikka.Y - olio.Y), 1); 
    256         mittari.Text = "Syvyys: " + korkeus;  
    257         mittari.X = 100; 
    258         mittari.Y = 100; 
    259    } 
    260  
    261     PhysicsObject Arvonta() 
    262     { 
    263         PhysicsObject listas; 
    264          
    265         int ruutu= RandomGen.NextInt(1, 3); 
    266         if (ruutu == 1) 
    267         { 
    268             listas= lisaaPiikit(); 
    269         } 
    270         else if (ruutu == 2) 
    271         { 
    272             listas= lisaaTaso(); 
    273         } 
    274         else 
    275         { 
    276             PhysicsObject tyhja = new PhysicsObject(40, 40); 
    277             tyhja.IgnoresCollisionResponse = true; 
    278             tyhja.IsVisible = false; 
    279             tyhja.Tag = "tyhja"; 
    280             listas= tyhja; 
    281         } 
    282         lista.Add(listas); 
    283         tarkistus(); 
    284         return listas; 
    285     } 
    286  
    287     void tarkistus() 
    288     { 
    289         if (lista.Count == 7) 
    290         { 
    291             for (int i = 0; i < lista.Count; i++) 
    292             { 
    293                 if (lista[i].Tag.ToString() == "tyhja") 
    294                 { 
    295                     lista.Clear(); 
    296                     return; 
    297                 } 
    298                 else if (i == 6) 
    299                 { 
    300                     lista[RandomGen.NextInt(0, 6)].Destroy() ; 
    301                     lista.Clear(); 
    302                 } 
    303             } 
    304         } 
    305         else return; 
    306     } 
    307  
    308     PhysicsObject lisaaNuoli() 
    309     { 
    310         PhysicsObject nuoli = new PhysicsObject(50, 50, Shapes.Rectangle); 
    311         nuoli.IgnoresGravity = true; 
    312         nuoli.IgnoresCollisionResponse = true; 
    313         nuoli.X = 100; 
    314         nuoli.Y = 50; 
    315         nuoli.Image = LoadImage("nuoli"); 
    316         return nuoli; 
    317     } 
    318  
    319     void lisaaNappaimet() 
    320     { 
    321         Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, null); 
    322         Keyboard.Listen(Key.Escape, ButtonState.Pressed, alkuvalikko, "Poistu valikkoon"); 
    323  
    324         Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", olio, -nopeus); 
    325         Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu oikealle", olio, nopeus); 
    326         Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Hyppää", olio, hyppyVoima); 
    327         Keyboard.Listen(Key.R, ButtonState.Pressed, palauta, "Palauttaa olion alkuun", olio); 
    328     } 
    329  
    330  
    331     void liikuta(PlatformCharacter hahmo, double nopeus) 
    332     { 
    333         hahmo.Push(new Vector (nopeus, 0)); 
    334     } 
    335  
    336     void hyppaa(PlatformCharacter hahmo, double voima) 
    337     { 
    338         hahmo.Jump(voima); 
    339     } 
    340  
    341     void palauta(PlatformCharacter hahmo) 
    342     { 
    343         hahmo.Position = aloituspaikka; 
    344         seuraavaKentta(); 
    345     } 
    346  
    347  
    348     PhysicsObject lisaaPelaajat() 
    349     { 
    350         olio = new PlatformCharacter(40, 40); 
    351         olio.Shape = Shapes.Rectangle; 
    352         olio.Color = Color.Black; 
    353         olio.Size = new Vector(40, 40); 
    354         olio.Y = 100; 
    355         olio.CanRotate = true; 
    356         olio.KineticFriction = 0.0; 
    357         olio.StaticFriction = 0.0; 
    358         olio.Mass = 1.0; 
    359         return olio; 
    360     } 
    361  
     350        mittari.Text = "Syvyys: " + korkeus; 
     351    } 
     352    void nollaa() 
     353    { 
     354        pistett = HighScoreList.Create("topten.dat", 5); // Todo: Ei nollaa, Jypelissä vika? 
     355    } 
    362356} 
Note: See TracChangeset for help on using the changeset viewer.