Changeset 141


Ignore:
Timestamp:
2009-07-23 14:54:59 (12 years ago)
Author:
paritala
Message:

Tehtiin uudet talot.

Location:
panu_l/Hyppija
Files:
8 added
2 edited

Legend:

Unmodified
Added
Removed
  • panu_l/Hyppija/Content/Content.contentproj

    r69 r141  
    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>20abd3bd-257f-4e09-898b-3966620e7cf8</ProjectGuid> 
     
    1818    <XnaPlatform>Windows</XnaPlatform> 
    1919  </PropertyGroup> 
    20  <ItemGroup> 
     20  <ItemGroup> 
    2121    <Compile Include="norsu.png"> 
    2222      <Name>norsu</Name> 
     
    7474    <Reference Include="Microsoft.Xna.Framework.Content.Pipeline.XImporter, Version=3.1.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d" /> 
    7575  </ItemGroup> 
     76  <ItemGroup> 
     77    <Compile Include="talo1.png"> 
     78      <Name>talo1</Name> 
     79      <Importer>TextureImporter</Importer> 
     80      <Processor>TextureProcessor</Processor> 
     81    </Compile> 
     82  </ItemGroup> 
     83  <ItemGroup> 
     84    <Compile Include="talo2.png"> 
     85      <Name>talo2</Name> 
     86      <Importer>TextureImporter</Importer> 
     87      <Processor>TextureProcessor</Processor> 
     88    </Compile> 
     89    <Compile Include="talo3.png"> 
     90      <Name>talo3</Name> 
     91      <Importer>TextureImporter</Importer> 
     92      <Processor>TextureProcessor</Processor> 
     93    </Compile> 
     94    <Compile Include="talo4.png"> 
     95      <Name>talo4</Name> 
     96      <Importer>TextureImporter</Importer> 
     97      <Processor>TextureProcessor</Processor> 
     98    </Compile> 
     99    <Compile Include="talo5.png"> 
     100      <Name>talo5</Name> 
     101      <Importer>TextureImporter</Importer> 
     102      <Processor>TextureProcessor</Processor> 
     103    </Compile> 
     104  </ItemGroup> 
     105  <ItemGroup> 
     106    <Compile Include="talo6.png"> 
     107      <Name>talo6</Name> 
     108      <Importer>TextureImporter</Importer> 
     109      <Processor>TextureProcessor</Processor> 
     110    </Compile> 
     111  </ItemGroup> 
    76112  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    77113  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.  
  • panu_l/Hyppija/Peli.cs

    r127 r141  
    289289            lisaaNappaimet(); 
    290290            lisaaMaali(); 
     291            LuoPistelaskuri(); 
    291292        } 
    292293 
     
    302303        double kameranNopeus = 0.00004; 
    303304        Timer ajastin; 
     305        Meter<int> pisteLaskuri; 
     306        ValueDisplay pisteNaytto; 
     307 
    304308 
    305309        void LuoPelaaja() 
     
    307311            //IShape pelaaja = Shapes.CreateCircle(20); 
    308312            //kalle = new PlatformCharacter (10.0, pelaaja); 
    309              
    310             
     313 
     314 
    311315 
    312316            kalle = new PlatformCharacter(4, Shapes.CreateCircle(20)); 
     
    318322 
    319323 
    320              
     324 
    321325        } 
    322326        void LuoKentta() 
    323327        { 
    324             Gravity = new Vector2D(0, -1000);             
     328            Gravity = new Vector2D(0, -1000); 
    325329            int x = LuoTalot(); 
    326330            //LuoTalo(0, -500); 
    327             vesi = new Platform(x+2500, 100, Color.Blue); 
     331            vesi = new Platform(x + 4500, 100, Color.Blue); 
    328332            Level.Objects.Add(vesi); 
    329333            vesi.Y = -500; 
    330             vesi.X = x  - 1000; 
     334            vesi.X = x - 1000; 
    331335            MessageDisplay.Add("Nyt on kiire..."); 
    332336        } 
     
    334338        protected override void Update(GameTime gameTime) 
    335339        { 
     340 
    336341 
    337342            base.Update(gameTime); 
    338343            if (PeliMaalissa || PelaajaKuoli) return; 
    339       
     344 
    340345            double muutos = gameTime.ElapsedGameTime.Ticks * kameranNopeus; 
    341346            Camera.Position = new Vector2D(Camera.Position.X + muutos, Camera.Position.Y); 
    342         } 
     347 
     348            if (pisteLaskuri != null) 
     349            { 
     350                pisteLaskuri.Value = gameTime.TotalGameTime.TotalMilliseconds.ToInt() / 100; 
     351            } 
     352            if (Camera.Position.X > kalle.Position.X + 1000) 
     353            { 
     354                kalle.Lifetime.IsExpired = true; 
     355                MessageDisplay.Add("Hukuit!"); PelaajaKuoli = true; 
     356            } 
     357        }     
     358             
     359             
     360         
    343361 
    344362        private int LuoTalot() 
     
    350368            Random r = new Random(1); 
    351369 
    352             for (int i = 0; i < 3; i++) 
     370            for (int i = 0; i < 30; i++) 
    353371            { 
    354372                w = r.Next(200, 400); 
    355373                h = r.Next(50, 200); 
    356                 LuoTalo(x, h -300, w, 2*h+300); 
     374                LuoTalo2(x, h - 300, w, 2 * h + 300); 
    357375                dx = 200; 
    358                 if ( r.Next(100) > 90 ) 
    359                    dx = r.Next(100, 250); 
     376                if (r.Next(100) > 90) 
     377                    dx = r.Next(100, 250); 
    360378                x += w + dx; 
    361379            } 
    362380            return x; 
     381        } 
     382 
     383        void LuoTalo2(int x, int y, int w, int h) 
     384        { 
     385 
     386            int ac = 255 / 2 - 10, lc = 255 / 2 + 10; 
     387            Color talonvari = new Color((Byte)RandomGen.NextInt(ac, lc), (Byte)RandomGen.NextInt(ac, lc), (Byte)RandomGen.NextInt(ac, lc)); 
     388 
     389            Platform talo = new Platform(w, h, talonvari); 
     390            talo.X = x; 
     391            talo.Y = y; 
     392            Level.Objects.Add(talo); 
     393 
     394            int nr = RandomGen.NextInt(1, 6);  
     395 
     396            talo.Texture = Content.Load<Texture2D>("talo"+nr); 
     397            int n = 2; 
     398            double dx = 1.0 * w / n; 
     399            double kx = 0; 
     400 
     401            for (int i = 0; i < n; i++) 
     402            { 
     403                Platform katto = new Platform(1.0 * w / n, 10, Color.Black); 
     404                katto.X = x + kx - w / 2.0 + dx / 2; 
     405                ViimeisenTalonX = katto.X; 
     406                kx += dx; 
     407                katto.Y = y + h / 2; 
     408                Level.Objects.Add(katto); 
     409            } 
     410         
    363411        } 
    364412 
     
    369417            Controls.Listen(Keys.Right, ButtonPosition.Down, liikuta, "Liikkuu oikealle", kalle, new Vector2D(liikeVoima, 0)); 
    370418            Controls.Listen(Keys.Up, ButtonPosition.Pressed, hyppaa, "Hyppää", kalle, (hyppyVoima)); 
    371           
     419 
    372420        } 
    373421        bool liikuta(ControlEvent e) 
     
    375423            PlatformCharacter pelaaja = e.Parameter0 as PlatformCharacter; 
    376424            Vector2D voima = e.Parameter1.ToVector2D(); 
    377             kalle.Hit(voima);              
     425            kalle.Hit(voima); 
    378426            return false; 
    379427        } 
    380428        bool hyppaa(ControlEvent e) 
    381429        { 
    382             PlatformCharacter pelaaja = e.Parameter0 as PlatformCharacter;          
     430            PlatformCharacter pelaaja = e.Parameter0 as PlatformCharacter; 
    383431            double voima = e.Parameter1.ToDouble(); 
    384432            pelaaja.Jump(voima); 
     
    388436        void LuoTalo(int x, int y, int w, int h) 
    389437        { 
    390             Platform talo = new Platform(w, h, Color.Gray); 
     438 
     439            int ac=255/2 - 10, lc = 255/2 + 10; 
     440            Color talonvari = new Color((Byte)RandomGen.NextInt(ac, lc), (Byte)RandomGen.NextInt(ac, lc), (Byte)RandomGen.NextInt(ac, lc)); 
     441                
     442            Platform talo = new Platform(w, h, talonvari); 
    391443            talo.X = x; 
    392444            talo.Y = y; 
     
    394446 
    395447            int n = 2; 
    396             double dx = 1.0*w / n; 
     448            double dx = 1.0 * w / n; 
    397449            double kx = 0; 
     450 
    398451            for (int i = 0; i < n; i++) 
    399452            { 
    400                 Platform katto = new Platform(1.0*w / n, 10, Color.Black); 
    401                 katto.X = x + kx - w/2.0 + dx/2; 
     453                Platform katto = new Platform(1.0 * w / n, 10, Color.Black); 
     454                katto.X = x + kx - w / 2.0 + dx / 2; 
    402455                ViimeisenTalonX = katto.X; 
    403456                kx += dx; 
     
    405458                Level.Objects.Add(katto); 
    406459            } 
    407             int ikkunanKoko = (50); 
    408                 int ikkunoidenVali = ikkunanKoko / 2; 
    409                 int ikkunatLukumaara = (talo.Width / (ikkunanKoko + ikkunoidenVali)).ToInt(); 
    410              
    411             for (int i = 0; i < ikkunatLukumaara; i++) 
    412             { 
    413                 GameObject ikkuna = new GameObject(Shapes.CreateRectangle (ikkunanKoko, ikkunanKoko)); 
    414                 ikkuna.X = talo.X - (ikkunatLukumaara * (ikkunanKoko + ikkunoidenVali) - ikkunoidenVali) / 2 ;                
    415                 ikkuna.Color = Color.DarkGray; 
    416                 //kx += dx; 
    417                 ikkuna.Y = talo.Top - 50; 
    418                 Level.Objects.Add(ikkuna); 
    419             } 
    420          
     460 
     461            //double ikkunanKoko = (50); 
     462            //double ikkunoidenVali = ikkunanKoko / 2; 
     463            //int ikkunatLukumaaraX = (talo.Width / (ikkunanKoko + ikkunoidenVali)).ToInt() - 1; 
     464            //int ikkunatLukumaaraY = (talo.Height / (ikkunanKoko + ikkunoidenVali)).ToInt(); 
     465            ////double iY = (talo.Y - (ikkunatLukumaaraY * (ikkunanKoko + ikkunoidenVali) - ikkunoidenVali) / 2) + ikkunanKoko / 2; 
     466            //double iY = talo.Top - ikkunoidenVali - ikkunanKoko / 2; 
     467 
     468            //for (int j = 0; j < ikkunatLukumaaraY; j++) 
     469            //{ 
     470            //    double iX = (talo.X - (ikkunatLukumaaraX * (ikkunanKoko + ikkunoidenVali) - ikkunoidenVali) / 2) + ikkunanKoko / 2; 
     471            //    for (int i = 0; i < ikkunatLukumaaraX; i++) 
     472            //    { 
     473            //        GameObject ikkuna = new GameObject(Shapes.CreateRectangle(ikkunanKoko, ikkunanKoko)); 
     474            //        ikkuna.X = iX; 
     475            //        iX += ikkunanKoko + ikkunoidenVali; 
     476            //        ikkuna.Y = iY; 
     477            //        ikkuna.Color = Color.DarkGray; 
     478            //        Level.Objects.Add(ikkuna); 
     479            //    } 
     480            //    iY -= ikkunanKoko + ikkunoidenVali; 
     481            //} 
     482 
    421483        } 
    422484 
     
    424486        void VeteenTormays(Collision collision) 
    425487        { 
    426             
    427                 if (collision.Other == vesi) 
    428                 { 
    429                     kalle.Lifetime.IsExpired = true; 
    430                     MessageDisplay.Add("Hukuit!"); PelaajaKuoli = true; 
    431                 } 
    432         } 
    433  
    434          
     488 
     489            if (collision.Other == vesi) 
     490            { 
     491                kalle.Lifetime.IsExpired = true; 
     492                MessageDisplay.Add("Hukuit!"); PelaajaKuoli = true; 
     493            } 
     494        } 
     495 
     496 
    435497        void lisaaMaali() 
    436498        { 
    437499            maali = PhysicsObject.CreateStaticObject(Shapes.CreateCircle(25)); 
    438500            maali.Tag = "maali"; 
    439             
     501 
    440502            maali.X = ViimeisenTalonX; 
    441503            maali.Y = +280; 
     
    454516                ajastin = new Timer(); 
    455517                ajastin.Interval = 3; 
    456                 ajastin.Trigger += new Timer.TriggerHandler( UusiPeli ); 
     518                ajastin.Trigger += new Timer.TriggerHandler(UusiPeli); 
    457519                AddTimer(ajastin); 
    458520                ajastin.Start(); 
     
    468530            kalle.Y = 0; 
    469531            PeliMaalissa = false; 
    470              
    471             Camera.Position = new Vector2D (0, 0); 
    472             kameranNopeus += 0.000005; 
     532 
     533            Camera.Position = new Vector2D(0, 0); 
     534            kameranNopeus += 0.00001; 
    473535            ajastin.Stop(); 
    474536        } 
    475  
    476  
    477  
    478  
    479  
    480  
    481  
    482      
     537        void LuoPistelaskuri() 
     538        { 
     539            // Luodaan pistelaskuri 
     540            pisteLaskuri = new Meter<int>(0, 0, 1000000); 
     541 
     542            // luodaan pistelaskunäyttö 
     543            pisteNaytto = new ValueDisplay(this); 
     544            pisteNaytto.Text = "Pisteitä: "; 
     545            pisteNaytto.X = Screen.RightSafe - 250; 
     546            pisteNaytto.Y = Screen.TopSafe - 50; 
     547            pisteNaytto.BindTo(pisteLaskuri); 
     548            Add(pisteNaytto);    // lisätään peliin 
     549        } 
    483550    } 
    484551} 
Note: See TracChangeset for help on using the changeset viewer.