Changeset 166


Ignore:
Timestamp:
2009-07-24 11:36:37 (10 years ago)
Author:
alpitkan
Message:
 
Location:
aleksi_p
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • aleksi_p/MR Ball/Content/Content.contentproj

    r68 r166  
    1 <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> 
     1<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> 
    22  <PropertyGroup> 
    33    <ProjectGuid>3e66cce2-2200-4fa1-a96d-a82fcc36d26d</ProjectGuid> 
     
    3434    <Reference Include="Microsoft.Xna.Framework.Content.Pipeline.XImporter, Version=3.1.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d" /> 
    3535  </ItemGroup> 
     36  <ItemGroup> 
     37    <Compile Include="asfaltti3.png"> 
     38      <Name>asfaltti3</Name> 
     39      <Importer>TextureImporter</Importer> 
     40      <Processor>TextureProcessor</Processor> 
     41    </Compile> 
     42  </ItemGroup> 
    3643</Project> 
  • aleksi_p/MR Ball/Peli.cs

    r140 r166  
    2727        ValueDisplay elamaNaytto;  // näyttää pisteet 
    2828        PhysicsObject pallo; 
    29         //int elamalaskuri; 
     29         
     30 
     31        int kentanNro = 2; 
    3032        
    3133        protected override void LoadContent() 
    3234        { 
    33  
    34              
    35              
    36             pistelaskuri = new Meter<int>(0, 0, 100); 
    37             pistelaskuri.UpperLimit += new Meter<int>.OnLimitHandler(pistelaskuri_UpperLimit); 
     35            MessageDisplay.TextColor = Color.White; 
     36            LisaaNaytot(); 
     37            AloitaPeli(); 
     38        } 
     39 
     40        private void LisaaNaytot() 
     41        { 
     42            pistelaskuri = new Meter<int>(0, 0, 2); 
     43            pistelaskuri.UpperLimit += new Meter<int>.OnLimitHandler(Tavoitepistemaarasaavutettu); 
    3844            pisteNaytto = new ValueDisplay(this); // luodaan elamaNaytto 
    3945            pisteNaytto.HorizontalOrigin = HorizontalAlignment.Left;   // asetetaan pisteNayton nollakohdaksi vasen reuna 
    4046            pisteNaytto.VerticalOrigin = VerticalAlignment.Top; // ja yläreuna 
    4147            pisteNaytto.Text = "palloja kerätty :"; // teksti, jonka näyttö näyttää 
    42             pisteNaytto.X = Screen.RightSafe -350;  // asetetaan pistenäytön x-koordinaatiksi ruudun oikea reuna, josta on vähennetty 250 pikseliä, jotta näyttö sopii ruudulle 
    43             pisteNaytto.Y = Screen.TopSafe-100;  // asetetaan pistenäytön y-koordinaatiksi ruudun yläreuna 
     48            pisteNaytto.X = Screen.RightSafe - 350;  // asetetaan pistenäytön x-koordinaatiksi ruudun oikea reuna, josta on vähennetty 250 pikseliä, jotta näyttö sopii ruudulle 
     49            pisteNaytto.Y = Screen.TopSafe - 30;  // asetetaan pistenäytön y-koordinaatiksi ruudun yläreuna 
    4450            pisteNaytto.BindTo(pistelaskuri);// liitetään pisteNaytto pistelaskuriin 
    45             Add(pisteNaytto);  
    46              
    47             //elamalaskuri = 3; 
     51            Add(pisteNaytto); 
     52            pisteNaytto.TextColor = Color.White; 
     53            pisteNaytto.ValueColor = Color.White; 
     54 
    4855            elamalaskuri = new Meter<int>(0, 0, 3); // oletusarvona on 0, minimiarvona on myös 0 ja maksimiarvona on 100. 
    4956            elamalaskuri.UpperLimit += new Meter<int>.OnLimitHandler(ElamatLoppuneet);  // liitetään tapahtuma, kun maksimiarvo on saavutettu eli kun 3 on täynnä 
     
    5562            elamaNaytto.Y = Screen.TopSafe;  // asetetaan pistenäytön y-koordinaatiksi ruudun yläreuna 
    5663            elamaNaytto.BindTo(elamalaskuri);// liitetään pisteNaytto pistelaskuriin 
    57             Add(elamaNaytto);  
    58  
     64            Add(elamaNaytto); 
     65            elamaNaytto.TextColor = Color.White; 
     66            elamaNaytto.ValueColor = Color.White; 
     67        } 
     68 
     69        private void AloitaPeli() 
     70        { 
     71             
     72            pistelaskuri.Value = 0; 
     73            LuoPelaaja(); 
     74 
     75            Level kentta = new Level(this); 
     76            kentta.BackgroundColor = Color.PapayaWhip; 
     77            kentta.Background.Image = Content.Load<Texture2D>("asfaltti3"); 
     78            kentta.Objects.Add(pallo); 
     79            Level = kentta; 
     80            pallo.Color = Color.Red; 
     81            kentta.CreateBorder(1.0, false); 
     82            LisaaTasot(kentta); 
     83 
     84 
     85            lisaaesine(kentta, 0, -450); 
     86            lisaaesine(kentta, 0, 450); 
     87 
     88 
     89 
     90            asetaohjaimet(); 
     91        } 
     92 
     93        private void LisaaTasot(Level kentta) 
     94        { 
     95            lisaaMaali(kentta); 
     96            if (kentanNro == 1) 
     97            { 
     98                lisaapienitaso(kentta, 250, -10, 0); 
     99                lisaapienitaso(kentta, 250, 75, 0); 
     100                lisaapienitaso(kentta, 400, 75, 0); 
     101                lisaapienitaso(kentta, 400, -10, 0); 
     102                lisaapienitaso(kentta, 550, 75, 0); 
     103                lisaapienitaso(kentta, 550, -10, 0); 
     104                lisaapaaty(kentta, 635, 33, 0); 
     105                lisaapienitaso(kentta, -550, -30, 0); 
     106                lisaapienitaso(kentta, -550, 90, 0); 
     107                lisaapaaty(kentta, 635, 43, 0); 
     108                lisaapaaty(kentta, 630, 23, 0); 
     109            } 
     110 
     111            if (kentanNro == 2) 
     112            { 
     113                lisaapienitaso(kentta, 250, -10, 0); 
     114                lisaapienitaso2(kentta, 320, -75, 0); 
     115                lisaapienitaso(kentta, 0, -10, 0); 
     116                lisaapienitaso(kentta, 0, 80, 0); 
     117                lisaapienitaso(kentta, 235, -140, 0); 
     118                lisaapienitaso(kentta, 150, 80, 0); 
     119                lisaapienitaso(kentta, 300, 80, 0); 
     120                lisaapienitaso(kentta, 450, 80, 0); 
     121                lisaapienitaso(kentta, 600, 80, 0); 
     122                lisaapienitaso(kentta, 405, -10, 0); 
     123                lisaapienitaso(kentta, 555, -10, 0); 
     124                lisaapienitaso(kentta, 645, -10, 0); 
     125                lisaapienitaso(kentta, 95, -140, 0); 
     126                lisaapienitaso(kentta, 95, -140, 10); 
     127                lisaapienitaso(kentta, 0, -140, 0); 
     128                lisaapaaty(kentta, -65, -90, 0); 
     129             
     130            } 
     131        } 
     132 
     133        private void LuoPelaaja() 
     134        { 
    59135            IShape ympyra = Shapes.CreateCircle(20.0); 
    60136            pallo = new PhysicsObject(10.0, ympyra); 
     
    63139            pallo.Restitution = 1.0; 
    64140            AddCollisionHandler(pallo, PalloTormaaSeinaan); 
    65  
    66             Level kentta = new Level(this); 
    67             kentta.BackgroundColor = Color.Khaki; 
    68             kentta.Objects.Add(pallo); 
    69             Level = kentta; 
    70             pallo.Color = Color.Red; 
    71             kentta.CreateBorder(1.0, false); 
    72             lisaaMaali(kentta); 
    73             lisaapienitaso(kentta, 250, -10, 0); 
    74             lisaapienitaso(kentta, 250, 75, 0); 
    75             lisaapienitaso(kentta, 400, 75, 0); 
    76             lisaapienitaso(kentta, 400, -10, 0); 
    77             lisaapienitaso(kentta, 550, 75, 0); 
    78             lisaapienitaso(kentta, 550, -10, 0); 
    79             lisaapaaty(kentta, 635, 33, 0); 
    80             lisaapienitaso(kentta, -550, -30, 0); 
    81             lisaapienitaso(kentta, -550, 90, 0); 
    82             lisaapaaty(kentta, 635, 43, 0); 
    83             lisaapaaty(kentta, 630, 23, 0); 
    84  
    85  
    86             lisaaesine(kentta, 0, -450); 
    87             lisaaesine(kentta, 0, 450); 
    88  
    89  
    90  
    91             asetaohjaimet(); 
     141            AddCollisionHandler(pallo, KaveriTormaa); 
    92142        } 
    93143 
    94144        void pistelaskuri_UpperLimit(Meter<int> sender) 
    95145        { 
    96              
     146         
    97147        } 
    98148 
     
    107157                kentta.Objects.Add(kerattava); 
    108158                kerattava.Color = new Color((Byte)RandomGen.NextInt(0, 255), (Byte)RandomGen.NextInt(0, 255), (Byte)RandomGen.NextInt(0, 255)); 
    109                 AddCollisionHandler(pallo, KaveriTormaa); 
    110  
    111159        } 
    112160 
     
    122170            Controls.Listen(Keys.Down, ButtonPosition.Down, liikutapalloa, "pelaaja 1: liikuta palloa alas", pallo, 0, -25); 
    123171 
     172             
    124173        } 
    125174        bool liikutapalloa(ControlEvent e) 
     
    135184        void pallonnopeus() 
    136185        { 
     186         
    137187        } 
    138188        void lisaapienitaso(Level kentta, double x, double y, double kulma) 
    139189        { 
    140             Platform taso = new Platform(150, 20, Color.Black); 
     190            Platform taso = new Platform(150, 20, Color.Silver); 
    141191            taso.X = x; 
    142192            taso.Y = y; 
     
    146196        void lisaapienitaso2(Level kentta, double x, double y, double kulma) 
    147197        { 
    148             Platform taso = new Platform(20, 150, Color.Black); 
     198            Platform taso = new Platform(20, 150, Color.Silver); 
    149199            taso.X = x; 
    150200            taso.Y = y; 
     
    154204        void lisaapaaty(Level kentta, double x, double y, double kulma) 
    155205        { 
    156             Platform taso = new Platform(20, 85, Color.Black); 
     206            Platform taso = new Platform(20, 85, Color.Silver); 
    157207            taso.X = x; 
    158208            taso.Y = y; 
     
    165215            if (collision.Other is Platform || collision.Other == this.Level.TopBorder || collision.Other == this.Level.RightBorder || collision.Other == this.Level.LeftBorder || collision.Other == this.Level.BottomBorder) 
    166216            { 
    167                 MessageDisplay.Add("osuit seinään"); 
     217                MessageDisplay.Add("osuit seinään, LOL"); 
    168218                elamalaskuri.Value++; 
    169  
    170             } 
    171              
     219            } 
    172220        } 
    173221 
     
    177225            { 
    178226                collision.Other.Lifetime.IsExpired = true; 
     227                pistelaskuri.Value++; 
    179228            } 
    180229        } 
     
    182231        void ElamatLoppuneet(Meter<int> po) 
    183232        { 
    184             siirraPalloAlkuun(); 
    185             MessageDisplay.Add("elämät loppuivat aloita alusta"); 
     233            //kentanNro = 1; 
     234            AloitaPeli(); 
     235            MessageDisplay.Add("elämät loppuivat aloita alusta, NOOB"); 
    186236            elamalaskuri.Reset(); 
    187237        } 
     
    194244        void lisaaMaali(Level kentta) 
    195245        { 
    196             AddCollisionHandler(maali, saapuumaaliin); 
    197             maali = PhysicsObject.CreateStaticObject(Shapes.CreateCircle(25)); 
     246           
     247            maali = PhysicsObject.CreateStaticObject(Shapes.CreateRectangle(40,100)); 
    198248            maali.Tag = "maali"; 
    199249            maali.IgnoresCollisionResponse = true; 
    200             maali.X = 0; 
    201             maali.Y = 325; 
     250             
     251            maali.X = -605; 
     252            maali.Y = 30; 
    202253            //maali.Texture = Content.Load<Texture2D>("tahti"); 
    203254            kentta.Objects.Add(maali); 
     255            maali.Color = Color.Yellow; 
    204256        } 
    205257        void saapuumaaliin(Collision collision) 
    206258        { 
    207             MessageDisplay.Add("pääsit kentän läpi"); 
    208          
    209         } 
    210         } 
     259            kentanNro++; 
     260            AloitaPeli(); 
     261            MessageDisplay.Add("pääsit kentän läpi, PRO"); 
     262             
     263        } 
     264        void Tavoitepistemaarasaavutettu(Meter<int> po) 
     265        { 
     266            MessageDisplay.Add("pistemäärä on saavutettu. suuntaa kohti maalia!");    // näytetään viestinäytöllä viesti 
     267            AddCollisionHandler(maali, saapuumaaliin); 
     268        } 
     269    } 
    211270 
    212271 
Note: See TracChangeset for help on using the changeset viewer.