Changeset 163 for sara_h/Labyrintti_2


Ignore:
Timestamp:
2009-07-24 11:36:03 (11 years ago)
Author:
samafrha
Message:
 
Location:
sara_h/Labyrintti_2
Files:
3 added
2 edited

Legend:

Unmodified
Added
Removed
  • sara_h/Labyrintti_2/Content/Content.contentproj

    r121 r163  
    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>90e515f1-2bd3-4178-ad21-efe318a3583e</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="luu.png"> 
     38      <Name>luu</Name> 
     39      <Importer>TextureImporter</Importer> 
     40      <Processor>TextureProcessor</Processor> 
     41    </Compile> 
     42  </ItemGroup> 
     43  <ItemGroup> 
     44    <Compile Include="koira 1.png"> 
     45      <Name>koira 1</Name> 
     46      <Importer>TextureImporter</Importer> 
     47      <Processor>TextureProcessor</Processor> 
     48    </Compile> 
     49  </ItemGroup> 
     50  <ItemGroup> 
     51    <Compile Include="koira 2.png"> 
     52      <Name>koira 2</Name> 
     53      <Importer>TextureImporter</Importer> 
     54      <Processor>TextureProcessor</Processor> 
     55    </Compile> 
     56  </ItemGroup> 
    3657</Project> 
  • sara_h/Labyrintti_2/Peli.cs

    r137 r163  
    2222    { 
    2323        PhysicsObject pallo1; 
    24         //PhysicsObject pallo2; 
     24        PhysicsObject pallo2; 
    2525         
     26        Meter<int> pistelaskuri;  // pitää yllä pisteitä 
     27        ValueDisplay pisteNaytto;  // näyttää pisteet 
     28        Meter<int> pistelaskuri2;  // pitää yllä pisteitä 
     29        ValueDisplay pisteNaytto2;  // näyttää pisteet 
    2630 
    2731        protected override void LoadContent() 
    2832        { 
    29              
    30             //pallo2 = LuoPallo(); 
    31             pallo1 = LuoPallo(); 
     33            pistelaskuri = new Meter<int>(0, 0, 16);                // oletusarvona on 0, minimiarvona on myös 0 ja maksimiarvona on 100. 
     34            pistelaskuri.UpperLimit += new Meter<int>.OnLimitHandler(LuutKeratty);  // liitetään tapahtuma, kun maksimiarvo on saavutettu eli kun 100 pistettä on täynnä 
     35 
     36            pisteNaytto = new ValueDisplay(this);                    // luodaan pisteNaytto 
     37            pisteNaytto.HorizontalOrigin = HorizontalAlignment.Left;   // asetetaan pisteNayton nollakohdaksi vasen reuna 
     38            pisteNaytto.VerticalOrigin = VerticalAlignment.Top;        // ja yläreuna 
     39            pisteNaytto.Text = "Pelaaja 1: Luita kerätty ";                           // teksti, jonka näyttö näyttää 
     40            pisteNaytto.X = Screen.RightSafe - 250;                    // asetetaan pistenäytön x-koordinaatiksi ruudun oikea reuna, josta on vähennetty 250 pikseliä, jotta näyttö sopii ruudulle 
     41            pisteNaytto.Y = Screen.TopSafe;                            // asetetaan pistenäytön y-koordinaatiksi ruudun yläreuna 
     42            pisteNaytto.BindTo(pistelaskuri);                        // liitetään pisteNaytto pistelaskuriin 
     43            Add(pisteNaytto); 
     44 
     45            pistelaskuri2 = new Meter<int>(0, 0, 16);                // oletusarvona on 0, minimiarvona on myös 0 ja maksimiarvona on 100. 
     46            pistelaskuri2.UpperLimit += new Meter<int>.OnLimitHandler(LuutKeratty);  // liitetään tapahtuma, kun maksimiarvo on saavutettu eli kun 100 pistettä on täynnä 
     47 
     48            pisteNaytto2 = new ValueDisplay(this);                    // luodaan pisteNaytto 
     49            pisteNaytto2.HorizontalOrigin = HorizontalAlignment.Left;   // asetetaan pisteNayton nollakohdaksi vasen reuna 
     50            pisteNaytto2.VerticalOrigin = VerticalAlignment.Top;        // ja yläreuna 
     51            pisteNaytto2.Text = "Pelaaja 2: Luita kerätty ";                           // teksti, jonka näyttö näyttää 
     52            pisteNaytto2.X = Screen.RightSafe - 250;                    // asetetaan pistenäytön x-koordinaatiksi ruudun oikea reuna, josta on vähennetty 250 pikseliä, jotta näyttö sopii ruudulle 
     53            pisteNaytto2.Y = Screen.TopSafe - 30;                            // asetetaan pistenäytön y-koordinaatiksi ruudun yläreuna 
     54            pisteNaytto2.BindTo(pistelaskuri2);                        // liitetään pisteNaytto pistelaskuriin 
     55            Add(pisteNaytto2);    
     56            
     57            pallo1 = LuoPallo(Level.Left + 25, Level.Top - 25); 
     58            pallo2 = LuoPallo(-80, -40); 
     59            pallo1.Texture = Content.Load<Texture2D>("koira1"); 
     60            pallo2.Texture = Content.Load<Texture2D>("koira2"); 
    3261 
    3362            // Tehdään seinät: leveys, korkeus, x-koordinaatti, y-koordinaatti  
    34             LuoSeina(180, 40, -500, 325 );//poikittain 
    35             LuoSeina(40, 150, -570, 380);//eka pystyssä oleva 
    36             LuoSeina(40, 100, -480, 465);//pystyssä ylhäällä 
    37             LuoSeina(40, 135, -390, 330);//pieni 
    38             LuoSeina(180, 40, -320, 400);//2. poikittain oleva 
    39             LuoSeina(40, 115, -250, 360);// pätkä 
    40             LuoSeina(90, 40, -275, 300);// 3.poikittain oleva pätkä 
    41             LuoSeina(40, 135, -160, 350);//yksinäinen 
    42             LuoSeina(40, 150, -70, 350);// yksinäinen 2. 
    43             LuoSeina(40, 160, -570, 130);// vasen yksinäinen 
    44             LuoSeina(40, 50, -570, 280);//mini 
     63            LuoSeina(180, 40, -500, 325 ); 
     64            LuoSeina(40, 150, -570, 380);            
     65            LuoSeina(40, 100, -480, 465); 
     66            LuoSeina(40, 135, -390, 330); 
     67            LuoSeina(180, 40, -320, 400); 
     68            LuoSeina(40, 115, -250, 360); 
     69            LuoSeina(90, 40, -275, 300); 
     70            LuoSeina(40, 135, -160, 350); 
     71            LuoSeina(40, 150, -70, 350); 
     72            LuoSeina(40, 160, -570, 130); 
     73            LuoSeina(40, 50, -570, 280); 
    4574            LuoSeina(40, 50, -340, 500); 
    4675            LuoSeina(40, 50, -250, 500); 
    47             LuoSeina(160, 40, -130, 200);//poikittain 
     76            LuoSeina(160, 40, -130, 200); 
    4877            LuoSeina(40, 40, -20, 100); 
    4978            LuoSeina(40, 100, -20, -20); 
    5079            LuoSeina(40, 90, -300, 180); 
    51  
    52             LuoLuu(10, 10); 
     80            LuoSeina(120, 40, -100, -90); 
     81            LuoSeina(40, 150, -180, 70); 
     82            LuoSeina(40, 40, -100, 100); 
     83            LuoSeina(150, 40, -320, 15); 
     84            LuoSeina(40, 130, -375, -40); 
     85            LuoSeina(40, 100, -390, 150); 
     86            LuoSeina(60, 40, -470, 20); 
     87            LuoSeina(40, 100, -490, 50); 
     88            LuoSeina(40, 40, -460, -85); 
     89            LuoSeina(40, 40, -490, -85); 
     90            LuoSeina(40, 65, -530, -30); 
     91            LuoSeina(40, 50, -615, 25); 
     92             
     93 
     94 
     95            LuoLuu(-15, 50); 
     96            LuoLuu(-210, 135); 
     97            LuoLuu(-300, 330); 
     98            LuoLuu(-280, 370); 
     99            LuoLuu(-360, 370); 
     100            LuoLuu(-370, 505); 
     101            LuoLuu(-310, 505); 
     102            LuoLuu(-30, 505); 
     103            LuoLuu(-510, 505); 
     104            LuoLuu(-420, 355); 
     105            LuoLuu(-420, 295); 
     106            LuoLuu(-460, 50); 
     107            LuoLuu(-460, -55); 
     108            LuoLuu(-500, -10); 
     109            LuoLuu(-600, 60); 
     110            LuoLuu(-630, 60); 
     111            LuoLuu(-520, 20); 
    53112 
    54113            AsetaOhjaimet(); 
     
    61120 
    62121            //Pelaajan 1 näppäimet 
    63             Controls.Listen(Keys.W, ButtonPosition.Down, LiikutaPalloa, "Pelaaja 1 liikkuu ylöspäin", pallo1, new Vector2D(-1000, 0)); 
     122            Controls.Listen(Keys.Up, ButtonPosition.Down, LiikutaPalloa, "Pelaaja 1 liikkuu ylöspäin", pallo1, new Vector2D(0, 1000)); 
    64123            //Controls.Listen(Keys.W, ButtonPosition.Released, PysaytaLiike, null, pallo1); 
    65             Controls.Listen(Keys.S, ButtonPosition.Down, LiikutaPalloa, "Pelaaja 1 liikkuu alaspäin", pallo1, new Vector2D(1000, 0)); 
    66             Controls.Listen(Keys.A, ButtonPosition.Down, LiikutaPalloa, "Pelaaja 1 liikkuu vasemmalle", pallo1, new Vector2D(0, 1000)); 
    67             Controls.Listen(Keys.D, ButtonPosition.Down, LiikutaPalloa, "Pelaaja 1 liikkuu oikealle", pallo1, new Vector2D(0, -1000)); 
     124            Controls.Listen(Keys.Down, ButtonPosition.Down, LiikutaPalloa, "Pelaaja 1 liikkuu alaspäin", pallo1, new Vector2D(0, -1000)); 
     125            Controls.Listen(Keys.Left, ButtonPosition.Down, LiikutaPalloa, "Pelaaja 1 liikkuu vasemmalle", pallo1, new Vector2D(-1000, 0)); 
     126            Controls.Listen(Keys.Right, ButtonPosition.Down, LiikutaPalloa, "Pelaaja 1 liikkuu oikealle", pallo1, new Vector2D(1000, 0)); 
     127 
     128            //Pelaajan 1 näppäimet 
     129            Controls.Listen(Keys.W, ButtonPosition.Down, LiikutaPalloa, "Pelaaja 2 liikkuu ylöspäin", pallo2, new Vector2D(0, 1000)); 
     130            //Controls.Listen(Keys.W, ButtonPosition.Released, PysaytaLiike, null, pallo1); 
     131            Controls.Listen(Keys.S, ButtonPosition.Down, LiikutaPalloa, "Pelaaja 2 liikkuu alaspäin", pallo2, new Vector2D(0, -1000)); 
     132            Controls.Listen(Keys.A, ButtonPosition.Down, LiikutaPalloa, "Pelaaja 2 liikkuu vasemmalle", pallo2, new Vector2D(-1000, 0)); 
     133            Controls.Listen(Keys.D, ButtonPosition.Down, LiikutaPalloa, "Pelaaja 2 liikkuu oikealle", pallo2, new Vector2D(1000, 0)); 
     134 
    68135 
    69136        } 
     
    77144            luu.Y = y; 
    78145            Level.Objects.Add(luu); 
     146            AddCollisionHandler(luu, OsuttiinLuuhun); 
     147            luu.Texture = Content.Load<Texture2D>("luu");             
    79148            return luu; 
    80  
    81149    } 
    82150 
    83         PhysicsObject LuoPallo() 
     151        PhysicsObject LuoPallo(double x, double y) 
    84152        { 
    85153            IShape ympyra = Shapes.CreateCircle(20.0); 
    86             PhysicsObject pallo = new PhysicsObject(10.0,ympyra); 
     154            PhysicsObject pallo = new PhysicsObject(5,ympyra); 
    87155            pallo.Body.LinearDamping = 0.95; 
    88             pallo.X = Level.Left + 25; 
    89             pallo.Y = Level.Top - 25; 
     156            pallo.X = x; 
     157            pallo.Y = y; 
    90158            //pallo.Restitution = 1.0; 
    91159            Level.Objects.Add(pallo); 
     
    111179             
    112180        } 
    113 PhysicsObject LuoMaali() 
    114  
    115     { 
    116         IShape ympyra = Shapes.CreateCircle(20.0); 
    117         PhysicsObject pallo = new PhysicsObject(10.0, ympyra); 
    118         Level.Objects.Add(pallo); 
    119         return pallo; 
    120  
    121  
    122     } 
     181        PhysicsObject LuoMaali() 
     182        { 
     183            IShape ympyra = Shapes.CreateCircle(20.0); 
     184            PhysicsObject pallo = new PhysicsObject(10.0, ympyra); 
     185            Level.Objects.Add(pallo); 
     186            return pallo; 
     187        } 
     188 
     189        void OsuttiinLuuhun(Collision c) 
     190        { 
     191            if (c.Other == pallo1) 
     192            { 
     193                c.Obj.Lifetime.IsExpired = true; 
     194                pistelaskuri.Value++;       // lisää yhden pisteen                 
     195            } 
     196 
     197            if (c.Other == pallo2) 
     198            { 
     199                c.Obj.Lifetime.IsExpired = true; 
     200                pistelaskuri2.Value++; 
     201            } 
     202        } 
     203 
     204        private void LuutKeratty(Meter<int> po) 
     205        { 
     206            MessageDisplay.Add("Hienoa, kaikki luut on kerätty!");    // näytetään viestinäytöllä viesti 
     207        } 
     208 
    123209    } 
    124210} 
Note: See TracChangeset for help on using the changeset viewer.