Ignore:
Timestamp:
2015-07-01 14:57:35 (8 years ago)
Author:
miausilj
Message:

tankki liikkuu ja kääntyy hiiren asoittamaansuuntaan.
jättää myös pommeja ja ampuu

Location:
2015/27/MiroS/Raiskintapeli/Raiskintapeli
Files:
5 added
12 edited

Legend:

Unmodified
Added
Removed
  • 2015/27/MiroS/Raiskintapeli/Raiskintapeli/Raiskintapeli/TankkiPeli.cs

    r6655 r6687  
    1010{ 
    1111    Image tankkikuva = LoadImage("Tankki"); 
     12    Image Vihulainen = LoadImage("Vihulainen"); 
     13 
     14    PhysicsObject tankki; 
    1215 
    1316    public override void Begin() 
    1417    { 
     18     
     19        //IsFullScreen = true; 
     20         
     21        Level.Width = Screen.Width; 
     22        Level.Height = Screen.Height; 
     23        Camera.ZoomToLevel(); 
    1524 
     25        Level.CreateBorders(); 
     26        LisaaPelaaja(); 
     27        LisaaOhjaimet(); 
     28        LuoMappi(1); 
     29    } 
     30    void LisaaPelaaja() 
     31    { 
    1632 
    17         PhysicsObject tankki = new PhysicsObject(50.0, 50.0); 
    18         tankki.X = -01.0; 
     33        tankki = new PhysicsObject(50.0, 50.0); 
     34        tankki.X = -1.0; 
    1935        tankki.Y = -300.0; 
    2036        tankki.Image = tankkikuva; 
     37        tankki.LinearDamping = 0.1; 
     38        tankki.AngularDamping = 0.1; 
    2139        Add(tankki); 
    2240 
    23         Keyboard.Listen(Key.Up, ButtonState.Down, Liikuta, "LiikutaYlos", tankki, new Vector(0.0, 300.0)); 
    24         Keyboard.Listen(Key.Up, ButtonState.Released, Liikuta, null, tankki, Vector.Zero); 
    25         Keyboard.Listen(Key.Down, ButtonState.Down, Liikuta, "Liikuta alas", tankki, new Vector(0.0, -300.0)); 
    26         Keyboard.Listen(Key.Down, ButtonState.Released, Liikuta, null, tankki, Vector.Zero); 
    27         Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikuta oikealle", tankki, new Vector(300.0, 0.0)); 
    28         Keyboard.Listen(Key.Right, ButtonState.Released, Liikuta, null, tankki, Vector.Zero); 
    29         Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "LiikutaYlos", tankki, new Vector(-300.0, 0.0)); 
    30         Keyboard.Listen(Key.Left, ButtonState.Released, Liikuta, null, tankki, Vector.Zero); 
    31         Keyboard.Listen(Key.Space, ButtonState.Pressed, Ammu, "ampuu tuykillä", tankki); 
     41    } 
     42       
     43    void LuoVihulainen() 
     44    { 
     45        PhysicsObject vihu = new PhysicsObject(Vihulainen); 
     46        vihu.Size = vihu.Size * 0.1; 
     47        vihu.Position = new Vector(RandomGen.NextDouble(Level.Left, Level.Right), RandomGen.NextDouble(Level.Bottom, Level.Top)); 
     48        vihu.CanRotate = false; 
     49        Add(vihu); 
     50         
     51    } 
     52 
     53    void JättääPommin(PhysicsObject tankki) 
     54    { 
     55        PhysicsObject pommi = new PhysicsObject(15.0, 15.0); 
     56        pommi.Position = tankki.Position; 
     57        Add(pommi); 
     58        pommi.Color = Color.Black; 
     59        pommi.CanRotate=false; 
     60        Timer.SingleShot(2.0, delegate 
     61        { 
     62            pommi.Destroy(); 
     63            Explosion räjähdys = new Explosion(100.0); 
     64            räjähdys.Position = pommi.Position; 
     65            Add(räjähdys); 
     66        }); 
     67 
     68    } 
     69    void Ampuu(PhysicsObject tankki) 
     70    { 
     71        PhysicsObject ammus = new PhysicsObject(5.0, 5.0); 
     72        ammus.Position = tankki.Position; 
     73            Add(ammus); 
     74            ammus.Color = Color.Yellow; 
     75            ammus.Hit(tankki.Angle.GetVector()*1000); 
     76            Timer.SingleShot(2.0, delegate 
     77            { 
     78                ammus.Destroy(); 
     79            }); 
     80 
     81    } 
     82    void LuoMappi(int vaikeusaste) 
     83    { 
     84        for (int i = 0; i < 3*vaikeusaste; i++) 
     85        { 
     86            LuoVihulainen(); 
     87        } 
     88    } 
     89    void LisaaOhjaimet() 
     90    { 
     91        
     92        Keyboard.Listen(Key.X, ButtonState.Pressed, JättääPommin, "Jättää pommin", tankki); 
     93        Keyboard.Listen(Key.Z, ButtonState.Pressed, Ampuu, "Ampuu tykillä", tankki); 
    3294        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    3395 
     96        Mouse.ListenMovement(0.0, Tahtaa, ""); 
     97        Mouse.IsCursorVisible = true; 
     98        Keyboard.Listen(Key.W, ButtonState.Down, LiikuWASD, "LiikutaYlos"); 
     99    } 
     100    void Tahtaa(AnalogState hiirenTila) 
     101    { 
     102        tankki.Angle = (Mouse.PositionOnWorld - tankki.Position).Angle; 
    34103 
    35104 
    36105    } 
    37     void Liikuta(PhysicsObject tankki, Vector nopeus) 
     106    void LiikuWASD() 
    38107    { 
    39         if (nopeus != Vector.Zero) 
    40         { 
    41             tankki.Angle = nopeus.Angle; 
    42         } 
    43         tankki.Velocity = nopeus; 
    44     } 
    45  
    46     void Ammu(PhysicsObject tankki) 
    47     { 
    48         PhysicsObject ammus = new PhysicsObject(15.0, 15.0); 
    49         ammus.Position = tankki.Position; 
    50         Add(ammus); 
     108        tankki.Push(Vector.FromLengthAndAngle(8000, tankki.Angle)); 
    51109    } 
    52110} 
  • 2015/27/MiroS/Raiskintapeli/Raiskintapeli/Raiskintapeli/TankkiPeli.csproj.Debug.cachefile

    r6655 r6687  
    11Content\Tankki.xnb 
     2Content\Vihulainen.xnb 
  • 2015/27/MiroS/Raiskintapeli/Raiskintapeli/Raiskintapeli/obj/x86/Debug/ContentPipeline-{81739508-248F-43AA-A768-73E659A05863}.xml

    r6655 r6687  
    99      <Options>None</Options> 
    1010      <Output>C:\MyTemp\MiroS\Raiskintapeli\Raiskintapeli\Raiskintapeli\bin\x86\Debug\Content\Tankki.xnb</Output> 
    11       <Time>2015-07-01T11:20:47.3152287+03:00</Time> 
     11      <Time>2015-07-01T12:41:54.277392+03:00</Time> 
     12    </Item> 
     13    <Item> 
     14      <Source>Vihulainen.png</Source> 
     15      <Name>Vihulainen</Name> 
     16      <Importer>TextureImporter</Importer> 
     17      <Processor>TextureProcessor</Processor> 
     18      <Options>None</Options> 
     19      <Output>C:\MyTemp\MiroS\Raiskintapeli\Raiskintapeli\Raiskintapeli\bin\x86\Debug\Content\Vihulainen.xnb</Output> 
     20      <Time>2015-07-01T13:52:00.884992+03:00</Time> 
    1221    </Item> 
    1322    <BuildSuccessful>true</BuildSuccessful> 
  • 2015/27/MiroS/Raiskintapeli/Raiskintapeli/Raiskintapeli/obj/x86/Debug/TankkiPeli.csproj.FileListAbsolute.txt

    r6655 r6687  
    77C:\MyTemp\MiroS\Raiskintapeli\Raiskintapeli\Raiskintapeli\obj\x86\Debug\Raiskintapeli.pdb 
    88C:\MyTemp\MiroS\Raiskintapeli\Raiskintapeli\Raiskintapeli\bin\x86\Debug\Content\Tankki.xnb 
     9C:\MyTemp\MiroS\Raiskintapeli\Raiskintapeli\Raiskintapeli\obj\x86\Debug\TankkiPeli.csprojResolveAssemblyReference.cache 
     10C:\MyTemp\MiroS\Raiskintapeli\Raiskintapeli\Raiskintapeli\bin\x86\Debug\Content\Vihulainen.xnb 
  • 2015/27/MiroS/Raiskintapeli/Raiskintapeli/Raiskintapeli/obj/x86/Debug/cachefile-{81739508-248F-43AA-A768-73E659A05863}-targetpath.txt

    r6655 r6687  
    11Content\Tankki.xnb 
     2Content\Vihulainen.xnb 
  • 2015/27/MiroS/Raiskintapeli/Raiskintapeli/RaiskintapeliContent/TankkiPeliContent.contentproj

    r6655 r6687  
    5252    </Compile> 
    5353  </ItemGroup> 
     54  <ItemGroup> 
     55    <Compile Include="Vihulainen.png"> 
     56      <Name>Vihulainen</Name> 
     57      <Importer>TextureImporter</Importer> 
     58      <Processor>TextureProcessor</Processor> 
     59    </Compile> 
     60  </ItemGroup> 
    5461  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    5562  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
Note: See TracChangeset for help on using the changeset viewer.