Changeset 5876 for 2015/23


Ignore:
Timestamp:
2015-06-05 10:12:56 (4 years ago)
Author:
toolala
Message:
 
Location:
2015/23/ToukoA/HotlineVihti/FatalShot
Files:
3 added
6 edited

Legend:

Unmodified
Added
Removed
  • 2015/23/ToukoA/HotlineVihti/FatalShot/FatalShot/FatalShot.cs

    r5871 r5876  
    1010{ 
    1111    Hyvis pelaaja1; 
     12    Image pelaajawithkalashnikov = LoadImage ("pelaajawithkalashnikov"); 
     13 
     14    IntMeter haulit; 
     15 
    1216    Image pelaajanKuva = LoadImage ("pelaajav1"); 
    1317    Image poliisiAmpuuKuva = LoadImage ("pelaajav1"); 
     
    1519    Image mp5 = LoadImage ("mp5"); 
    1620    Image pistooli = LoadImage ("pistooli"); 
    17  
     21    Image haulikko = LoadImage ("shotgun"); 
     22    Image kalashnikov = LoadImage ("kalashnikov"); 
    1823    Image veriLantti = LoadImage ("verilantti"); 
    1924    Vector nopeusYlos = new Vector(0, 500); 
     
    2530    AssaultRifle pelaajan1Ase3; 
    2631    bool pelikaynnissa = true; 
    27     bool akkadessa = true; 
     32    bool rekyyliOn = true; 
     33    //bool akkadessa = true; 
    2834    Timer rekyylitimer = new Timer(); 
    2935    PhysicsObject asetrigger; 
     
    3541    //int ammo2value = 150; 
    3642    bool haulikkovalmiina = true; 
     43    bool haulikkorekyyli = false; 
    3744    int ruudunKoko = 40; 
    3845 
     
    5966        Mouse.Listen(MouseButton.Left, ButtonState.Down, Ammu3, null, pelaajan1Ase3); 
    6067        Mouse.Listen(MouseButton.Left, ButtonState.Down, Ammu2, null, pelaajan1Ase2); 
    61         Mouse.Listen(MouseButton.Left, ButtonState.Released, delegate { Camera.Position = pelaaja1.Position; rekyylitimer.Stop(); }, ""); 
    62         Mouse.Listen(MouseButton.Left, ButtonState.Pressed, delegate { { rekyylitimer.Start(); } }, ""); 
     68        Mouse.Listen(MouseButton.Left, ButtonState.Released, delegate { Camera.FollowOffset = new Vector(0.0, 0.0); }, ""); 
     69        Mouse.Listen(MouseButton.Left, ButtonState.Down, rekyyli, ""); 
    6370 
    6471        //Mouse.Listen(MouseButton.Middle, ButtonState.Pressed, VaihdaAse, "Vaihda ase"); 
     72        //delegate { { rekyylitimer.Start(); } } 
    6573 
    6674        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     
    7886        Keyboard.Listen(Key.R, ButtonState.Pressed, aloitaAlusta, "Aloita alusta"); 
    7987 
     88        haulit = new IntMeter(12); 
     89        haulit.Value = 40; 
     90 
     91 
    8092        Timer hauliajastin = new Timer(); 
    8193        hauliajastin.Interval = 1.1; 
     
    88100 
    89101        rekyylitimer.Interval = 0.1; 
    90         rekyylitimer.Timeout += delegate() 
    91         { 
    92             if (akkadessa && pelaajan1Ase2.Ammo > 8) 
    93             { 
    94                 Camera.X += 4; 
    95                 Camera.Y += 4; 
    96             } 
    97         }; 
     102        rekyylitimer.Timeout += rekyyli;  
     103            //delegate() 
     104        //{ 
     105            //if (pelaaja1.Ase2.IsAddedToGame && pelaajan1Ase2.Ammo > 1) 
     106            //{ 
     107            //    Camera.FollowOffset = Vector.FromLengthAndAngle(10.0, -pelaajan1Ase2.Angle); 
     108 
     109            //    Timer rekyylivaihtotimer = new Timer(); 
     110            //    rekyylivaihtotimer.Interval = 0.1; 
     111            //    rekyylivaihtotimer.Timeout += delegate() 
     112            //    { 
     113            //        Camera.FollowOffset = new Vector(0.0, 0.0); 
     114            //    }; 
     115            //    rekyylivaihtotimer.Start(1); 
     116            //} 
     117 
     118            //if (pelaaja1.Ase3.IsAddedToGame && pelaajan1Ase3.Ammo > 1) 
     119            //{ 
     120            //    Camera.X += 2; 
     121            //    Camera.Y += 2; 
     122            //} 
     123 
     124            //if (pelaaja1.Ase.IsAddedToGame && pelaajan1Ase.Ammo > 1) 
     125            //{ 
     126 
     127            //} 
     128        //}; 
    98129 
    99130        Mouse.ListenMovement(0.1, Tahtaa, "Tähtää"); 
     
    103134    } 
    104135 
     136    void rekyyli() 
     137    { 
     138        if (pelaaja1.Ase2.IsAddedToGame && pelaajan1Ase2.Ammo > 1) 
     139        { 
     140            if (rekyyliOn) 
     141            { 
     142                //Camera.FollowOffset = Vector.FromLengthAndAngle(50.0, -pelaajan1Ase2.Angle); 
     143                Camera.Position = pelaaja1.Position + Vector.FromLengthAndAngle(60.0, -pelaajan1Ase2.Angle); 
     144                rekyyliOn = false; 
     145 
     146                Timer rekyylivaihtotimer = new Timer(); 
     147                rekyylivaihtotimer.Interval = 0.1; 
     148                rekyylivaihtotimer.Timeout += delegate() 
     149                { 
     150                    //Camera.FollowOffset = Vector.FromLengthAndAngle(25.0, pelaajan1Ase2.Angle); 
     151                    Camera.Position = pelaaja1.Position + Vector.FromLengthAndAngle(25.0, pelaajan1Ase2.Angle); 
     152                    rekyyliOn = true; 
     153                }; 
     154                rekyylivaihtotimer.Start(1); 
     155            } 
     156        } 
     157 
     158        if (pelaaja1.Ase3.IsAddedToGame && pelaajan1Ase3.Ammo > 1) 
     159        { 
     160            if (rekyyliOn) 
     161            { 
     162                //Camera.FollowOffset = Vector.FromLengthAndAngle(50.0, -pelaajan1Ase2.Angle); 
     163                Camera.Position = pelaaja1.Position + Vector.FromLengthAndAngle(20.0, -pelaajan1Ase2.Angle); 
     164                rekyyliOn = false; 
     165 
     166                Timer rekyylivaihtotimer = new Timer(); 
     167                rekyylivaihtotimer.Interval = 0.1; 
     168                rekyylivaihtotimer.Timeout += delegate() 
     169                { 
     170                    //Camera.FollowOffset = Vector.FromLengthAndAngle(25.0, pelaajan1Ase2.Angle); 
     171                    Camera.Position = pelaaja1.Position + Vector.FromLengthAndAngle(15.0, pelaajan1Ase2.Angle); 
     172                    rekyyliOn = true; 
     173                }; 
     174                rekyylivaihtotimer.Start(1); 
     175            } 
     176        } 
     177 
     178        if (pelaaja1.Ase.IsAddedToGame && haulit.Value > 1) 
     179        { 
     180            if (rekyyliOn && haulikkorekyyli) 
     181            { 
     182                //Camera.FollowOffset = Vector.FromLengthAndAngle(50.0, -pelaajan1Ase2.Angle); 
     183                Camera.Position = pelaaja1.Position + Vector.FromLengthAndAngle(20.0, -pelaajan1Ase2.Angle); 
     184                rekyyliOn = false; 
     185 
     186                Timer rekyylivaihtotimer = new Timer(); 
     187                rekyylivaihtotimer.Interval = 0.1; 
     188                rekyylivaihtotimer.Timeout += delegate() 
     189                { 
     190                    //Camera.FollowOffset = Vector.FromLengthAndAngle(25.0, pelaajan1Ase2.Angle); 
     191                    Camera.Position = pelaaja1.Position + Vector.FromLengthAndAngle(15.0, pelaajan1Ase2.Angle); 
     192                    rekyyliOn = true; 
     193                    haulikkorekyyli = false; 
     194                }; 
     195                rekyylivaihtotimer.Start(1); 
     196            } 
     197        } 
     198    } 
    105199    void VaihdaAse(Vector paikka, double leveys, double korkeus) 
    106200    { 
    107         LisaaAseTrigger(paikka, leveys, korkeus, "ase", pistooli); 
     201        LisaaAseTrigger(paikka, leveys, korkeus, "ase", haulikko); 
    108202    } 
    109203 
    110204    void VaihdaAse2(Vector paikka, double leveys, double korkeus) 
    111205    { 
    112         LisaaAseTrigger(paikka, leveys, korkeus, "ase2", mp5); 
     206        LisaaAseTrigger(paikka, leveys * 2, korkeus * 2, "ase2", kalashnikov); 
    113207    } 
    114208 
     
    122216        asetrigger = PhysicsObject.CreateStaticObject(20, 20); 
    123217        asetrigger.IgnoresCollisionResponse = true; 
     218        asetrigger.IgnoresPhysicsLogics = true; 
     219        asetrigger.CollisionIgnoreGroup = 0; 
    124220        asetrigger.Tag = tagiNimi; 
    125221        asetrigger.Position = paikka; 
    126222        asetrigger.Image = kuva; 
    127         Add(asetrigger); 
     223        Add(asetrigger, -3); 
    128224 
    129225 
     
    166262        if (ammus != null) 
    167263        { 
     264            ammus.CollisionIgnoreGroup = 3; 
    168265            ase3.Power.DefaultValue = 450; 
    169266            ase3.FireRate = 10; 
     
    172269    } 
    173270 
     271 
     272 
    174273    void Ammu(AssaultRifle ase) 
    175274    { 
    176         if (haulikkovalmiina && pelikaynnissa) 
     275        if (haulikkovalmiina && pelikaynnissa && haulit.Value > 7) 
    177276        { 
    178277            for (int i = 0; i < 6; i++) 
    179278            { 
    180  
    181279                PhysicsObject hauli = new PhysicsObject(2, 2); 
    182280                hauli.Shape = Shape.Ellipse; 
     
    187285                //hauli.Angle = RandomGen.NextAngle(Angle.FromDegrees(-45), Angle.FromDegrees(45)); 
    188286                Add(hauli); 
     287 
    189288                hauli.MaximumLifetime = TimeSpan.FromSeconds(0.22); 
    190289                AddCollisionHandler(hauli, "paha", AmmusOsui2); 
    191290                AddCollisionHandler(hauli, "seina", CollisionHandler.DestroyObject); 
    192291 
     292                hauli.CollisionIgnoreGroup = 3; 
     293 
    193294                hauli.Push(impulssi); 
    194295                haulikkovalmiina = false; 
     296                haulikkorekyyli = true; 
     297                haulit.Value -= 1; 
    195298            } 
    196299        } 
     
    201304    { 
    202305        PhysicsObject ammus = ase2.Shoot(); 
     306        
    203307        //for (int i = 0; i < 10; i++) 
    204308        //{ 
     
    211315            ase2.FireRate = 5; 
    212316            ammus.Size *= 0.65; 
     317            ammus.CollisionIgnoreGroup = 3; 
    213318        } 
    214319    } 
     
    229334        pelaaja1.Position = paikka; 
    230335        pelaaja1.Image = pelaajanKuva; 
    231         pelaaja1.Shape = Shape.Circle; 
     336        pelaaja1.Shape = Shape.Octagon; 
    232337        pelaaja1.Restitution = 0; 
    233338        pelaaja1.CanRotate = false; ; 
     
    237342        pelaajan1Ase2.Ammo.Value = ammokalashnikov; 
    238343        pelaajan1Ase2.ProjectileCollision = AmmusOsui; 
     344        pelaajan1Ase2.Image = kalashnikov; 
    239345        //pelaaja1.Aseet.Add(pelaajan1Ase2); 
    240346         
     
    243349        pelaajan1Ase = new AssaultRifle(30, 10); 
    244350        pelaajan1Ase.ProjectileCollision = AmmusOsui2; 
    245         pelaajan1Ase.Image = pistooli; 
     351        pelaajan1Ase.Image = haulikko; 
    246352        //pelaaja1.Aseet.Add(pelaajan1Ase); 
    247353        //pelaajan1Ase.X -= 8; 
    248354 
    249         pelaajan1Ase3 = new AssaultRifle(30, 10); 
     355        pelaajan1Ase3 = new AssaultRifle(32, 12); 
    250356        pelaajan1Ase3.Ammo.Value = ammomp5; 
    251357        pelaajan1Ase3.ProjectileCollision = AmmusOsui3; 
    252358        pelaajan1Ase3.Image = mp5; 
    253359 
     360 
     361        pelaaja1.CollisionIgnoreGroup = 3; 
    254362        //pelaaja1.Aseet.Add(pelaajan1Ase3); 
    255363 
     
    269377        pelaaja1.Ase2 = pelaajan1Ase2; 
    270378        pelaaja1.Ase3 = pelaajan1Ase3; 
     379 
    271380        Add(pelaaja1); 
    272381 
     
    280389        pelaaja1.Add(pelaajan1Ase); 
    281390 
     391        haulit.Value = 40; 
     392 
    282393        Mouse.ListenMovement(0.1, Tahtaa, "Tähtää"); 
    283394 
     
    289400    void ase2(PhysicsObject pelaaja1, PhysicsObject ase2) 
    290401    { 
    291         /*if (vaihdettujo == false) 
    292             { 
    293                 pelaaja1.Remove(pelaajan1Ase); 
    294                 pelaaja1.Add(pelaajan1Ase2); 
    295                 pelaajan1Ase2.Ammo.Value = 150; 
    296                 vaihdettujo = true; 
    297             } 
    298             else 
    299             { 
    300                 pelaaja1.Remove(pelaajan1Ase2); 
    301                 pelaaja1.Add(pelaajan1Ase); 
    302                 pelaajan1Ase.Ammo.Value = 300; 
    303                 vaihdettujo = false; 
    304             } 
    305         */ 
    306402        pelaaja1.Remove(pelaajan1Ase); 
    307  
    308         pelaaja1.Add(pelaajan1Ase); 
     403        pelaaja1.Remove(pelaajan1Ase3); 
     404        pelaaja1.Remove(pelaajan1Ase2); 
     405 
     406        pelaaja1.Add(pelaajan1Ase2); 
     407 
     408        pelaajan1Ase2.Ammo.Value = ammokalashnikov; 
    309409 
    310410        //pelaajan1Ase.Ammo.Value = ammo; 
     
    320420        pelaaja1.Remove(pelaajan1Ase); 
    321421        pelaaja1.Remove(pelaajan1Ase2); 
     422        pelaaja1.Remove(pelaajan1Ase3); 
    322423 
    323424        pelaaja1.Add(pelaajan1Ase3); 
     
    345446        AssaultRifle pahisAse = new AssaultRifle(30, 10); 
    346447        pahisAse.Ammo.Value = 100; 
    347         pahisAse.ProjectileCollision = AmmusOsui; 
     448        pahisAse.ProjectileCollision = PahisAmmusOsui; 
    348449        pahisAse.InfiniteAmmo = true; 
    349450        pahis.Ase = pahisAse; 
     
    382483    void pahisAmpuu(AssaultRifle ase, Pahis pahis) 
    383484    { 
    384         /*Vector suunta = (pelaaja1.Position - pahis.Position).Normalize(); 
     485        Vector suunta = (pelaaja1.Position - pahis.Position).Normalize(); 
    385486 
    386487        if (pelaaja1.Velocity == Vector.Zero) 
     
    405506            ammus.MaximumLifetime = TimeSpan.FromSeconds(4); 
    406507            ammus.CollisionIgnoreGroup = 1; 
    407         }*/ 
     508        } 
    408509    } 
    409510 
     
    429530    void AmmusOsui2(PhysicsObject hauli, PhysicsObject kohde) 
    430531    { 
    431         hauli.Destroy(); 
     532        if (kohde.Tag.Equals("paha") || kohde.Tag.Equals("seina")) 
     533        { 
     534            hauli.Destroy(); 
     535        } 
    432536        if (kohde.Tag.Equals("paha")) 
    433537        { 
     
    462566    void AmmusOsui3( PhysicsObject ammus, PhysicsObject kohde) 
    463567    { 
    464         ammus.Destroy(); 
     568        if (kohde.Tag.Equals("paha") || kohde.Tag.Equals("seina")) 
     569        { 
     570            ammus.Destroy(); 
     571        } 
     572         
    465573        if (kohde.Tag.Equals("paha")) 
    466574        { 
     
    489597        } 
    490598 
     599    } 
     600 
     601    void PahisAmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     602    { 
     603        if (kohde.Tag.Equals("hyva") || kohde.Tag.Equals("seina")) 
     604        { 
     605            ammus.Destroy(); 
     606        } 
    491607        if (kohde.Tag.Equals("hyva")) 
    492608        { 
     
    497613            pelikaynnissa = false; 
    498614        } 
    499  
    500615    } 
    501616 
    502617    void AmmusOsui( PhysicsObject ammus, PhysicsObject kohde) 
    503618    { 
    504         ammus.Destroy(); 
     619        if (kohde.Tag.Equals("paha") || kohde.Tag.Equals("seina")) 
     620        { 
     621            ammus.Destroy(); 
     622        } 
    505623        if (kohde.Tag.Equals("paha")) 
    506624        { 
     
    529647        } 
    530648 
    531         if (kohde.Tag.Equals("hyva")) 
    532         { 
    533             (kohde as Hyvis).Ase.Destroy(); 
    534             (kohde as Hyvis).Ase2.Destroy(); 
    535             (kohde as Hyvis).Ase3.Destroy(); 
    536             (kohde as Hyvis).Destroy(); 
    537             pelikaynnissa = false; 
    538         } 
    539  
    540649    } 
    541650 
  • 2015/23/ToukoA/HotlineVihti/FatalShot/FatalShot/Pahis.cs

    r5871 r5876  
    4545 
    4646            PhysicsObject asetrigger = PhysicsObject.CreateStaticObject(20, 20); 
     47            asetrigger.CollisionIgnoreGroup = 0; 
    4748            asetrigger.IgnoresCollisionResponse = true; 
    4849            asetrigger.Tag = "ase3"; 
  • 2015/23/ToukoA/HotlineVihti/FatalShot/FatalShotContent/FatalShotContent.contentproj

    r5864 r5876  
    6767  </ItemGroup> 
    6868  <ItemGroup> 
     69    <Compile Include="pistooli.png"> 
     70      <Name>pistooli</Name> 
     71      <Importer>TextureImporter</Importer> 
     72      <Processor>TextureProcessor</Processor> 
     73    </Compile> 
     74  </ItemGroup> 
     75  <ItemGroup> 
    6976    <Compile Include="mp5.png"> 
    7077      <Name>mp5</Name> 
     
    7481  </ItemGroup> 
    7582  <ItemGroup> 
    76     <Compile Include="pistooli.png"> 
    77       <Name>pistooli</Name> 
     83    <Compile Include="Shotgun.png"> 
     84      <Name>Shotgun</Name> 
     85      <Importer>TextureImporter</Importer> 
     86      <Processor>TextureProcessor</Processor> 
     87    </Compile> 
     88  </ItemGroup> 
     89  <ItemGroup> 
     90    <Compile Include="kalashnikov.png"> 
     91      <Name>kalashnikov</Name> 
     92      <Importer>TextureImporter</Importer> 
     93      <Processor>TextureProcessor</Processor> 
     94    </Compile> 
     95  </ItemGroup> 
     96  <ItemGroup> 
     97    <Compile Include="pelaajawithkalashnikov.png"> 
     98      <Name>pelaajawithkalashnikov</Name> 
    7899      <Importer>TextureImporter</Importer> 
    79100      <Processor>TextureProcessor</Processor> 
  • 2015/23/ToukoA/HotlineVihti/FatalShot/FatalShotContent/kentta.txt

    r5871 r5876  
    11#################################################### 
    2 #€.......................##......#....#...&........# 
    3 #.# .&...............#...##......#....#............# 
     2#........................##../...#....#...&........# 
     3#.# .&...............#...##......#....#.........&..# 
    44#%#......&...........#...##......#.........&.......# 
    55#H#...&..............#...##......#....#............# 
     
    77#....................#...##..&...#....#............# 
    88#..................#.....##......#.........&.......# 
    9 #..................#.............#....############## 
    10 #........................##......#.................# 
     9#..................#.....H.......#....############## 
     10#........................##......#..&..............# 
    1111#................&.......##......#....#............# 
    1212#........&...............##..&...#....#...&........# 
    1313#........................##......#.................# 
    1414#..............&.........##......#....############## 
    15 #........................##...........#..../.......# 
    16 #........................##...........&............# 
     15#........................##...........#.........&..# 
     16#........&...............##...........&............# 
    1717####################################################  
Note: See TracChangeset for help on using the changeset viewer.