Changeset 2550 for 2011/31


Ignore:
Timestamp:
2011-08-04 14:57:24 (8 years ago)
Author:
almarimp
Message:

Talletus.

Location:
2011/31/AleksiR/OmaPeli/OmaPeli
Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • 2011/31/AleksiR/OmaPeli/OmaPeli/OmaPeli/OmaPeli.csproj

    r2501 r2550  
    3434    <UseApplicationTrust>false</UseApplicationTrust> 
    3535    <BootstrapperEnabled>true</BootstrapperEnabled> 
    36     <ReferencePath>$(registry:HKEY_LOCAL_MACHINE\Software\Jypeli@Install_Dir)\lib\x86</ReferencePath> 
    3736  </PropertyGroup> 
    3837  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> 
     
    6261  </PropertyGroup> 
    6362  <ItemGroup> 
    64     <Reference Include="Jypeli4"> 
     63    <Reference Include="Jypeli4, Version=4.1.0.0, Culture=neutral, processorArchitecture=x86"> 
     64      <SpecificVersion>False</SpecificVersion> 
     65      <HintPath>..\..\..\..\jypeli\Jypeli4.dll</HintPath> 
    6566    </Reference> 
    6667    <Reference Include="Microsoft.Xna.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86"> 
  • 2011/31/AleksiR/OmaPeli/OmaPeli/OmaPeli/Peli.cs

    r2533 r2550  
    77using Jypeli.Widgets; 
    88 
    9 public class Peli :PhysicsGame 
     9public class Peli : PhysicsGame 
    1010{ 
     11     
     12    List<Label> valikonKohdat; 
     13 
    1114    PhysicsObject Alus1; 
    1215    PhysicsObject Alus2; 
     
    1922    IntMeter pisteLaskuri2; 
    2023 
    21  
     24    Image alus1Kuva = LoadImage("Alus1"); 
     25    Image alus2Kuva = LoadImage("Alus2"); 
     26    Image tahtiKuva = LoadImage("Tahti"); 
    2227 
    2328    public override void Begin() 
    2429    { 
    25         AloitaPeli(); 
    26     } 
    27  
    28  void AloitaPeli() 
    29         { 
    30  
    31             ClearAll(); 
    32  
    33             Nappaimet(); 
    34             LuoAlus1(); 
    35             LuoAlus2(); 
    36             LuoLaskuri1(); 
    37             LuoLaskuri2(); 
    38             LuoKentta(); 
    39             LuoTahdet(); 
    40  
    41             FollowerBrain aly1 = new FollowerBrain(); 
    42             aly1.Target = Alus1; 
    43             aly1.FollowAlways = true; 
    44             aly1.TargetFollowDistance = 750; 
    45             aly1.Speed = 50; 
    46  
    47             FollowerBrain aly2 = new FollowerBrain(); 
    48             aly2.Target = Alus2; 
    49             aly2.FollowAlways = true; 
    50             aly2.TargetFollowDistance = 500; 
    51             aly2.Speed = 50; 
    52  
    53             tahti1 = new PhysicsObject(25, 25); 
    54             tahti1.Shape = Shape.Star; 
    55             tahti1.Color = Color.Yellow; 
    56             tahti1.Y = -300; 
    57             tahti1.X = -100; 
    58             tahti1.Brain = aly1; 
    59             tahti1.Tag = "Tähti"; 
    60             tahti1.IgnoresCollisionResponse = true; 
    61  
    62             Add(tahti1); 
    63  
    64             tahti2 = new PhysicsObject(25, 25); 
    65             tahti2.Shape = Shape.Star; 
    66             tahti2.Color = Color.Yellow; 
    67             tahti2.Y = -300; 
    68             tahti2.X = 100; 
    69             tahti2.Brain = aly2; 
    70             tahti2.Tag = "Tähti"; 
    71             tahti2.IgnoresCollisionResponse = true; 
    72  
    73             Add(tahti2); 
    74  
    75         } 
    76  
    77  void LuoKentta() 
    78  { 
    79      Level.CreateBorders(1.0, false); 
    80      Level.BackgroundColor = Color.Black; 
    81      Level.Background.CreateStars(); 
    82      Level.Background.FitToLevel(); 
    83  
    84      Gravity = new Vector(0, -100); 
    85  
    86      IsFullScreen = true; 
    87      Camera.ZoomToLevel(); 
    88  } 
    89  
    90  void LuoTahdet() 
    91  { 
    92      int i = 0; 
    93  
    94      while (i < 2) 
    95      { 
    96          LuoUusiTahti(); 
    97          i++; 
    98      } 
    99  
    100  } 
     30        Valikko(); 
     31    } 
     32 
     33    void Valikko() 
     34    { 
     35        ClearAll(); 
     36        valikonKohdat = new List<Label>(); 
     37        Level.BackgroundColor = Color.Black; 
     38        Level.Background.CreateStars(); 
     39 
     40        Label kohta1 = new Label("Aloita uusi peli"); 
     41        kohta1.Position = new Vector(0, 80); 
     42        valikonKohdat.Add(kohta1); 
     43 
     44        Label kohta2 = new Label("Ohjeet"); 
     45        kohta2.Position = new Vector(0, 40); 
     46        valikonKohdat.Add(kohta2); 
     47 
     48        Label kohta3= new Label("Lopeta"); 
     49        kohta3.Position = new Vector(0, 0); 
     50        valikonKohdat.Add(kohta3); 
     51 
     52        foreach (Label valikonKohta in valikonKohdat) 
     53        { 
     54            Add(valikonKohta); 
     55        } 
     56 
     57        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaUusiPeli, null); 
     58        Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, ShowControlHelp, null); 
     59        Mouse.ListenOn(kohta3, MouseButton.Left, ButtonState.Pressed, Exit, null); 
     60 
     61        Mouse.IsCursorVisible = true; 
     62        Mouse.ListenMovement(1.0, valikossaLiikkuminen, null); 
     63        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, ""); 
     64    } 
     65 
     66    void valikossaLiikkuminen(AnalogState hiirenTila) 
     67    { 
     68        foreach (Label kohta in valikonKohdat) 
     69        { 
     70            if (Mouse.IsCursorOn(kohta)) 
     71            { 
     72                kohta.TextColor = Color.Red; 
     73            } 
     74            else 
     75            { 
     76                kohta.TextColor = Color.GreenYellow; 
     77            } 
     78 
     79        } 
     80    } 
     81 
     82    void AloitaPeli() 
     83    { 
     84        ClearAll(); 
     85        AloitaUusiPeli(); 
     86    } 
     87 
     88 
     89    void AloitaUusiPeli() 
     90    { 
     91        ClearAll(); 
     92        Nappaimet(); 
     93        LuoAlus1(); 
     94        LuoAlus2(); 
     95        LuoLaskuri1(); 
     96        LuoLaskuri2(); 
     97        LuoKentta(); 
     98        LuoTahdet(); 
     99 
     100        FollowerBrain aly1 = new FollowerBrain(); 
     101        aly1.Target = Alus1; 
     102        aly1.FollowAlways = true; 
     103        aly1.TargetFollowDistance = 750; 
     104        aly1.Speed = 50; 
     105 
     106        FollowerBrain aly2 = new FollowerBrain(); 
     107        aly2.Target = Alus2; 
     108        aly2.FollowAlways = true; 
     109        aly2.TargetFollowDistance = 500; 
     110        aly2.Speed = 50; 
     111 
     112        tahti1 = new PhysicsObject(25, 25); 
     113        tahti1.Shape = Shape.Star; 
     114        tahti1.Color = Color.Yellow; 
     115        tahti1.Y = -300; 
     116        tahti1.X = -100; 
     117        tahti1.Brain = aly1; 
     118        tahti1.Tag = "Tähti"; 
     119        tahti1.IgnoresCollisionResponse = false; 
     120 
     121        Add(tahti1); 
     122 
     123        tahti2 = new PhysicsObject(25, 25); 
     124        tahti2.Shape = Shape.Star; 
     125        tahti2.Color = Color.Yellow; 
     126        tahti2.Y = -300; 
     127        tahti2.X = 100; 
     128        tahti2.Brain = aly2; 
     129        tahti2.Tag = "Tähti"; 
     130        tahti2.IgnoresCollisionResponse = false; 
     131 
     132        Add(tahti2); 
     133 
     134    } 
     135 
     136    void LuoKentta() 
     137    { 
     138        Level.CreateBorders(1.0, false); 
     139        Level.BackgroundColor = Color.Black; 
     140        Level.Background.CreateStars(); 
     141        Level.Background.FitToLevel(); 
     142 
     143        Gravity = new Vector(0, -50); 
     144 
     145        IsFullScreen = true; 
     146        Camera.ZoomToLevel(); 
     147    } 
     148 
     149    void LuoTahdet() 
     150    { 
     151        int i = 0; 
     152 
     153        while (i < 2) 
     154        { 
     155            LuoUusiTahti(); 
     156            i++; 
     157        } 
     158 
     159    } 
    101160 
    102161    void LuoAlus1() 
     
    107166        Alus1.CanRotate = false; 
    108167        Alus1.IgnoresExplosions = true; 
     168        Alus1.Restitution = 0; 
    109169        Alus1.X = -250; 
    110         Alus1.Tag = "Alus1"; 
     170        Alus1.Tag = "Alus"; 
     171        Alus1.Image = tahtiKuva; 
    111172        Add(Alus1); 
    112173 
     
    114175        pyssy.Angle += Angle.FromDegrees(90); 
    115176        pyssy.Shoot(); 
    116         pyssy.LaserCollision = LaserOsuu; 
    117         pyssy.AmmoIgnoresGravity = false; 
     177        pyssy.ProjectileCollision = LaserOsuu; 
     178        pyssy.AmmoIgnoresGravity = true; 
    118179        pyssy.InfiniteAmmo = true; 
    119         pyssy.MaxAmmoLifetime = TimeSpan.MaxValue;  
     180        pyssy.MaxAmmoLifetime = TimeSpan.MaxValue; 
     181        pyssy.IsVisible = false; 
    120182        Alus1.Add(pyssy); 
    121183    } 
     
    128190        Alus2.CanRotate = false; 
    129191        Alus2.IgnoresExplosions = true; 
     192        Alus2.Restitution = 0; 
    130193        Alus2.X = 250; 
    131         Alus2.Tag = "Alus2"; 
     194        Alus2.Tag = "Alus"; 
     195        Alus2.Image = tahtiKuva; 
    132196        Add(Alus2); 
    133197 
     
    137201        pyssy2.Shoot(); 
    138202        pyssy2.MaxAmmoLifetime = TimeSpan.MaxValue; 
    139         pyssy2.LaserCollision = Laser2Osuu; 
    140         pyssy2.AmmoIgnoresGravity = false; 
     203        pyssy2.ProjectileCollision = Laser2Osuu; 
     204        pyssy2.AmmoIgnoresGravity = true; 
    141205        pyssy2.InfiniteAmmo = true; 
     206        pyssy2.IsVisible = false; 
    142207        Alus2.Add(pyssy2); 
    143208    } 
     
    145210    void Nappaimet() 
    146211    { 
    147         Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 
    148  
    149         Keyboard.Listen(Key.Left, ButtonState.Down, 
    150            LiikutaPelaajaa1, null, new Vector(-500, 0)); 
    151         Keyboard.Listen(Key.Right, ButtonState.Down, 
    152           LiikutaPelaajaa1, null, new Vector(500, 0)); 
    153         Keyboard.Listen(Key.Up, ButtonState.Down, 
    154           LiikutaPelaajaa1, null, new Vector(0, 500)); 
    155         Keyboard.Listen(Key.Down, ButtonState.Down, 
    156           LiikutaPelaajaa1, null, new Vector(0, -500)); 
    157  
    158         Keyboard.Listen(Key.A, ButtonState.Down, 
    159            LiikutaPelaajaa2, null, new Vector(-500, 0)); 
    160         Keyboard.Listen(Key.D, ButtonState.Down, 
    161           LiikutaPelaajaa2, null, new Vector(500, 0)); 
    162         Keyboard.Listen(Key.W, ButtonState.Down, 
    163           LiikutaPelaajaa2, null, new Vector(0, 500)); 
    164         Keyboard.Listen(Key.S, ButtonState.Down, 
    165           LiikutaPelaajaa2, null, new Vector(0, -500)); 
    166  
     212 
     213        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Palaa valikkoon"); 
     214 
     215        Keyboard.Listen(Key.Left, ButtonState.Down,LiikutaPelaajaa1, "Pelaaja 1 liikkuu vasemmalle", new Vector(-500, 0)); 
     216        Keyboard.Listen(Key.Right, ButtonState.Down,LiikutaPelaajaa1, "Pelaaja 1 liikkuu oikealle", new Vector(500, 0)); 
     217        Keyboard.Listen(Key.Up, ButtonState.Down,LiikutaPelaajaa1, "Pelaaja1 liikkuu ylös", new Vector(0, 500)); 
     218        Keyboard.Listen(Key.Down, ButtonState.Down,LiikutaPelaajaa1, "Pelaaja 1 liikkuu alas", new Vector(0, -500)); 
     219 
     220        Keyboard.Listen(Key.A, ButtonState.Down,LiikutaPelaajaa2, "Pelaaja 2 liikkuu vasemmalle", new Vector(-500, 0)); 
     221        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa2, "Pelaaja 2 liikkuu oikealle", new Vector(500, 0)); 
     222        Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa2, "Pelaaja 2 liikkuu ylös", new Vector(0, 500)); 
     223        Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa2, "Pelaaja 2 liikkuu alas", new Vector(0, -500)); 
     224           
    167225        Keyboard.Listen(Key.Space, ButtonState.Down, Ampuu, null); 
    168226        Keyboard.Listen(Key.Tab, ButtonState.Down, Ampuu2, null); 
    169  
    170227    } 
    171228 
     
    193250    { 
    194251        base.Update(time); 
     252        if (Alus1 != null && Alus2 != null) 
     253        { 
    195254        Alus1.Angle = Alus1.Velocity.Angle - Angle.FromDegrees(90); 
    196         base.Update(time); 
    197255        Alus2.Angle = Alus2.Velocity.Angle - Angle.FromDegrees(90); 
     256        } 
    198257    } 
    199258 
     
    201260    void LuoUusiTahti() 
    202261    { 
    203         FollowerBrain aly = new FollowerBrain(); 
    204         aly.Target = Alus1; 
    205         aly.FollowAlways = false; 
    206         aly.TargetFollowDistance = 200; 
    207         aly.Speed = 50; 
     262        TagFollowerBrain aly = new TagFollowerBrain("Alus", 5000); 
     263        aly.TargetFollowDistance = 500; 
    208264 
    209265        tahti = new PhysicsObject(30, 30); 
     
    216272        tahti.IgnoresGravity = true; 
    217273        tahti.Restitution = 10; 
    218         AddCollisionHandler(tahti,tahtiTormasi); 
     274        AddCollisionHandler(tahti, tahtiTormasi); 
    219275        Add(tahti); 
    220276    } 
    221      
     277 
    222278 
    223279    void LuoLaskuri1() 
     
    249305 
    250306        Label pisteNaytto2 = new Label(); 
    251         pisteNaytto2.X = Screen.Right -100; 
     307        pisteNaytto2.X = Screen.Right - 100; 
    252308        pisteNaytto2.Y = Screen.Top - 100; 
    253309        pisteNaytto2.TextColor = Color.Maroon; 
     
    266322    void LaserOsuu(PhysicsObject ammus, PhysicsObject kohde) 
    267323    { 
    268         Explosion rajahdys = new Explosion(5); 
     324        Explosion rajahdys = new Explosion(2.5); 
    269325        rajahdys.Position = ammus.Position; 
    270326        Add(rajahdys); 
    271327        ammus.Destroy(); 
     328 
     329        if (kohde.IsDestroyed) 
     330        { 
     331            return; 
     332        } 
    272333 
    273334        if (kohde.Tag.ToString() == "Tähti") 
     
    277338            LuoUusiTahti(); 
    278339            pisteLaskuri1.Value += 10; 
    279  
    280         } 
    281         if (kohde.Tag.ToString() == "Alus2") 
     340        } 
     341 
     342        if (kohde == Alus2) 
    282343        { 
    283344            ammus.Destroy(); 
     
    294355        ammus.Destroy(); 
    295356 
     357        if (kohde.IsDestroyed) 
     358        { 
     359            return; 
     360        } 
     361 
    296362        if (kohde.Tag.ToString() == "Tähti") 
    297363        { 
     
    299365            kohde.Destroy(); 
    300366            LuoUusiTahti(); 
    301             pisteLaskuri2.Value += 10; 
    302  
    303         } 
    304  
    305         if (kohde.Tag.ToString() == "Alus1") 
     367            pisteLaskuri1.Value += 10; 
     368        } 
     369 
     370        if (kohde == Alus1) 
    306371        { 
    307372            ammus.Destroy(); 
     
    313378 
    314379    void tahtiTormasi(PhysicsObject tahti, PhysicsObject kohde) 
    315         { 
    316             if (kohde.Tag.ToString() == "Alus2") 
    317             { 
    318                 tahti.Destroy(); 
    319                 pisteLaskuri2.Value -= 30; 
    320                 LuoUusiTahti(); 
    321             } 
    322  
    323             if (kohde.Tag.ToString() == "Alus1") 
    324             { 
    325                 tahti.Destroy(); 
    326                 pisteLaskuri1.Value -= 30; 
    327                 LuoUusiTahti(); 
    328             } 
    329  
    330         } 
     380    { 
     381        if (kohde == Alus2) 
     382        { 
     383            tahti.Destroy(); 
     384            pisteLaskuri2.Value -= 100; 
     385            LuoUusiTahti(); 
     386        } 
     387 
     388        if (kohde == Alus1) 
     389        { 
     390            tahti.Destroy(); 
     391            pisteLaskuri1.Value -= 100; 
     392            LuoUusiTahti(); 
     393        } 
     394 
     395    } 
    331396 
    332397 
     
    344409        MessageDisplay.TextColor = Color.Aqua; 
    345410        MessageDisplay.Add("Pelaaja 2 voitti pelin. Uusi peli alkaa 5 sekunnin kuluttua."); 
    346         Alus1.Destroy();  
     411        Alus1.Destroy(); 
    347412        Alus2.Destroy(); 
    348413        Timer.SingleShot(5.0, ajastinLaukesi); 
     
    352417    { 
    353418        ClearAll(); 
    354         AloitaPeli(); 
     419        AloitaUusiPeli(); 
    355420    } 
    356421 
  • 2011/31/AleksiR/OmaPeli/OmaPeli/OmaPeliContent/OmaPeliContent.contentproj

    r2501 r2550  
    4444    <Reference Include="TextFileContentExtension" /> 
    4545  </ItemGroup> 
     46  <ItemGroup> 
     47    <Compile Include="Alus1.png"> 
     48      <Name>Alus1</Name> 
     49      <Importer>TextureImporter</Importer> 
     50      <Processor>TextureProcessor</Processor> 
     51    </Compile> 
     52  </ItemGroup> 
     53  <ItemGroup> 
     54    <Compile Include="Alus2.png"> 
     55      <Name>Alus2</Name> 
     56      <Importer>TextureImporter</Importer> 
     57      <Processor>TextureProcessor</Processor> 
     58    </Compile> 
     59  </ItemGroup> 
     60  <ItemGroup> 
     61    <Compile Include="Tahti.png"> 
     62      <Name>Tahti</Name> 
     63      <Importer>TextureImporter</Importer> 
     64      <Processor>TextureProcessor</Processor> 
     65    </Compile> 
     66  </ItemGroup> 
    4667  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    4768  <!--  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.