Changeset 8249 for 2016/30


Ignore:
Timestamp:
2016-07-29 11:44:22 (3 years ago)
Author:
pybesilt
Message:

coasipdgsrdgt

Location:
2016/30/PyryS
Files:
10 added
10 edited

Legend:

Unmodified
Added
Removed
  • 2016/30/PyryS/Peli/Peli/Peli/Peli.cs

    r8216 r8249  
    1818    Pelaaja pelaaja; 
    1919    AssaultRifle pelaajanAse; 
    20      
     20 
    2121    PhysicsObject oikeareuna; 
    2222    PhysicsObject vasenreuna; 
    23      
    24      
     23    PhysicsObject ylareuna; 
     24    PhysicsObject alareuna; 
     25 
     26 
    2527    public override void Begin() 
    2628    { 
    2729 
    28          
     30 
    2931        Leveli(); 
    3032        LuoPelaaja(0, -400); 
    3133        Ohjaimet(); 
    32         Vihollinen2Ase(); 
    3334        Vihollinen2(Level.Right, 0); 
    3435 
     
    3738        vihuSpawnausAika.Timeout += delegate { LuoVihollinen(Level.Right, 20); }; 
    3839        vihuSpawnausAika.Start(7); 
    39          
     40 
    4041 
    4142 
     
    4748    void LuoVihollinen(double x, double y) 
    4849    { 
    49         Vihollinen vihu1 = new Vihollinen(x, y);  
     50        Vihollinen vihu1 = new Vihollinen(x, y); 
    5051        vihu1.X = x; 
    5152        vihu1.Y = y; 
     
    5657        vihu1.CollisionIgnoreGroup = 3; 
    5758        Add(vihu1); 
    58          
    59  
    60     //AddCollisionHandler(vihu1, "joku", VihuunOsuu); 
     59 
     60 
     61        //AddCollisionHandler(vihu1, "joku", VihuunOsuu); 
    6162        AssaultRifle vihu1Laser = new AssaultRifle(30, 10); 
    6263        vihu1Laser.InfiniteAmmo = true; 
     
    6768        Timer ammusajastin = new Timer(); 
    6869        ammusajastin.Interval = 0.2; 
    69         ammusajastin.Timeout += delegate() { V1LaserAmpuu(vihu1Laser); }; 
     70        ammusajastin.Timeout += delegate () { V1LaserAmpuu(vihu1Laser); }; 
    7071        ammusajastin.Start(); 
    71          
     72 
    7273 
    7374        PathFollowerBrain vihu1Aivot = new PathFollowerBrain(200); 
     
    9596        vihu1.Brain = vihu1Aivot; 
    9697 
    97  
     98        vihu1.Destroyed += delegate () { ammusajastin.Stop(); }; 
    9899 
    99100 
     
    115116        pelaaja.CanRotate = false; 
    116117        AddCollisionHandler(pelaaja, "vihu1Luoti", VahennaElamaa); 
     118        AddCollisionHandler(pelaaja, "vihu2Luoti", VahennaElamaa); 
     119        pelaaja.Image = LoadImage("Alus"); 
    117120        Add(pelaaja); 
    118121 
     
    127130        oikeareuna.Restitution = 0.0; 
    128131        vasenreuna.Restitution = 0.0; 
    129         Level.BackgroundColor = Color.Black; 
    130              
     132        
     133 
     134        alareuna = Level.CreateBottomBorder(); 
     135        alareuna.CollisionIgnoreGroup = 3; 
     136        alareuna.Restitution = 0.0; 
     137        ylareuna = Level.CreateTopBorder(); 
     138        ylareuna.CollisionIgnoreGroup = 3; 
     139        ylareuna.Restitution = 0.0; 
    131140         
    132  
    133  
    134     } 
     141        Level.Background.Color = Color.Black; 
     142 
     143        //AddCollisionHandler(ylareuna, "joku",(ylareuna.YlaReunaCollisionHandler)); 
     144 
     145 
     146 
     147 
     148    } 
     149 
    135150 
    136151    void Ohjaimet() 
    137152    { 
    138         Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null,  pelaaja, nopeusVasempaan); 
     153        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, pelaaja, nopeusVasempaan); 
    139154        Keyboard.Listen(Key.Left, ButtonState.Released, LiikutaPelaajaa, null, pelaaja, Vector.Zero); 
    140155        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, pelaaja, nopeusOikeaan); 
     
    152167        pelaaja.Push(nopeus); 
    153168    } 
    154      
     169 
    155170    void VihuOsuu(PhysicsObject laser, PhysicsObject kohde) 
    156171    { 
    157172        laser.Destroy(); 
    158          
    159     } 
    160  
    161     void PelaanjaAse () 
     173 
     174    } 
     175 
     176    void PelaanjaAse() 
    162177    { 
    163178        pelaajanAse = new AssaultRifle(10, 10); 
    164179        pelaajanAse.InfiniteAmmo = true; 
    165180        pelaajanAse.ProjectileCollision = PelaajaOsuu; 
     181         
    166182        pelaajanAse.Angle = Angle.FromDegrees(90); 
    167183        pelaajanAse.Image = null; 
     
    169185    } 
    170186 
    171     void PelaajaOsuu (PhysicsObject luoti, PhysicsObject kohde) 
    172     { 
    173  
    174         if (kohde is Vihollinen) 
     187    void PelaajaOsuu(PhysicsObject luoti, PhysicsObject kohde) 
     188    { 
     189        if (kohde == pelaaja) 
     190            return; 
     191 
     192        luoti.Destroy(); 
     193 
     194        if (kohde is Vihollinen || kohde is Vihollinen2) 
    175195        { 
    176196            luoti.Destroy(); 
     
    179199    } 
    180200 
    181     void V1LaserAmpuu (AssaultRifle ase) 
     201    void V1LaserAmpuu(AssaultRifle ase) 
    182202    { 
    183203        PhysicsObject laser = ase.Shoot(); 
    184          
     204 
    185205        if (laser != null) 
    186206        { 
     
    193213    } 
    194214 
    195     void PelaajaAmpuu (AssaultRifle pelaajanAse) 
     215    void PelaajaAmpuu(AssaultRifle pelaajanAse) 
    196216    { 
    197217        PhysicsObject pelaajanammus = pelaajanAse.Shoot(); 
    198218 
    199         if(pelaajanammus != null) 
     219        if (pelaajanammus != null) 
    200220        { 
    201221            pelaajanammus.Size *= 3; 
    202222            pelaajanammus.Tag = "joku"; 
    203223            pelaajanammus.CollisionIgnoreGroup = 2; 
     224           // pelaajanammus.MaximumLifetime = TimeSpan.FromSeconds(0.7); 
    204225             
    205         } 
    206          
    207     } 
    208      
     226 
     227        } 
     228 
     229    } 
     230 
    209231    void VahennaElamaa(PhysicsObject pelaaja, PhysicsObject luoti) 
    210232    { 
     
    223245        Add(vihu2); 
    224246 
     247        Timer clusterBallSpawn = new Timer(); 
     248        clusterBallSpawn.Interval = 1.5; 
     249        clusterBallSpawn.Timeout += delegate { Vihollinen2Ase(vihu2); }; 
     250        clusterBallSpawn.Start(); 
     251 
    225252 
    226253 
    227254        PathFollowerBrain vihu2Aivot = new PathFollowerBrain(200); 
     255 
     256        vihu2.Destroyed += delegate () { clusterBallSpawn.Stop(); }; 
    228257 
    229258 
     
    243272    } 
    244273 
    245     void Vihollinen2Ase() 
    246     { 
    247         PhysicsObject clusterBall = new PhysicsObject(75, 75);  
     274     void Vihollinen2Ase(Vihollinen2 vihu2) 
     275    { 
     276        PhysicsObject clusterBall = new PhysicsObject(75, 75); 
    248277        clusterBall.Shape = Shape.Circle; 
    249           
     278        clusterBall.CollisionIgnoreGroup = 2; 
     279        clusterBall.Position = vihu2.Position; 
     280        clusterBall.Image = LoadImage("ClusterBall"); 
     281 
     282 
     283        Timer.SingleShot(1, delegate { ClusterBallExplode(clusterBall); }); 
     284        Vector vihu2AmpumisSuunta = (pelaaja.Position - clusterBall.Position).Normalize(); 
     285        clusterBall.Velocity = vihu2AmpumisSuunta * 300; 
     286        clusterBall.Tag = "vihu2Luoti"; 
     287        clusterBall.Angle = vihu2AmpumisSuunta.Angle; 
     288        clusterBall.CollisionIgnoreGroup = 2; 
     289         
     290 
     291 
     292         
     293 
     294 
    250295 
    251296        Add(clusterBall); 
    252297    } 
    253  
    254 } 
    255 class Vihollinen : PhysicsObject 
    256 { 
    257     private IntMeter vihuHealth = new IntMeter(2, 0, 2); 
    258     public IntMeter VihuHealth { get { return vihuHealth; } } 
    259      
    260  
    261     public Vihollinen(double leveys, double korkeus) 
    262         : base(40, 40) 
    263     { 
    264         VihuHealth.LowerLimit += delegate { this.Destroy(); }; 
    265     } 
    266      
    267     
    268      
    269 } 
    270  
    271 class Pelaaja : PhysicsObject 
    272 { 
    273     private IntMeter elamaLaskuri = new IntMeter(3, 0, 3); 
    274     public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
    275     private bool voikoOttaaOsumaa = true; 
    276     public Pelaaja(double leveys, double korkeus) 
    277         : base(leveys, korkeus) 
    278     { 
    279         elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 
    280     } 
    281     public void VahennaElamaa () 
    282     { 
    283         if (voikoOttaaOsumaa) 
    284         { 
    285             elamaLaskuri.Value -= 1; 
    286             voikoOttaaOsumaa = false; 
    287             Timer.SingleShot(1, delegate { voikoOttaaOsumaa = true; }); 
    288         } 
    289     } 
    290 } 
    291  
    292 class Vihollinen2 : PhysicsObject 
    293 { 
    294     private IntMeter vihu2Health = new IntMeter(10, 0, 10); 
    295     public IntMeter Vihu2Health { get { return vihu2Health; } } 
    296  
    297  
    298     public Vihollinen2(double leveys, double korkeus) 
    299         : base(40, 40) 
    300     { 
    301         Vihu2Health.LowerLimit += delegate { this.Destroy(); }; 
    302     } 
    303  
    304  
    305  
    306 } 
    307  
    308  
     298    void ClusterBallExplode(PhysicsObject rajahdys) 
     299    { 
     300 
     301 
     302        PhysicsObject clusterBallExplode = new PhysicsObject(25, 25); 
     303        rajahdys.Destroy(); 
     304    } 
     305 
     306    /*void V2Ampuu(PhysicsObject clusterBall) 
     307    { 
     308        if (clusterBall != null) 
     309        { 
     310            Vector vihu2AmpumisSuunta = (pelaaja.Position - clusterBall.Position).Normalize(); 
     311            clusterBall.Velocity = vihu2AmpumisSuunta * 300; 
     312            clusterBall.Tag = "vihu2Luoti"; 
     313            clusterBall.Angle = vihu2AmpumisSuunta.Angle; 
     314            clusterBall.CollisionIgnoreGroup = 2; 
     315        }*/ 
     316 
     317    } 
     318    class Vihollinen : PhysicsObject 
     319    { 
     320        private IntMeter vihuHealth = new IntMeter(2, 0, 2); 
     321        public IntMeter VihuHealth { get { return vihuHealth; } } 
     322 
     323 
     324        public Vihollinen(double leveys, double korkeus) 
     325            : base(40, 40) 
     326        { 
     327            VihuHealth.LowerLimit += delegate { this.Destroy(); }; 
     328        } 
     329 
     330 
     331 
     332    } 
     333 
     334    class Pelaaja : PhysicsObject 
     335    { 
     336        private IntMeter elamaLaskuri = new IntMeter(3, 0, 3); 
     337        public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
     338        private bool voikoOttaaOsumaa = true; 
     339        public Pelaaja(double leveys, double korkeus) 
     340            : base(leveys, korkeus) 
     341        { 
     342            elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 
     343        } 
     344        public void VahennaElamaa() 
     345        { 
     346            if (voikoOttaaOsumaa) 
     347            { 
     348                elamaLaskuri.Value -= 1; 
     349                voikoOttaaOsumaa = false; 
     350                Timer.SingleShot(1, delegate { voikoOttaaOsumaa = true; }); 
     351            } 
     352        } 
     353    } 
     354 
     355    class Vihollinen2 : PhysicsObject 
     356    { 
     357        private IntMeter vihu2Health = new IntMeter(10, 0, 10); 
     358        public IntMeter Vihu2Health { get { return vihu2Health; } } 
     359 
     360 
     361        public Vihollinen2(double leveys, double korkeus) 
     362            : base(40, 40) 
     363        { 
     364            Vihu2Health.LowerLimit += delegate { this.Destroy(); }; 
     365        } 
     366 
     367 
     368 
     369    } 
     370 
     371 
     372 
  • 2016/30/PyryS/Peli/Peli/Peli/obj/x86/Debug/ContentPipeline-{5F31777B-9E3D-45C6-9AA2-E09B8B9A2E7E}.xml

    r8171 r8249  
    22<XnaContent xmlns:Pipeline="Microsoft.Xna.Framework.Content.Pipeline"> 
    33  <Asset Type="Pipeline:BuildItemCollection"> 
     4    <Item> 
     5      <Source>Alus.png</Source> 
     6      <Name>Alus</Name> 
     7      <Importer>TextureImporter</Importer> 
     8      <Processor>TextureProcessor</Processor> 
     9      <Options>None</Options> 
     10      <Output>C:\MyTemp\PyryS\Peli\Peli\Peli\bin\x86\Debug\Content\Alus.xnb</Output> 
     11      <Time>2016-07-29T10:31:16.3547453+03:00</Time> 
     12    </Item> 
     13    <Item> 
     14      <Source>ClusterBall.png</Source> 
     15      <Name>ClusterBall</Name> 
     16      <Importer>TextureImporter</Importer> 
     17      <Processor>TextureProcessor</Processor> 
     18      <Options>None</Options> 
     19      <Output>C:\MyTemp\PyryS\Peli\Peli\Peli\bin\x86\Debug\Content\ClusterBall.xnb</Output> 
     20      <Time>2016-07-29T11:12:42.4506429+03:00</Time> 
     21    </Item> 
    422    <BuildSuccessful>true</BuildSuccessful> 
    523    <Settings> 
     
    1634    <Assemblies> 
    1735      <Assembly> 
     36        <Key>C:\Program Files (x86)\Jypeli\lib\ContentExtensions\TextFileContentExtension.dll</Key> 
     37        <Value>2016-03-29T10:06:40+03:00</Value> 
     38      </Assembly> 
     39      <Assembly> 
     40        <Key>C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.Content.Pipeline.XImporter.dll</Key> 
     41        <Value>2011-09-01T16:22:30+03:00</Value> 
     42      </Assembly> 
     43      <Assembly> 
     44        <Key>C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.Content.Pipeline.VideoImporters.dll</Key> 
     45        <Value>2011-09-01T16:22:30+03:00</Value> 
     46      </Assembly> 
     47      <Assembly> 
     48        <Key>C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.Content.Pipeline.TextureImporter.dll</Key> 
     49        <Value>2011-09-01T16:22:30+03:00</Value> 
     50      </Assembly> 
     51      <Assembly> 
     52        <Key>C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.Content.Pipeline.FBXImporter.dll</Key> 
     53        <Value>2011-09-01T16:22:30+03:00</Value> 
     54      </Assembly> 
     55      <Assembly> 
     56        <Key>C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.Content.Pipeline.EffectImporter.dll</Key> 
     57        <Value>2011-09-01T16:22:30+03:00</Value> 
     58      </Assembly> 
     59      <Assembly> 
     60        <Key>C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.Content.Pipeline.AudioImporters.dll</Key> 
     61        <Value>2011-09-01T16:22:30+03:00</Value> 
     62      </Assembly> 
     63      <Assembly> 
     64        <Key>C:\Program Files (x86)\Jypeli\lib\ContentExtensions\AnimationExtension.dll</Key> 
     65        <Value>2016-03-29T10:06:38+03:00</Value> 
     66      </Assembly> 
     67      <Assembly> 
    1868        <Key>C:\Windows\Microsoft.Net\assembly\GAC_32\Microsoft.Xna.Framework.Content.Pipeline\v4.0_4.0.0.0__842cf8be1de50553\Microsoft.Xna.Framework.Content.Pipeline.dll</Key> 
    1969        <Value>2015-09-16T13:46:35.8102287+03:00</Value> 
  • 2016/30/PyryS/Peli/Peli/Peli/obj/x86/Debug/Peli.csproj.FileListAbsolute.txt

    r8171 r8249  
    77C:\MyTemp\PyryS\Peli\Peli\Peli\obj\x86\Debug\Peli.exe 
    88C:\MyTemp\PyryS\Peli\Peli\Peli\obj\x86\Debug\Peli.pdb 
     9C:\MyTemp\PyryS\Peli\Peli\Peli\bin\x86\Debug\Content\Alus.xnb 
     10C:\MyTemp\PyryS\Peli\Peli\Peli\bin\x86\Debug\Content\ClusterBall.xnb 
  • 2016/30/PyryS/Peli/Peli/PeliContent/PeliContent.contentproj

    r8171 r8249  
    4545    <Reference Include="AnimationExtension" /> 
    4646  </ItemGroup> 
     47  <ItemGroup> 
     48    <Compile Include="Alus.png"> 
     49      <Name>Alus</Name> 
     50      <Importer>TextureImporter</Importer> 
     51      <Processor>TextureProcessor</Processor> 
     52    </Compile> 
     53  </ItemGroup> 
     54  <ItemGroup> 
     55    <Compile Include="ClusterBall.png"> 
     56      <Name>ClusterBall</Name> 
     57      <Importer>TextureImporter</Importer> 
     58      <Processor>TextureProcessor</Processor> 
     59    </Compile> 
     60  </ItemGroup> 
    4761  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    4862  <!--  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.