Changeset 9619


Ignore:
Timestamp:
2018-06-06 14:55:55 (20 months ago)
Author:
jij
Message:
 
Location:
2018/23/JUSTUSJ/Tasohyppelipeli
Files:
13 added
17 edited

Legend:

Unmodified
Added
Removed
  • 2018/23/JUSTUSJ/Tasohyppelipeli/Tasohyppelipeli/Content/Content.mgcb

    r9586 r9619  
    8686/build:StoneWall14.png 
    8787 
     88#begin StoneWall13.png 
     89/importer:TextureImporter 
     90/processor:TextureProcessor 
     91/processorParam:ColorKeyColor=255,0,255,255 
     92/processorParam:ColorKeyEnabled=True 
     93/processorParam:GenerateMipmaps=False 
     94/processorParam:PremultiplyAlpha=True 
     95/processorParam:ResizeToPowerOfTwo=False 
     96/processorParam:MakeSquare=False 
     97/processorParam:TextureFormat=Color 
     98/build:StoneWall13.png 
     99 
     100#begin baseballbatter.png 
     101/importer:TextureImporter 
     102/processor:TextureProcessor 
     103/processorParam:ColorKeyColor=255,0,255,255 
     104/processorParam:ColorKeyEnabled=True 
     105/processorParam:GenerateMipmaps=False 
     106/processorParam:PremultiplyAlpha=True 
     107/processorParam:ResizeToPowerOfTwo=False 
     108/processorParam:MakeSquare=False 
     109/processorParam:TextureFormat=Color 
     110/build:baseballbatter.png 
     111 
  • 2018/23/JUSTUSJ/Tasohyppelipeli/Tasohyppelipeli/Content/kentta1.txt

    r9586 r9619  
    1212 
    1313 
    14  
     14B 
    1515############## 
    16  
    1716 
    1817                                   A 
    1918                              #################### 
    2019 
    21 N* 
     20N        *    
    2221############## 
    23                 ###                         
     22                  ###                         
    2423                                                                         
  • 2018/23/JUSTUSJ/Tasohyppelipeli/Tasohyppelipeli/Content/obj/DesktopGL/.mgcontent

    r9586 r9619  
    1212    <File>C:/MyTemp/JUSTUSJ/Tasohyppelipeli/Tasohyppelipeli/Content/Bullet3.png</File> 
    1313    <File>C:/MyTemp/JUSTUSJ/Tasohyppelipeli/Tasohyppelipeli/Content/StoneWall14.png</File> 
     14    <File>C:/MyTemp/JUSTUSJ/Tasohyppelipeli/Tasohyppelipeli/Content/StoneWall13.png</File> 
     15    <File>C:/MyTemp/JUSTUSJ/Tasohyppelipeli/Tasohyppelipeli/Content/baseballbatter.png</File> 
    1416  </SourceFiles> 
    1517</SourceFileCollection> 
  • 2018/23/JUSTUSJ/Tasohyppelipeli/Tasohyppelipeli/Content/obj/DesktopGL/kentta1.mgcontent

    r9586 r9619  
    22<PipelineBuildEvent xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    33  <SourceFile>C:/MyTemp/JUSTUSJ/Tasohyppelipeli/Tasohyppelipeli/Content/kentta1.txt</SourceFile> 
    4   <SourceTime>2018-06-05T13:36:27.0771601+03:00</SourceTime> 
     4  <SourceTime>2018-06-06T13:05:27.7239318+03:00</SourceTime> 
    55  <DestFile>C:/MyTemp/JUSTUSJ/Tasohyppelipeli/Tasohyppelipeli/Content/bin/DesktopGL/kentta1.xnb</DestFile> 
    6   <DestTime>2018-06-05T13:49:40.8021791+03:00</DestTime> 
     6  <DestTime>2018-06-06T14:40:31.8026733+03:00</DestTime> 
    77  <Importer>TextFileImporter</Importer> 
    88  <ImporterTime>2018-01-11T19:43:12+02:00</ImporterTime> 
  • 2018/23/JUSTUSJ/Tasohyppelipeli/Tasohyppelipeli/Content/obj/Windows/.mgcontent

    r9586 r9619  
    1212    <File>C:/MyTemp/JUSTUSJ/Tasohyppelipeli/Tasohyppelipeli/Content/Bullet3.png</File> 
    1313    <File>C:/MyTemp/JUSTUSJ/Tasohyppelipeli/Tasohyppelipeli/Content/StoneWall14.png</File> 
     14    <File>C:/MyTemp/JUSTUSJ/Tasohyppelipeli/Tasohyppelipeli/Content/StoneWall13.png</File> 
     15    <File>C:/MyTemp/JUSTUSJ/Tasohyppelipeli/Tasohyppelipeli/Content/baseballbatter.png</File> 
    1416  </SourceFiles> 
    1517</SourceFileCollection> 
  • 2018/23/JUSTUSJ/Tasohyppelipeli/Tasohyppelipeli/Content/obj/Windows/kentta1.mgcontent

    r9586 r9619  
    22<PipelineBuildEvent xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    33  <SourceFile>C:/MyTemp/JUSTUSJ/Tasohyppelipeli/Tasohyppelipeli/Content/kentta1.txt</SourceFile> 
    4   <SourceTime>2018-06-05T14:46:22.2143679+03:00</SourceTime> 
     4  <SourceTime>2018-06-06T13:05:27.7239318+03:00</SourceTime> 
    55  <DestFile>C:/MyTemp/JUSTUSJ/Tasohyppelipeli/Tasohyppelipeli/Content/bin/Windows/kentta1.xnb</DestFile> 
    6   <DestTime>2018-06-05T14:46:22.7653698+03:00</DestTime> 
     6  <DestTime>2018-06-06T13:05:28.2282041+03:00</DestTime> 
    77  <Importer>TextFileImporter</Importer> 
    88  <ImporterTime>2018-01-11T19:43:12+02:00</ImporterTime> 
  • 2018/23/JUSTUSJ/Tasohyppelipeli/Tasohyppelipeli/Tasohyppelipeli.cs

    r9586 r9619  
    88public class Tasohyppelipeli : PhysicsGame 
    99{ 
    10     const double nopeus = 200; 
     10 
     11    const double nopeus = 400; 
    1112    const double hyppyNopeus = 750; 
    1213    const int RUUDUN_KOKO = 40; 
    1314 
    14     PlatformCharacter pelaaja1; 
    15  
     15    Pelaaja pelaaja1; 
     16 
     17    Image taustaKuva = LoadImage("StoneWall13"); 
     18    Image vihollisenKuva = LoadImage("baseballbatter"); 
    1619    Image pelaajanKuva = LoadImage("Chain"); 
    1720    Image tahtiKuva = LoadImage("Bullet3"); 
     
    2427 
    2528 
     29         
    2630 
    2731        LuoKentta(); 
    2832        LisaaNappaimet(); 
     33 
     34        Level.Background.Image = taustaKuva; 
     35        Level.Background.TileToLevel(); 
    2936 
    3037        Camera.Follow(pelaaja1); 
     
    4047        kentta.SetTileMethod('N', LisaaPelaaja); 
    4148        kentta.SetTileMethod('A', LisaaVihollinen); 
     49        kentta.SetTileMethod('B', LisaaVihollinen2); 
    4250        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    4351        Level.CreateBorders(); 
     
    6674    void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    6775    { 
    68         pelaaja1 = new PlatformCharacter(leveys, korkeus); 
     76        pelaaja1 = new Pelaaja(leveys, korkeus); 
    6977        pelaaja1.Position = paikka; 
    7078        pelaaja1.Mass = 4.0; 
    7179        pelaaja1.Image = pelaajanKuva; 
     80        pelaaja1.Tag = "pelaaja"; 
    7281        AddCollisionHandler(pelaaja1, "vihollinen", TormaaViholliseen); 
    7382        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
     83 
     84        //pelaaja1 on PlatformCharacter-tyyppinen 
     85        pelaaja1.Weapon = new AssaultRifle(30, 10); 
     86 
     87        //Ammusten määrä aluksi: 
     88        pelaaja1.Weapon.Ammo.Value = 50; 
     89 
     90        //Mitä tapahtuu kun ammus osuu johonkin? 
     91        pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 
     92 
     93        pelaaja1.Weapon.FireRate = 15.0; 
     94        pelaaja1.CollisionIgnoreGroup = 2; 
     95 
     96        pelaaja1.Destroyed += Pelaaja1_Destroyed; 
     97 
     98 
    7499        Add(pelaaja1); 
     100    } 
     101 
     102    private void Pelaaja1_Destroyed() 
     103    { 
     104        MessageDisplay.Add("KUOLIT!!!!!!!!!!!!!!!!!You Are Noob!"); 
     105 
     106    } 
     107 
     108    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     109    { 
     110 
     111        if (kohde.Tag == "vihollinen" || kohde.Tag == "vihollinen2") 
     112        { 
     113            Vihu v = (Vihu)kohde; v.ElamaLaskuri.AddValue(-1); 
     114        } 
     115        else if(kohde== pelaaja1) 
     116        { 
     117            ((Pelaaja)kohde).ElamaLaskuri.AddValue(-1); 
     118        } 
     119 
     120    } 
     121 
     122    void AmmuAseella(PlatformCharacter pelaaja) 
     123    { 
     124        PhysicsObject ammus = pelaaja.Weapon.Shoot(); 
     125 
     126        if (ammus != null) 
     127        { 
     128            ammus.MaximumLifetime = TimeSpan.FromSeconds(3); 
     129            //ammus.Size *= 3; 
     130            //ammus.Image = ... 
     131            //ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 
     132        } 
     133    } 
     134 
     135    void Tahtaa() 
     136    { 
     137        pelaaja1.Weapon.Angle = (Mouse.PositionOnWorld - pelaaja1.Position).Angle; //+ Angle.FromDegrees(90); 
    75138    } 
    76139 
     
    81144 
    82145        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
    83         Keyboard.Listen(Key.S, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
     146        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
    84147        Keyboard.Listen(Key.Space, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     148        Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1); 
     149        Mouse.ListenMovement(1, Tahtaa, "tähdätään"); 
     150        Keyboard.Listen(Key.LeftShift, ButtonState.Pressed, HeitaKranaatti, "Heita Kranaatti", pelaaja1); 
     151        Keyboard.Listen(Key.CapsLock, ButtonState.Pressed, HeitaRypaleKranaatti, "Heita Rypalekranaatti", pelaaja1); 
    85152 
    86153        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
     
    108175        MessageDisplay.Add("Keräsit panoksia!"); 
    109176        tahti.Destroy(); 
     177        pelaaja1.Weapon.Ammo.AddValue(50); 
    110178    } 
    111179 
     
    118186    void LisaaVihollinen(Vector paikka, double leveys, double korkeus) 
    119187    { 
    120         PhysicsObject vihollinen = PhysicsObject.CreateStaticObject(leveys * 0.5, korkeus); 
     188        Vihu vihollinen = new Vihu(leveys * 0.5, korkeus); 
    121189        vihollinen.IgnoresCollisionResponse = false; 
    122190        vihollinen.Position = paikka; 
    123191 
     192 
    124193        vihollinen.Tag = "vihollinen"; 
     194 
     195        vihollinen.Image = vihollisenKuva; 
     196 
     197 
     198 
     199        FollowerBrain seuraajanAivot = new FollowerBrain("pelaaja"); 
     200        seuraajanAivot.Speed = 200; 
     201        vihollinen.Brain = seuraajanAivot; 
     202 
    125203        Add(vihollinen); 
     204        // Timer.SingleShot(2, () => LisaaVihollinen(vihollinen.Position,1,1)); 
     205    } 
     206 
     207    class Vihu : PlatformCharacter 
     208    { 
     209        private IntMeter elamaLaskuri = new IntMeter(10, 0, 10); 
     210        public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
     211        public Timer Ajastin; 
     212        public Vihu(double leveys, double korkeus) 
     213            : base(leveys, korkeus) 
     214        { 
     215            elamaLaskuri.LowerLimit += delegate  
     216            { 
     217                this.Destroy(); 
     218                if (Ajastin != null) 
     219                    Ajastin.Stop(); 
     220            }; 
     221        } 
     222 
     223    } 
     224 
     225    class Pelaaja : PlatformCharacter 
     226    { 
     227        private IntMeter elamaLaskuri = new IntMeter(10, 0, 10); 
     228        public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
     229       
     230        public Pelaaja(double leveys, double korkeus) 
     231            : base(leveys, korkeus) 
     232        { 
     233            elamaLaskuri.LowerLimit += delegate 
     234            { 
     235                this.Destroy(); 
     236                 
     237            }; 
     238        } 
     239 
     240    } 
     241 
     242    void HeitaKranaatti(PlatformCharacter pelaaja) 
     243    { 
     244        Grenade kranu = new Grenade(10.0); 
     245        kranu.ExplosionRadius = 200; 
     246        kranu.FuseTime = TimeSpan.FromSeconds(100); 
     247        kranu.CollisionIgnoreGroup = 2; 
     248        AddCollisionHandler(kranu, (Grenade k, PhysicsObject v) => 
     249        { 
     250            k.Explode(); if (v.Tag == "vihollinen") v.Destroy(); 
     251        }); 
     252        pelaaja.Throw(kranu, (Mouse.PositionOnWorld - pelaaja1.Position).Angle, 15000); 
     253 
     254 
     255    } 
     256 
     257    void HeitaRypaleKranaatti(PlatformCharacter pelaaja) 
     258    { 
     259        ClusterGrenade kranaatti = new ClusterGrenade(4.0, 3); 
     260        pelaaja1.Throw(kranaatti, (Mouse.PositionOnWorld - pelaaja1.Position).Angle, 15000); 
     261        kranaatti.NumberOfClusters = 10; 
     262 
     263        kranaatti.ExplosionRadius = 200; 
     264        kranaatti.FuseTime = TimeSpan.FromSeconds(100); 
     265        kranaatti.CollisionIgnoreGroup = 2; 
     266        AddCollisionHandler(kranaatti, (Grenade k, PhysicsObject v) => 
     267        { 
     268            k.Explode(); if (v.Tag == "vihollinen") v.Destroy(); 
     269        }); 
     270    } 
     271 
     272    void LisaaVihollinen2(Vector paikka, double leveys, double korkeus) 
     273    { 
     274        Vihu vihollinen2 = new Vihu(leveys * 0.5, korkeus); 
     275        vihollinen2.IgnoresCollisionResponse = false; 
     276        vihollinen2.Position = paikka; 
     277 
     278 
     279        vihollinen2.Tag = "vihollinen2"; 
     280 
     281        //pelaaja1 on PlatformCharacter-tyyppinen 
     282        vihollinen2.Weapon = new AssaultRifle(30, 10); 
     283 
     284        //Ammusten määrä aluksi: 
     285        vihollinen2.Weapon.Ammo.Value = 999999999; 
     286 
     287        //Mitä tapahtuu kun ammus osuu johonkin? 
     288        vihollinen2.Weapon.ProjectileCollision = AmmusOsui; 
     289 
     290        vihollinen2.Weapon.FireRate = 15.0; 
     291        //vihollinen2.CollisionIgnoreGroup = 2; 
     292        vihollinen2.Ajastin = Timer.CreateAndStart(0.5, () => { VihuAmpuu(vihollinen2); }); 
     293 
     294        Add(vihollinen2); 
     295 
     296    } 
     297 
     298    void VihuAmpuu(Vihu vihu) 
     299    { 
     300        vihu.Weapon.Angle = (pelaaja1.Position - vihu.Position).Angle; 
     301        vihu.Weapon.Shoot(); 
     302        vihu.Weapon.MaxAmmoLifetime = TimeSpan.FromSeconds(3); 
    126303    } 
    127304} 
  • 2018/23/JUSTUSJ/Tasohyppelipeli/Tasohyppelipeli/obj/x86/Debug/Tasohyppelipeli.csproj.FileListAbsolute.txt

    r9586 r9619  
    3333C:\MyTemp\JUSTUSJ\Tasohyppelipeli\Tasohyppelipeli\bin\Windows\Debug\Content\Bullet3.xnb 
    3434C:\MyTemp\JUSTUSJ\Tasohyppelipeli\Tasohyppelipeli\bin\Windows\Debug\Content\StoneWall14.xnb 
     35C:\MyTemp\JUSTUSJ\Tasohyppelipeli\Tasohyppelipeli\obj\x86\Debug\Tasohyppelipeli.csprojResolveAssemblyReference.cache 
     36C:\MyTemp\JUSTUSJ\Tasohyppelipeli\Tasohyppelipeli\bin\Windows\Debug\Content\StoneWall13.xnb 
     37C:\MyTemp\JUSTUSJ\Tasohyppelipeli\Tasohyppelipeli\bin\Windows\Debug\Content\baseballbatter.xnb 
Note: See TracChangeset for help on using the changeset viewer.