Changeset 5126


Ignore:
Timestamp:
2014-06-26 14:58:24 (5 years ago)
Author:
jijaolri
Message:

Peli melkein valmis.!!!!

Location:
2014/26/JimiR
Files:
12 added
1 deleted
11 edited

Legend:

Unmodified
Added
Removed
  • 2014/26/JimiR/RunAway/RunAway/RunAway/RunAway/RunAway.cs

    r5116 r5126  
    1313    Image pelaajanKuva = LoadImage("ukkeli"); 
    1414    Image pelaajan2Kuva = LoadImage("energydrink"); 
     15    Image vihun2Kuva = LoadImage("Boss"); 
    1516 
    1617    Hahmo pelaaja; 
    17     PhysicsObject vihu; 
     18    PhysicsObject yksinpeliVihu; 
     19 
     20    Hahmo coopVihu; 
    1821     
    1922    Hahmo pelaaja2; 
     
    2427 
    2528    bool moninpeli = false; 
     29    bool coop = false; 
    2630 
    2731    bool vihuAmmuttu = false; 
     
    4044    void LuoAlkuValikko() 
    4145    { 
    42         MultiSelectWindow alkuValikko = new MultiSelectWindow("RunAway", "Start", "MultiPlayer", "Quit"); 
     46        moninpeli = false; 
     47        coop = false; 
     48 
     49        MultiSelectWindow alkuValikko = new MultiSelectWindow("RunAway", "Start", "MultiPlayer", "COOP", "Quit"); 
    4350        Add(alkuValikko); 
    4451 
    4552        alkuValikko.AddItemHandler(0, AloitaPeli); 
    46         alkuValikko.AddItemHandler(1, AloitaMoninPeli); 
    47         alkuValikko.AddItemHandler(2, Exit); 
     53        alkuValikko.AddItemHandler(1, delegate { AloitaMoninPeli("Areena");}); 
     54        alkuValikko.AddItemHandler(2, COOP); 
     55        alkuValikko.AddItemHandler(3, Exit); 
    4856    } 
    4957 
     
    7078        ruudut.SetTileMethod('P', LuoPelaaja); 
    7179        ruudut.SetTileMethod('Y', LuoPelaaja2); 
    72         ruudut.SetTileMethod('S', LuoVihu); 
     80        ruudut.SetTileMethod('S', LuoYksinpeliVihu); 
    7381        ruudut.SetTileMethod('A', LuoKerattavaAse); 
    7482        ruudut.SetTileMethod('O', LuoOvi); 
    7583        ruudut.SetTileMethod('R', LuoPallo); 
     84        ruudut.SetTileMethod('V', LuoCOOPVihu); 
    7685        ruudut.Execute(40,40); 
    7786 
     
    8493    void LisaaOhjaimet() 
    8594    { 
    86         Keyboard.Listen(Key.A, ButtonState.Down, 
    87           LiikutaPelaajaa, null, pelaaja, new Vector(-1000, 0)); 
    88         Keyboard.Listen(Key.A, ButtonState.Up, 
    89           LiikutaPelaajaa, null, pelaaja, Vector.Zero); 
    90         Keyboard.Listen(Key.D, ButtonState.Down, 
    91           LiikutaPelaajaa, null, pelaaja, new Vector(1000, 0)); 
    92         Keyboard.Listen(Key.D, ButtonState.Up, 
    93           LiikutaPelaajaa, null, pelaaja, Vector.Zero); 
    94         Keyboard.Listen(Key.W, ButtonState.Down, 
    95           LiikutaPelaajaa, null, pelaaja, new Vector(0, 1000)); 
    96         Keyboard.Listen(Key.W, ButtonState.Up, 
    97           LiikutaPelaajaa, null, pelaaja, Vector.Zero); 
    98         Keyboard.Listen(Key.S, ButtonState.Down, 
    99           LiikutaPelaajaa, null, pelaaja, new Vector(0, -1000)); 
    100         Keyboard.Listen(Key.S, ButtonState.Up, 
    101          LiikutaPelaajaa, null, pelaaja, Vector.Zero); 
    102  
    103         Keyboard.Listen(Key.I, ButtonState.Pressed, TokkaaVihua, null); 
     95        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, null, pelaaja, new Vector(-500, 0)); 
     96        Keyboard.Listen(Key.A, ButtonState.Released, LiikutaPelaajaa, null, pelaaja, Vector.Zero); 
     97 
     98        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, null, pelaaja, new Vector(500, 0)); 
     99        Keyboard.Listen(Key.D, ButtonState.Released, LiikutaPelaajaa, null, pelaaja, Vector.Zero); 
     100 
     101        Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, null, pelaaja, new Vector(0, 500)); 
     102        Keyboard.Listen(Key.W, ButtonState.Released, LiikutaPelaajaa, null, pelaaja, Vector.Zero); 
     103 
     104        Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, null, pelaaja, new Vector(0, -500)); 
     105        Keyboard.Listen(Key.S, ButtonState.Released, LiikutaPelaajaa, null, pelaaja, Vector.Zero); 
    104106 
    105107 
    106108        Keyboard.Listen(Key.O, ButtonState.Pressed, Pause, "Pysäyttää pelin"); 
    107         Keyboard.Listen(Key.U, ButtonState.Pressed, AloitaMoninPeli, "Aloittaa moninpelin alusta"); 
     109        Keyboard.Listen(Key.U, ButtonState.Pressed, delegate { AloitaMoninPeli("Areena"); }, "Aloittaa moninpelin alusta"); 
    108110        Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", pelaaja); 
    109111        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
     
    112114    } 
    113115 
    114     void TokkaaVihua() 
    115     { 
    116         vihu.Hit(new Vector(200, 200)); 
    117     } 
    118  
    119116 
    120117    void LiikutaPelaajaa(Hahmo pelaaja, Vector vektori) 
    121118    { 
     119        if (vektori == Vector.Zero) pelaaja.Velocity = Vector.Zero; 
    122120        pelaaja.Push(vektori); 
    123121 
    124122        if (pelaaja.Ase != null) 
    125123        { 
     124            if (pelaaja.Velocity == Vector.Zero) return; 
    126125            Vector suunta = (pelaaja.Velocity.Normalize()); 
    127126            pelaaja.Ase.Angle = suunta.Angle; 
     
    135134         pelaaja.Image = pelaajanKuva; 
    136135         pelaaja.Position = paikka; 
    137          pelaaja.Restitution = 0; 
    138          pelaaja.Tag = "pelaaja"; 
     136         pelaaja.Restitution = 0.1; 
     137         pelaaja.Tag = "pelaaja";  
    139138         pelaaja.CanRotate = false; 
    140139         Add(pelaaja); 
    141140         AddCollisionHandler(pelaaja, "vihu", PelaajaTormasi); 
    142141         AddCollisionHandler<Hahmo, PhysicsObject>(pelaaja, "Ase", PelaajaSaaAseen); 
    143          AddCollisionHandler(pelaaja, "ovi", SeuraavaKentta); 
     142         AddCollisionHandler(pelaaja, "ovi", TormaaOveen); 
    144143         pelaaja.MaximiElama = 5; 
    145144         pelaaja.Elama = 5; 
     
    156155        pelaaja2.Image = pelaajan2Kuva; 
    157156        pelaaja2.Position = paikka; 
    158         pelaaja2.Restitution = 0; 
     157        pelaaja2.Restitution = 0.1; 
    159158        pelaaja2.Tag = "pelaaja2"; 
    160159        pelaaja2.CanRotate = false; 
     
    183182    } 
    184183 
    185     void LuoVihu(Vector paikka, double leveys, double korkeus) 
    186     { 
    187         vihu = new PhysicsObject(50, 100); 
    188         vihu.Position = paikka; 
    189         vihu.Image = vihollisenKuva; 
    190         vihu.Tag = "vihu"; 
    191         Add(vihu); 
     184    void LuoYksinpeliVihu(Vector paikka, double leveys, double korkeus) 
     185    { 
     186        yksinpeliVihu = new PhysicsObject(50, 100); 
     187        yksinpeliVihu.Position = paikka; 
     188        yksinpeliVihu.Image = vihollisenKuva; 
     189        yksinpeliVihu.Tag = "vihu"; 
     190        Add(yksinpeliVihu); 
    192191 
    193192        FollowerBrain seuraajanAivot = new FollowerBrain("pelaaja"); 
     
    196195        seuraajanAivot.StopWhenTargetClose = false; 
    197196 
    198         vihu.Brain = seuraajanAivot; 
    199         vihu.Brain.Active = true; 
    200  
    201         vihu.IgnoresPhysicsLogics = true; 
     197        yksinpeliVihu.Brain = seuraajanAivot; 
     198        yksinpeliVihu.Brain.Active = true; 
     199 
     200        yksinpeliVihu.IgnoresPhysicsLogics = true; 
    202201 
    203202 
     
    253252                pelaaja.Ase.Ammo.Value = panoksetmoninpelissa; 
    254253            } 
    255             else  
    256             {  
    257                 pelaaja.Ase.Ammo.Value = panoksetyksinpelissa;  
     254            else if (coop) 
     255            { 
     256                pelaaja.Ase.Ammo.Value = panoksetmoninpelissa; 
     257            } 
     258            else 
     259            { 
     260                pelaaja.Ase.Ammo.Value = panoksetyksinpelissa; 
    258261            } 
    259262            pelaaja.Ase.ProjectileCollision = AmmusOsui; 
     
    289292        } 
    290293 
    291         if (kohde.Tag.Equals("pelaaja")||kohde.Tag.Equals("pelaaja2")) 
     294        if (kohde.Tag.Equals("pelaaja")||kohde.Tag.Equals("pelaaja2")||kohde.Tag.Equals("coopVihu")) 
    292295        { 
    293296            ((Hahmo)kohde).Elama -= 1; 
    294         } 
    295     } 
    296  
    297     void SeuraavaKentta(PhysicsObject pelaaja, PhysicsObject kohde) 
     297            if (((Hahmo)kohde).Elama <= 0) 
     298            { 
     299                kohde.Destroy(); 
     300 
     301                if (moninpeli) 
     302                { 
     303                    PeliLoppui(); 
     304                } 
     305                 
     306                else if(coop) 
     307                { 
     308                    if (pelaaja.IsDestroyed && pelaaja2.IsDestroyed) PeliLoppui(); 
     309                    else if(kohde.Tag.Equals("coopVihu")) PeliLoppuiVoittoon(); 
     310                } 
     311 
     312            } 
     313        } 
     314    } 
     315 
     316    void TormaaOveen(PhysicsObject pelaaja, PhysicsObject kohde) 
    298317    { 
    299318        if (kohde.Tag.Equals("ovi")) 
     
    317336    } 
    318337 
    319     void AloitaMoninPeli() 
     338 
     339    void PeliLoppuiVoittoon() 
     340    { 
     341        MessageDisplay.Add("Players Win!"); 
     342    } 
     343 
     344    void AloitaMoninPeli(String kentanNimi) 
    320345    { 
    321346        ClearAll(); 
     
    323348        SmoothTextures = false; 
    324349         
    325         LuoKentta("Areena"); 
     350        LuoKentta(kentanNimi); 
    326351 
    327352        LisaaOhjaimet(); 
     
    337362    void LisaaOhjaimetPelaajalle2() 
    338363    { 
    339         Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(-1000, 0)); 
    340         Keyboard.Listen(Key.Left, ButtonState.Up, LiikutaPelaajaa, null, pelaaja2, Vector.Zero); 
    341         Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(1000, 0)); 
    342         Keyboard.Listen(Key.Right, ButtonState.Up, LiikutaPelaajaa, null, pelaaja2, Vector.Zero); 
    343  
    344         Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(0, 1000)); 
    345         Keyboard.Listen(Key.Up, ButtonState.Up, LiikutaPelaajaa, null, pelaaja2, Vector.Zero); 
    346         Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(0, -1000)); 
    347         Keyboard.Listen(Key.Down, ButtonState.Up, LiikutaPelaajaa, null, pelaaja2, Vector.Zero); 
     364        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(-500, 0)); 
     365        Keyboard.Listen(Key.Left, ButtonState.Released, LiikutaPelaajaa, null, pelaaja2, Vector.Zero); 
     366        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(500, 0)); 
     367        Keyboard.Listen(Key.Right, ButtonState.Released, LiikutaPelaajaa, null, pelaaja2, Vector.Zero); 
     368 
     369        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(0, 500)); 
     370        Keyboard.Listen(Key.Up, ButtonState.Released, LiikutaPelaajaa, null, pelaaja2, Vector.Zero); 
     371        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, null, pelaaja2, new Vector(0, -500)); 
     372        Keyboard.Listen(Key.Down, ButtonState.Released, LiikutaPelaajaa, null, pelaaja2, Vector.Zero); 
    348373        Keyboard.Listen(Key.RightControl , ButtonState.Down, AmmuAseella, "Ammu", pelaaja2); 
    349  
    350     } 
    351  
    352   
     374        Keyboard.Listen(Key.N, ButtonState.Pressed, SeuraavaKentta, "vaihtaakenttaa"); 
     375 
     376    } 
     377 
     378    void SeuraavaKentta() 
     379    { 
     380        AloitaMoninPeli("Areena2"); 
     381         
     382    } 
    353383 
    354384    void LuoPistelaskuri(Hahmo pelaaja,double x, double y) 
     
    366396       
    367397    } 
     398 
     399    void COOP() 
     400    { 
     401        coop = true; 
     402        LuoKentta("COOPmap"); 
     403        LisaaOhjaimet(); 
     404        LisaaOhjaimetPelaajalle2(); 
     405 
     406        Camera.Follow(pelaaja, pelaaja2, coopVihu); 
     407         
     408        
     409    } 
     410 
     411    void LuoCOOPVihu(Vector paikka, double leveys, double korkeus) 
     412    { 
     413        coopVihu = new Hahmo(60, 60); 
     414        coopVihu.Image = vihun2Kuva; 
     415        coopVihu.MaximiElama = 100; 
     416        coopVihu.Elama = 100; 
     417        coopVihu.Tag = "coopVihu"; 
     418        coopVihu.CanRotate = false; 
     419        Add(coopVihu); 
     420 
     421        FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja, pelaaja2); 
     422        seuraajanAivot.Speed = 300; 
     423        seuraajanAivot.DistanceClose = 200;  
     424        seuraajanAivot.StopWhenTargetClose = true; 
     425        coopVihu.Brain = seuraajanAivot; 
     426 
     427        coopVihu.Ase = new Cannon(20, 10); 
     428        coopVihu.Ase.Ammo.Value = int.MaxValue; 
     429        coopVihu.Ase.ProjectileCollision = AmmusOsui; 
     430        coopVihu.Add(coopVihu.Ase); 
     431 
     432         
     433        Timer ampumisAjastin = new Timer(); 
     434        ampumisAjastin.Interval = 0.5; 
     435        ampumisAjastin.Timeout += CoopVihuAmmu; 
     436        ampumisAjastin.Start(); 
     437    } 
     438 
     439 
     440    void CoopVihuAmmu() 
     441    { 
     442        if (coopVihu.IsDestroyed) return; 
     443        if (coopVihu.Ase != null) 
     444        { 
     445            if (coopVihu.Velocity == Vector.Zero) return; 
     446            Vector suunta = (coopVihu.Velocity.Normalize()); 
     447            coopVihu.Ase.Angle = suunta.Angle; 
     448        } 
     449 
     450        PhysicsObject ammus = coopVihu.Ase.Shoot(); 
     451 
     452        if (ammus != null) 
     453        { 
     454            ammus.Size *= 0.9; 
     455            //ammus.Image = ... 
     456            //ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 
     457        } 
     458    } 
    368459  
    369460} 
  • 2014/26/JimiR/RunAway/RunAway/RunAway/RunAway/RunAway.csproj.Debug.cachefile

    r5113 r5126  
    1010Content\Map3.xnb 
    1111Content\Areena.xnb 
     12Content\areena2.xnb 
     13Content\COOPmap.xnb 
     14Content\Boss.xnb 
     15Content\map4.xnb 
    1216Content\download.jpg 
    1317Content\lattia.jpg 
  • 2014/26/JimiR/RunAway/RunAway/RunAway/RunAway/obj/x86/Debug/ContentPipeline-{EC75DD54-C661-46C6-A447-6B6188808C6C}.xml

    r5116 r5126  
    101101      <Time>2014-06-26T10:39:36.2831454+03:00</Time> 
    102102    </Item> 
     103    <Item> 
     104      <Source>areena2.txt</Source> 
     105      <Name>areena2</Name> 
     106      <Importer>TextFileImporter</Importer> 
     107      <Processor>TextFileContentProcessor</Processor> 
     108      <Options>None</Options> 
     109      <Output>C:\MyTemp\JimiR\RunAway\RunAway\RunAway\RunAway\bin\x86\Debug\Content\areena2.xnb</Output> 
     110      <Time>2014-06-26T12:34:43.0640612+03:00</Time> 
     111    </Item> 
     112    <Item> 
     113      <Source>COOPmap.txt</Source> 
     114      <Name>COOPmap</Name> 
     115      <Importer>TextFileImporter</Importer> 
     116      <Processor>TextFileContentProcessor</Processor> 
     117      <Options>None</Options> 
     118      <Output>C:\MyTemp\JimiR\RunAway\RunAway\RunAway\RunAway\bin\x86\Debug\Content\COOPmap.xnb</Output> 
     119      <Time>2014-06-26T13:01:07.6835073+03:00</Time> 
     120    </Item> 
     121    <Item> 
     122      <Source>Boss.png</Source> 
     123      <Name>Boss</Name> 
     124      <Importer>TextureImporter</Importer> 
     125      <Processor>TextureProcessor</Processor> 
     126      <Options>None</Options> 
     127      <Output>C:\MyTemp\JimiR\RunAway\RunAway\RunAway\RunAway\bin\x86\Debug\Content\Boss.xnb</Output> 
     128      <Time>2014-06-26T13:11:58.2345559+03:00</Time> 
     129    </Item> 
     130    <Item> 
     131      <Source>map4.txt</Source> 
     132      <Name>map4</Name> 
     133      <Importer>TextFileImporter</Importer> 
     134      <Processor>TextFileContentProcessor</Processor> 
     135      <Options>None</Options> 
     136      <Output>C:\MyTemp\JimiR\RunAway\RunAway\RunAway\RunAway\bin\x86\Debug\Content\map4.xnb</Output> 
     137      <Time>2014-06-26T14:52:59.335223+03:00</Time> 
     138    </Item> 
    103139    <BuildSuccessful>true</BuildSuccessful> 
    104140    <Settings> 
  • 2014/26/JimiR/RunAway/RunAway/RunAway/RunAway/obj/x86/Debug/RunAway.csproj.FileListAbsolute.txt

    r5113 r5126  
    2020C:\MyTemp\JimiR\RunAway\RunAway\RunAway\RunAway\bin\x86\Debug\Content\Map3.xnb 
    2121C:\MyTemp\JimiR\RunAway\RunAway\RunAway\RunAway\bin\x86\Debug\Content\Areena.xnb 
     22C:\MyTemp\JimiR\RunAway\RunAway\RunAway\RunAway\bin\x86\Debug\Content\areena2.xnb 
     23C:\MyTemp\JimiR\RunAway\RunAway\RunAway\RunAway\bin\x86\Debug\Content\COOPmap.xnb 
     24C:\MyTemp\JimiR\RunAway\RunAway\RunAway\RunAway\bin\x86\Debug\Content\Boss.xnb 
     25C:\MyTemp\JimiR\RunAway\RunAway\RunAway\RunAway\bin\x86\Debug\Content\map4.xnb 
  • 2014/26/JimiR/RunAway/RunAway/RunAway/RunAway/obj/x86/Debug/cachefile-{EC75DD54-C661-46C6-A447-6B6188808C6C}-targetpath.txt

    r5113 r5126  
    1010Content\Map3.xnb 
    1111Content\Areena.xnb 
     12Content\areena2.xnb 
     13Content\COOPmap.xnb 
     14Content\Boss.xnb 
     15Content\map4.xnb 
    1216Content\download.jpg 
    1317Content\lattia.jpg 
  • 2014/26/JimiR/RunAway/RunAway/RunAway/RunAwayContent/RunAwayContent.contentproj

    r5113 r5126  
    124124    </Compile> 
    125125  </ItemGroup> 
     126  <ItemGroup> 
     127    <Compile Include="areena2.txt"> 
     128      <Name>areena2</Name> 
     129      <Importer>TextFileImporter</Importer> 
     130      <Processor>TextFileContentProcessor</Processor> 
     131    </Compile> 
     132  </ItemGroup> 
     133  <ItemGroup> 
     134    <Compile Include="COOPmap.txt"> 
     135      <Name>COOPmap</Name> 
     136      <Importer>TextFileImporter</Importer> 
     137      <Processor>TextFileContentProcessor</Processor> 
     138    </Compile> 
     139  </ItemGroup> 
     140  <ItemGroup> 
     141    <Compile Include="Boss.png"> 
     142      <Name>Boss</Name> 
     143      <Importer>TextureImporter</Importer> 
     144      <Processor>TextureProcessor</Processor> 
     145    </Compile> 
     146  </ItemGroup> 
     147  <ItemGroup> 
     148    <Compile Include="map4.txt"> 
     149      <Name>map4</Name> 
     150      <Importer>TextFileImporter</Importer> 
     151      <Processor>TextFileContentProcessor</Processor> 
     152    </Compile> 
     153  </ItemGroup> 
    126154  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    127155  <!--  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.