Changeset 6340


Ignore:
Timestamp:
2015-06-25 11:51:08 (8 years ago)
Author:
anmurtok
Message:
 
Location:
2015/26/AtteK/Tasohyppelypeli
Files:
24 added
15 edited

Legend:

Unmodified
Added
Removed
  • 2015/26/AtteK/Tasohyppelypeli/Tasohyppelypeli/Tasohyppelypeli/Tasohyppelypeli.cs

    r6265 r6340  
    1515 
    1616    PlatformCharacter pelaaja1; 
    17     int kenttänumero = 1; 
     17    IntMeter yrityslaskuri=new IntMeter(0); 
     18    IntMeter kolikkolaskuri = new IntMeter(0); 
     19 
     20 
     21    int kenttänumero = 2; 
     22 
     23    Image tankkikuva = LoadImage("tankki"); 
     24    Image ammuskuva = LoadImage("Ammus"); 
    1825    Image donitsikuva = LoadImage("Donitsi"); 
    1926    Image[] PoliisiAtt = LoadImages("Polisi", "Polisiattack"); 
     
    4148        aloitapeli(); 
    4249    } 
     50    void LuoPistelaskuri() 
     51    { 
     52        Label YritysNaytto = new Label(); 
     53        YritysNaytto.X = Screen.Left + 200; 
     54        YritysNaytto.Y = Screen.Top - 100; 
     55        YritysNaytto.TextColor = Color.White; 
     56        YritysNaytto.TextScale *= 3; 
     57        YritysNaytto.IntFormatString = "yritykset {0}";        
     58        YritysNaytto.BindTo(yrityslaskuri); 
     59        Add(YritysNaytto); 
     60 
     61        Label KolikkoNaytto = new Label(); 
     62        KolikkoNaytto.X = Screen.Right - 200; 
     63        KolikkoNaytto.Y = Screen.Top - 100; 
     64        KolikkoNaytto.TextColor = Color.White; 
     65        KolikkoNaytto.TextScale *= 3; 
     66        KolikkoNaytto.IntFormatString = "x{0}"; 
     67        KolikkoNaytto.BindTo(kolikkolaskuri); 
     68        Add(KolikkoNaytto); 
     69 
     70        Label kolikkokuva = new Label(); 
     71        kolikkokuva.Image = tahtiKuva; 
     72        kolikkokuva.Position = KolikkoNaytto.Position; 
     73        kolikkokuva.X -= 70; 
     74        Add(kolikkokuva); 
     75        kolikkokuva.Size = new Vector(60, 60); 
     76    } 
     77 
    4378    void seuraavakenttä() 
     79 
    4480    { 
    4581        kenttänumero++; 
     
    5086    { 
    5187        ClearAll(); 
     88 
     89        kolikkolaskuri.Value = 0; 
    5290 
    5391        nopeus = new DoubleMeter(300); 
     
    6199        Camera.ZoomFactor = 1.9; 
    62100        Camera.StayInLevel = true; 
     101 
     102        LuoPistelaskuri(); 
    63103    } 
    64104 
     
    67107        TileMap kentta = TileMap.FromLevelAsset("kentta"+kenttänumero); 
    68108        kentta.SetTileMethod('T', LisaaTiili); 
     109        kentta.SetTileMethod('O', LisaaPudotettava); 
    69110        kentta.SetTileMethod('L', LisaaLoppu); 
    70111        kentta.SetTileMethod('#', LisaaTaso); 
     
    72113        kentta.SetTileMethod('N', LisaaPelaaja); 
    73114        kentta.SetTileMethod('K', LisaaPowerup); 
     115        kentta.SetTileMethod('S', LisaaTankki); 
    74116        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    75117        TileMap kentta2 = TileMap.FromLevelAsset("kentta"+kenttänumero); 
     
    90132        taso.Image = ruohokuva; 
    91133    } 
     134    void LisaaPudotettava(Vector paikka, double leveys, double korkeus) 
     135    { 
     136        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     137        taso.Position = paikka; 
     138        taso.Color = Color.Green; 
     139        taso.IgnoresGravity = true; 
     140        Add(taso); 
     141        taso.Image = donitsikuva; 
     142        taso.Tag = "pudotettava"; 
     143        taso.IgnoresCollisionResponse = true; 
     144        AddCollisionHandler(taso, "lyonti", delegate(PhysicsObject pudotettava, PhysicsObject nyrkki) 
     145        { 
     146            pudotettava.Velocity = new Vector(0, -800); 
     147            Timer.SingleShot(10, delegate { LisaaPudotettava(paikka, leveys, korkeus); }); 
     148        }); 
     149    } 
     150   
    92151    void LisaaTiili (Vector paikka, double leveys, double korkeus) 
    93152    { 
     
    128187 
    129188        PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 
     189        tasoAivot.TriesToJump = true; 
    130190        tasoAivot.Speed = 100; 
    131191 
     
    137197        seuraajanAivot.FarBrain = tasoAivot; 
    138198 
    139         //seuraajanAivot.TargetClose +=  
     199         
    140200 
    141201        Vihollinen1.Brain = seuraajanAivot; 
    142202        AddCollisionHandler(Vihollinen1, "lyonti", osuma); 
     203 
     204        Timer ajastin = new Timer(); 
     205        ajastin.Interval = 0.75; 
     206        ajastin.Timeout += delegate 
     207        { 
     208            Vihollinen1.Jump(400); 
     209 
     210        }; 
     211        ajastin.Start(); 
    143212     
    144213    } 
     
    150219        Polisi.CollisionIgnoreGroup = 1; 
    151220        Polisi.Tag = "vihollinen"; 
     221        Polisi.Animation = new Animation(PoliisiAtt) { FPS = 2 }; 
     222        Polisi.Animation.Start(); 
    152223        Add(Polisi); 
    153224       // Polisi.AnimWalk = new Animation(vihukavely); 
     
    170241 
    171242        Timer ajastin = new Timer(); 
    172         ajastin.Interval = 0.75; 
     243        ajastin.Interval = 1; 
    173244        ajastin.Timeout += delegate 
    174245        { 
    175             PhysicsObject Donitsi = new PhysicsObject(20, 20); 
    176             Donitsi.Image = donitsikuva; 
    177             Donitsi.Position = Polisi.Position; 
    178             Donitsi.Hit((pelaaja1.Position - Polisi.Position).Normalize() * 1500); 
    179             Add(Donitsi); 
    180             Donitsi.Shape = Shape.Circle; 
    181             Donitsi.LifetimeLeft = TimeSpan.FromSeconds(0.75); 
    182             Donitsi.Tag = "vihollinen"; 
    183             AddCollisionHandler(Donitsi, "lyonti", osuma); 
    184             AddCollisionHandler(Donitsi, CollisionHandler.ExplodeObject(100,true)); 
    185             Donitsi.CollisionIgnoreGroup = 1; 
     246            if (!Polisi.IsDestroyed) 
     247            { 
     248                //Polisi.PlayAnimation(new Animation(PoliisiAtt) { FPS = 1 }); 
     249                PhysicsObject Donitsi = new PhysicsObject(17, 17); 
     250                Donitsi.Image = donitsikuva; 
     251                Donitsi.Position = Polisi.Position; 
     252                Donitsi.Hit((pelaaja1.Position - Polisi.Position).Normalize() * 1500); 
     253                Add(Donitsi); 
     254                Donitsi.Shape = Shape.Circle; 
     255                Donitsi.LifetimeLeft = TimeSpan.FromSeconds(0.75); 
     256                Donitsi.Tag = "vihollinen"; 
     257                AddCollisionHandler(Donitsi, "lyonti", osuma); 
     258                AddCollisionHandler(Donitsi, CollisionHandler.ExplodeObject(100, true)); 
     259                Donitsi.CollisionIgnoreGroup = 1; 
     260            } 
    186261        }; 
    187262        ajastin.Start(); 
    188263 
    189264    } 
     265    void LisaaTankki(Vector paikka, double leveys, double korkeus) 
     266    { 
     267        PlatformCharacter Tankki = new PlatformCharacter(leveys*4, korkeus*2); 
     268        Tankki.Position = paikka; 
     269        Tankki.Image = tankkikuva; 
     270        Tankki.CollisionIgnoreGroup = 1; 
     271        //Tankki.Tag = "vihollinen"; 
     272        //Tankki.Animation = new Animation(PoliisiAtt) { FPS = 2 }; 
     273        //Tankki.Animation.Start(); 
     274        Add(Tankki); 
     275 
     276        // Polisi.AnimWalk = new Animation(vihukavely); 
     277        //Polisi.AnimWalk.FPS = 4; 
     278 
     279        PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 
     280        tasoAivot.Speed = 100; 
     281 
     282        FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja1); 
     283        seuraajanAivot.Speed = 425; 
     284        seuraajanAivot.DistanceFar = 300; 
     285        seuraajanAivot.DistanceClose = 200; 
     286        seuraajanAivot.StopWhenTargetClose = false; 
     287        seuraajanAivot.FarBrain = tasoAivot; 
     288 
     289        IntMeter elämät = new IntMeter(3); 
     290 
     291        Tankki.Brain = tasoAivot; 
     292        AddCollisionHandler(Tankki, "pudotettava", delegate(PhysicsObject vihollinen, PhysicsObject nyrkki) 
     293        { 
     294            elämät.Value--; 
     295            if (elämät.Value == 0) 
     296            { 
     297                Tankki.Destroy(); 
     298            } 
     299        }); 
     300 
     301        Timer ajastin = new Timer(); 
     302        ajastin.Interval = 1; 
     303        ajastin.Timeout += delegate 
     304        { 
     305            if (!Tankki.IsDestroyed && Math.Sign(Tankki.FacingDirection.GetVector().X) == Math.Sign(pelaaja1.X - Tankki.X)) 
     306            { 
     307                //Polisi.PlayAnimation(new Animation(PoliisiAtt) { FPS = 1 }); 
     308                PhysicsObject Ammus = new PhysicsObject(17, 17); 
     309                Ammus.Image = ammuskuva; 
     310                Ammus.Position = Tankki.Position + new Vector(Tankki.FacingDirection.GetVector().X * 80, 30); 
     311                Ammus.Hit((pelaaja1.Position - Tankki.Position).Normalize() * 1500); 
     312                Add(Ammus); 
     313                Ammus.Shape = Shape.Circle; 
     314                Ammus.LifetimeLeft = TimeSpan.FromSeconds(2); 
     315                Ammus.Tag = "vihollinen"; 
     316                AddCollisionHandler(Ammus, "lyonti", osuma); 
     317                AddCollisionHandler(Ammus, CollisionHandler.ExplodeObject(100, true)); 
     318                Ammus.CollisionIgnoreGroup = 1; 
     319            } 
     320        }; 
     321        ajastin.Start(); 
     322 
     323    } 
     324 
    190325    void osuma(PhysicsObject vihollinen, PhysicsObject nyrkki) 
    191326    { 
     
    225360    void törmääloppuun(PhysicsObject pelaaja, PhysicsObject loppu) 
    226361    { 
     362        kolikkolaskuri.MinValue = kolikkolaskuri.Value; 
    227363        seuraavakenttä(); 
    228364    } 
     
    257393        punchaani.Play(); 
    258394 
    259         PhysicsObject lyonti = new PhysicsObject(20,20); 
    260         lyonti.Position = hahmo.Position + hahmo.FacingDirection.GetVector() * 40; 
     395        PhysicsObject lyonti = new PhysicsObject(40,30); 
     396        lyonti.Position = hahmo.Position + hahmo.FacingDirection.GetVector() * 30; 
    261397        lyonti.IgnoresCollisionResponse = true; 
    262398        lyonti.Tag = "lyonti"; 
     
    281417        MessageDisplay.Add("LISÄÄ RAHEJA!"); 
    282418        tahti.Destroy(); 
     419        kolikkolaskuri.Value++; 
    283420    } 
    284421    void TormaaPoweruppiin(PhysicsObject hahmo, PhysicsObject Powerup) 
     
    291428    void TormaaViholliseen(PhysicsObject hahmo, PhysicsObject vihollinen) 
    292429    { 
     430        yrityslaskuri.Value++; 
    293431        aloitapeli(); 
    294432    } 
  • 2015/26/AtteK/Tasohyppelypeli/Tasohyppelypeli/Tasohyppelypeli/Tasohyppelypeli.csproj.Debug.cachefile

    r6265 r6340  
    2828Content\tiili.xnb 
    2929Content\Donitsi.xnb 
     30Content\Vihollinen 3.xnb 
     31Content\Ammus.xnb 
    3032Content\taustamusa.wma 
  • 2015/26/AtteK/Tasohyppelypeli/Tasohyppelypeli/Tasohyppelypeli/obj/x86/Debug/ContentPipeline-{0840467A-D5C5-4B5C-922B-328E74B6AF36}.xml

    r6265 r6340  
    99      <Options>None</Options> 
    1010      <Output>C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\kentta1.xnb</Output> 
    11       <Time>2015-06-24T14:41:33.6952363+03:00</Time> 
     11      <Time>2015-06-25T11:04:00.8345327+03:00</Time> 
    1212    </Item> 
    1313    <Item> 
     
    135135      <Options>None</Options> 
    136136      <Output>C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\Polisi.xnb</Output> 
    137       <Time>2015-06-24T14:16:10.4822363+03:00</Time> 
     137      <Time>2015-06-25T10:06:53.2405237+03:00</Time> 
    138138    </Item> 
    139139    <Item> 
     
    199199      <Options>None</Options> 
    200200      <Output>C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\polisiattack.xnb</Output> 
    201       <Time>2015-06-24T14:14:23.2522363+03:00</Time> 
     201      <Time>2015-06-25T10:05:17.2371752+03:00</Time> 
    202202    </Item> 
    203203    <Item> 
     
    244244      <Options>None</Options> 
    245245      <Output>C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\kentta2.xnb</Output> 
    246       <Time>2015-06-24T13:52:24.5382363+03:00</Time> 
     246      <Time>2015-06-25T11:20:44.3041327+03:00</Time> 
    247247    </Item> 
    248248    <Item> 
     
    263263      <Output>C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\Donitsi.xnb</Output> 
    264264      <Time>2015-06-24T14:17:19.1342363+03:00</Time> 
     265    </Item> 
     266    <Item> 
     267      <Source>Vihollinen 3.png</Source> 
     268      <Name>Vihollinen 3</Name> 
     269      <Importer>TextureImporter</Importer> 
     270      <Processor>TextureProcessor</Processor> 
     271      <Options>None</Options> 
     272      <Output>C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\Vihollinen 3.xnb</Output> 
     273      <Time>2015-06-25T11:05:35.2219327+03:00</Time> 
     274    </Item> 
     275    <Item> 
     276      <Source>Ammus.png</Source> 
     277      <Name>Ammus</Name> 
     278      <Importer>TextureImporter</Importer> 
     279      <Processor>TextureProcessor</Processor> 
     280      <Options>None</Options> 
     281      <Output>C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\Ammus.xnb</Output> 
     282      <Time>2015-06-25T11:11:55.0541327+03:00</Time> 
    265283    </Item> 
    266284    <BuildSuccessful>true</BuildSuccessful> 
  • 2015/26/AtteK/Tasohyppelypeli/Tasohyppelypeli/Tasohyppelypeli/obj/x86/Debug/Tasohyppelypeli.csproj.FileListAbsolute.txt

    r6265 r6340  
    3737C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\tiili.xnb 
    3838C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\Donitsi.xnb 
     39C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\Vihollinen 3.xnb 
     40C:\MyTemp\AtteK\Tasohyppelypeli\Tasohyppelypeli\Tasohyppelypeli\bin\x86\Debug\Content\Ammus.xnb 
  • 2015/26/AtteK/Tasohyppelypeli/Tasohyppelypeli/Tasohyppelypeli/obj/x86/Debug/cachefile-{0840467A-D5C5-4B5C-922B-328E74B6AF36}-targetpath.txt

    r6265 r6340  
    2929Content\tiili.xnb 
    3030Content\Donitsi.xnb 
     31Content\Vihollinen 3.xnb 
     32Content\Ammus.xnb 
  • 2015/26/AtteK/Tasohyppelypeli/Tasohyppelypeli/TasohyppelypeliContent/TasohyppelypeliContent.contentproj

    r6265 r6340  
    236236    </Compile> 
    237237  </ItemGroup> 
     238  <ItemGroup> 
     239    <Compile Include="Vihollinen 3.png"> 
     240      <Name>Vihollinen 3</Name> 
     241      <Importer>TextureImporter</Importer> 
     242      <Processor>TextureProcessor</Processor> 
     243    </Compile> 
     244  </ItemGroup> 
     245  <ItemGroup> 
     246    <Compile Include="Ammus.png"> 
     247      <Name>Ammus</Name> 
     248      <Importer>TextureImporter</Importer> 
     249      <Processor>TextureProcessor</Processor> 
     250    </Compile> 
     251  </ItemGroup> 
    238252  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    239253  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2015/26/AtteK/Tasohyppelypeli/Tasohyppelypeli/TasohyppelypeliContent/kentta1.txt

    r6265 r6340  
    11 
    22.........................................................................................   
    3 ............................................V.........K................................   
    4 ....................................TTTTTTTTTTTTTTTTTTTT.............................   
    5 ..................K...........##..........V.......................................... 
    6 .................###................T...*****...........................................   
    7 ...........*.............*..........TTTTTTTTTTTTTTTTTTTT.........*.......................  
    8 ..........###...........###.........T............................#.......................   
    9 ................................................................###......................   
    10 .....N...................P..........T.V........V...............#####..................L..          
    11 ####################################TTTTTTTTTTTTTTTTTTTT################################# 
     3......................................KKK...V..........................................   
     4....................................TTTTTTTTTTTTTT...TTTT............................   
     5....................................T...................T........##.................. 
     6..................O.................T.....V.............T............................ 
     7.................###................T..*****......TTT..*T............................   
     8...........*.............*..........TTTTTTTT....TTTTTTTTT...............................  
     9...........O.............O.............................*T................................ 
     10..........###...........###.............................T........*....................   
     11....................................T........TT........TT.......###.............P.....   
     12.....N..............................TTTT.V..TTTT.....VTTT......#####..............L..          
     13####################################TTTTTTTTTTTTTTTTTTTTT################################ 
Note: See TracChangeset for help on using the changeset viewer.