Changeset 175


Ignore:
Timestamp:
2009-07-24 13:04:51 (10 years ago)
Author:
sajennia
Message:

peli on valmis!!!!!!!!!

Location:
anniina_s/Sora
Files:
4 added
3 edited

Legend:

Unmodified
Added
Removed
  • anniina_s/Sora/Content/Content.contentproj

    r115 r175  
    9595    </Compile> 
    9696  </ItemGroup> 
     97  <ItemGroup> 
     98    <Compile Include="Sora2.png"> 
     99      <Name>Sora2</Name> 
     100      <Importer>TextureImporter</Importer> 
     101      <Processor>TextureProcessor</Processor> 
     102    </Compile> 
     103  </ItemGroup> 
     104  <ItemGroup> 
     105    <Compile Include="haru.png"> 
     106      <Name>haru</Name> 
     107      <Importer>TextureImporter</Importer> 
     108      <Processor>TextureProcessor</Processor> 
     109    </Compile> 
     110  </ItemGroup> 
     111  <ItemGroup> 
     112    <Compile Include="tatti.png"> 
     113      <Name>tatti</Name> 
     114      <Importer>TextureImporter</Importer> 
     115      <Processor>TextureProcessor</Processor> 
     116    </Compile> 
     117  </ItemGroup> 
    97118  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    98119  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.  
  • anniina_s/Sora/Peli.cs

    r115 r175  
    1010using Jypeli.ScreenObjects; 
    1111using Jypeli.Assets; 
     12using Physics2DDotNet.Shapes; 
    1213 
    1314 
     
    3031        PlatformCharacter pelaaja1;  
    3132        PhysicsObject maali; 
     33        PlatformCharacter pelaaja2;  
    3234 
    3335        int kenttaNro; // monesko kenttä on menossa 
     36 
     37        
    3438 
    3539        #endregion 
     
    5963 
    6064            // Zoomataan lähemmäksi 
    61             Camera.ZoomFactor = 2.0; 
     65            Camera.ZoomFactor = 1.0; 
    6266 
    6367            aloitaUusiPeli(); 
     
    6872        { 
    6973            MessageDisplay.Clear(); 
    70  
    71             kenttaNro = 3; 
    72  
     74            kenttaNro = 0; 
    7375            // ladataan kenttä 
    7476            Level = seuraavaKentta(); 
     
    7779            MessageDisplay.Add("Etsi iso tähti!"); 
    7880            MessageDisplay.Add("Mutta varo vampireitä!..."); 
     81            MessageDisplay.Add(" älä anna vampiren koskea päähän!"); 
    7982        } 
    8083        #endregion 
    81  
    8284 
    8385        #region KentanLataus 
     
    8789            kenttaNro += 1; // lisätään kenttänumeroa yhdellä 
    8890            MessageDisplay.Add("Kenttä " + kenttaNro); 
    89             Level seuraava = luoKentta(); 
     91            Level seuraava = luoKentta(); // muista ottaa kakkonen pois lopussa 
    9092            lisaaNappaimet(); 
    9193            Camera.Follow(pelaaja1); 
     
    9496 
    9597        Level luoKentta() 
     98        { 
     99            if (kenttaNro == 1) return luoKentta1(); 
     100            if (kenttaNro == 2) return luoKentta2(); 
     101 
     102            return luoKentta1(); 
     103        } 
     104 
     105 
     106        Level luoKentta1() 
    96107        { 
    97108            Level kentta = new Level(this, 2000, 1000); 
     
    110121 
    111122            lisaaPieniTaso(kentta, 200, -400); 
    112  
     123            lisaaPieniTaso(kentta, 100, -200); 
     124            lisaaPieniTaso(kentta, 90, -100); 
     125            lisaaPieniTaso(kentta, 500, -10); 
     126            lisaaPieniTaso(kentta, 50, 100); 
    113127 
    114128            lisaaPieniTaso(kentta, 600, 0); 
     
    119133            lisaaTahdet(kentta); 
    120134 
    121             int vihollistenMaara = kenttaNro; 
     135            int vihollistenMaara = kenttaNro+3; 
    122136            lisaaViholliset(kentta, vihollistenMaara); 
    123137 
    124138            return kentta; 
    125139        } 
     140 
     141 
     142        Level luoKentta2() 
     143        { 
     144            Level kentta = new Level(this, 2000, 1000); 
     145            kentta.CreateBorder(); 
     146            kentta.Borders.Visible = false; 
     147            kentta.Background.CreateGradient(Color.White, Color.Gray); 
     148 
     149            Platform alusta = new Platform(kentta.Width, 300, Color.GhostWhite); 
     150            alusta.X = 0; 
     151            alusta.Y = kentta.Bottom - alusta.Height / 2; 
     152            kentta.Objects.Add(alusta); 
     153 
     154            lisaaPieniTaso( kentta, - 150, -400); 
     155            lisaaPieniTaso( kentta, 10, -100); 
     156            lisaaPieniTaso( kentta, - 250, -360); 
     157 
     158            lisaaPieniTaso( kentta, - 300, -20); 
     159            lisaaPieniTaso( kentta, -50, -550); 
     160            lisaaPieniTaso( kentta, - 200, -110); 
     161            lisaaPieniTaso( kentta, - 100, 340); 
     162            lisaaPieniTaso( kentta, - 705, 222); 
     163            lisaaPieniTaso( kentta, 168, 450); 
     164            lisaaPieniTaso(kentta, 120, -201); 
     165            lisaaPieniTaso(kentta, 160, -200); 
     166            lisaaPieniTaso(kentta, 200, -400); 
     167            lisaaPieniTaso(kentta, -500, -230); 
     168 
     169            lisaaMaali(kentta); 
     170            lisaaPelaajat(kentta); 
     171            lisaaTahdet(kentta); 
     172 
     173            int vihollistenMaara = kenttaNro + 3; 
     174            lisaaViholliset(kentta, vihollistenMaara); 
     175 
     176            return kentta; 
     177        } 
     178 
     179 
     180 
    126181 
    127182        void lisaaPieniTaso(Level kentta, double x, double y) 
     
    136191        { 
    137192            pelaaja1 = new PlatformCharacter(4, Shapes.CreateCircle(20)); 
    138             pelaaja1.Texture = Content.Load<Texture2D>("Sora"); 
     193            pelaaja1.Texture = Content.Load<Texture2D>("Sora2"); 
    139194            pelaaja1.X = 0; 
     195            pelaaja1.Tag = "pelaaja"; 
    140196            pelaaja1.Y = kentta.Bottom + 120; 
    141197 
     
    143199 
    144200            kentta.Objects.Add(pelaaja1); 
     201            pelaaja2 = new PlatformCharacter(4, Shapes.CreateCircle(20)); 
     202            pelaaja2.Texture = Content.Load<Texture2D>("haru"); 
     203            pelaaja2.X = 0; 
     204            pelaaja2.Tag = "pelaaja"; 
     205            pelaaja2.Y = kentta.Bottom + 250; 
     206 
     207            AddCollisionHandler(pelaaja2, osuiMaaliin); 
     208 
     209            kentta.Objects.Add(pelaaja2); 
    145210        } 
    146211 
     
    156221                AddCollisionHandler(tahti, keraa); 
    157222                kentta.Objects.Add(tahti); 
    158  
    159223            } 
    160224        } 
     
    165229            maali.Tag = "maali"; 
    166230            maali.IgnoresCollisionResponse = true; 
    167             maali.X = 0; 
     231            maali.X = 5; 
    168232            maali.Y = 325; 
    169233            maali.Texture = Content.Load<Texture2D>("tahti"); 
     
    180244                vihollinen.Y = maali.Y; 
    181245                vihollinen.IgnoresGravity = true; 
    182                 vihollinen.Texture = Content.Load<Texture2D>("vampire"); 
     246                if (RandomGen.NextBool()) 
     247                { 
     248                    vihollinen.Texture = Content.Load<Texture2D>("vampire"); 
     249                } 
     250                else 
     251                { 
     252                    vihollinen.Texture = Content.Load<Texture2D>("tatti"); 
     253                } 
     254 
    183255                AddCollisionHandler(vihollinen, tuuppaa); 
    184256                kentta.Objects.Add(vihollinen); 
     257                vihollinen.Tag = "vihollinen"; 
    185258            } 
    186259        } 
     
    192265        void lisaaNappaimet() 
    193266        { 
     267            ClearControls(); 
     268           
    194269            //Yleiset näppäimet 
    195270            Controls.Listen(Keys.Enter, ButtonPosition.Pressed, uusiPeli, "Aloittaa uuden pelin"); 
     
    198273            Controls.Listen(Keys.Left, ButtonPosition.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, new Vector2D(-liikeVoima, 0)); 
    199274            Controls.Listen(Keys.Right, ButtonPosition.Down, liikuta, "Liikkuu oikealle", pelaaja1, new Vector2D(liikeVoima, 0)); 
    200             Controls.Listen(Keys.Up, ButtonPosition.Pressed, hyppaa, "Hyppää", pelaaja1, hyppyVoima); 
    201  
    202             lisaaGamePadNappaimet(PlayerIndex.One, pelaaja1); 
     275           Controls.Listen(Keys.Up, ButtonPosition.Pressed, hyppaa, "Hyppää", pelaaja1, hyppyVoima); 
     276           Controls.Listen(Keys.Space, ButtonPosition.Pressed, heita, "Heitä", pelaaja1, 2000); 
     277           Controls.Listen(Keys.X, ButtonPosition.Pressed, heita, "Heitä", pelaaja1, -2000);            
     278 
     279            lisaaGamePadNappaimet(PlayerIndex.One, pelaaja2); 
     280 
     281 
    203282        } 
    204283 
     
    211290            Controls.Listen(pelaajaNro, Buttons.DPadRight, ButtonPosition.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja, new Vector2D(liikeVoima, 0)); 
    212291            Controls.Listen(pelaajaNro, Buttons.A, ButtonPosition.Pressed, hyppaa, "Pelaaja hyppää", pelaaja, hyppyVoima); 
     292            Controls.Listen(pelaajaNro, Buttons.B,ButtonPosition. Pressed,  heita, "Pelaaja Heitää oikealle", pelaaja, 2000); 
     293           Controls.Listen(pelaajaNro, Buttons.X,ButtonPosition. Pressed,  heita, "Pelaaja Heitää vasemalle", pelaaja, -2000); 
    213294        } 
    214295 
     
    234315        } 
    235316 
     317        bool heita(ControlEvent e) 
     318        { 
     319            PlatformCharacter hahmo = e.Parameter0 as PlatformCharacter; 
     320            double voima = e.Parameter1.ToDouble(); 
     321 
     322            IShape ympyra = Shapes.CreateCircle(10.0); 
     323            PhysicsObject pallo = new PhysicsObject ( 10.0, ympyra ); 
     324            pallo.X= hahmo.X; 
     325            pallo.Y = hahmo.Y; 
     326            pallo.Restitution = 1.0; 
     327            Level.Objects.Add( pallo ); 
     328            AddCollisionHandler ( pallo, KasittelepallonTormays ); 
     329            pallo.Color = Color.Indigo; 
     330            Vector2D impulssi = new Vector2D(voima, 0.0); 
     331            pallo.Hit(impulssi); 
     332 
     333            return false; 
     334        } 
     335        void KasittelepallonTormays(Collision c) 
     336        { 
     337            if (c.Other.Tag == "vihollinen") 
     338            { 
     339                Level.Objects.Remove(c.Other); 
     340            } 
     341            if (c.Other.Tag != "pelaaja") 
     342            { 
     343                Level.Objects.Remove(c.Obj); 
     344            } 
     345        } 
    236346        bool uusiPeli(ControlEvent e) 
    237347        { 
     
    258368        void keraa(Collision collision) 
    259369        { 
    260             if (collision.Other.Equals(pelaaja1)) 
    261             { 
     370            if (collision.Other.Equals(pelaaja1) || collision.Other.Equals(pelaaja2)) 
     371            { 
     372 
    262373                PhysicsObject tahti = collision.Obj; 
    263374                tahti.Lifetime.IsExpired = true; 
     
    268379        } 
    269380 
    270         // Haamu tuuppaa pelaajaa 
     381        // vampire tappaa tuuppaa pelaajan 
    271382        void tuuppaa(Collision collision) 
    272383        { 
    273384            if (collision.Other is PlatformCharacter) 
    274385            { 
    275                 double luku1 = RandomGen.NextIntRange(-10000, -8000, 8000, 10000); 
    276                 double luku2 = RandomGen.NextIntRange(-10000, -8000, 8000, 10000); 
    277  
    278                 if (collision.Other == pelaaja1) 
     386                PlatformCharacter pelaaja = collision.Other as PlatformCharacter; 
     387 
     388                if (pelaaja == pelaaja1 || pelaaja == pelaaja2) 
    279389                { 
     390                    PhysicsObject vampire = collision.Obj; 
     391                    if (vampire.Y > pelaaja.Y) // Vihollinen kuolee jos hypätään sen päälle 
     392                    { 
     393                        pelaaja.Lifetime.IsExpired = true; 
     394                    } 
    280395                    // pieni värinä törmäyksestä 
    281396                    Controls.GameControllers[PlayerIndex.One].Vibrate(0.5, 0.5, 0.0, 0.0, 0.1); 
     397 
     398                    vampire.Lifetime.IsExpired = true; 
     399 
    282400                } 
    283                 this.PlaySound("tuuppaus"); 
    284                 collision.Other.Hit(new Vector2D(luku1, luku2)); 
    285401            } 
    286402        } 
Note: See TracChangeset for help on using the changeset viewer.