Changeset 4076 for 2013/24


Ignore:
Timestamp:
2013-06-11 15:01:06 (6 years ago)
Author:
akosrahi
Message:

Talletus.

Location:
2013/24/AkiR
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • 2013/24/AkiR/Lost in .... Somewhere/Lost in .... Somewhere/Lost in .... Somewhere/Lost in .... Somewhere/Lost in .... Somewhere/Lost_in._._._.Somewhere.cs

    r4052 r4076  
    5151    DoubleMeter elamaLaskuri1; 
    5252    DoubleMeter elamaLaskuri2; 
     53    DoubleMeter HakkuLaskuri; 
    5354    PhysicsObject Pelaaja1; 
    5455    PhysicsObject Pelaaja2; 
     
    6162    Image KursorinKuva = LoadImage("Kursori"); 
    6263    Image MaahakeKuva = LoadImage("maa"); 
     64    Image VihuKuva = LoadImage("Vihu"); 
    6365    
     66 
    6467 
    6568    bool Voiko1Tuhota; 
     
    8184        LisaaNappaimet(); 
    8285        LuoElamaLaskuri1(); 
    83          
    84     } 
    85  
    86          
    87      
    88     #region Este & Handleri 
     86 
     87    } 
     88 
     89 
     90 
     91    #region Este & Handlerit Esteelle 
    8992    void LisaaEste(Vector paikka, double leveys, double korkeus) 
    9093    { 
     
    99102        este.LinearDamping = 0.01; 
    100103        este.AngularDamping = 0.01; 
    101         Add(este, -2); 
     104        Add(este, 0); 
    102105 
    103106        este.CollisionIgnoreGroup = 2; 
    104  
    105         // Mouse.ListenOn(este, MouseButton.Left, ButtonState.Pressed, delegate { Klikkaus(este); }, null); 
    106107 
    107108        if (Pelaaja1 != null) AddCollisionHandler(este, Pelaaja1, OsuiSeinaan); 
     
    122123        { 
    123124            Voiko2Tuhota = true; 
    124         }    
     125        } 
    125126    } 
    126127 
     
    136137        if ((pelaaja == Pelaaja1 && Voiko1Tuhota == true) || (pelaaja == Pelaaja2 && Voiko2Tuhota == true)) 
    137138        { 
    138             MessageDisplay.Add("Osuin!"); 
    139           
     139             
     140 
    140141 
    141142            if (kohde is Este) 
    142143            { 
     144                HakkuLaskuri.Value -= 2; 
    143145                Este este = (Este)kohde; 
    144146                este.osumat++; 
     147                 
    145148 
    146149                if (este.osumat == 10) 
     
    153156                    pelaaja.Velocity *= -2; 
    154157 
    155                    
     158 
    156159 
    157160                } 
     
    164167 
    165168 
    166     #region Pelaajat 
     169    #region Pelaajat&Hämäryys 
    167170    void LisaaPelaaja1(Vector paikka, double leveys, double korkeus) 
    168171    { 
    169172        Pelaaja1 = new PhysicsObject(40, 40); 
    170173        Pelaaja1.LinearDamping = 0.9; 
     174        Pelaaja1.Mass = 1000; 
    171175        Pelaaja1.AngularDamping = 0.0001; 
    172176        Pelaaja1.Image = PelaajanKuvaYlos; 
    173177        Pelaaja1.Position = paikka; 
    174         
     178        Pelaaja1.Tag = "Pelaaja1"; 
     179 
    175180        Add(Pelaaja1, 1); 
    176  
    177          
    178181 
    179182        Pelaaja1.IgnoresGravity = true; 
    180183        LisaaLahto(Pelaaja1); 
    181184        Pelaaja1.CollisionIgnoreGroup = 1; 
    182         
    183          
    184     } 
    185  
    186     void valo() 
    187     { 
    188         Savu valo = new Savu(Screen.Width, Screen.Height, Pelaaja1); 
    189         valo.Tag = "valo"; 
    190         valo.Image = Tausta; 
    191         Add(valo, 1); 
    192  
    193          
    194          
    195  
     185        LuoHakkuLaskuri(); 
    196186    } 
    197187 
     
    203193        Pelaaja2.Image = Pelaajan2KuvaYlos; 
    204194        Pelaaja2.Position = paikka2; 
     195        Pelaaja2.Tag = "Pelaaja2"; 
    205196        Add(Pelaaja2, 2); 
    206          
    207197 
    208198        Pelaaja2.IgnoresGravity = true; 
    209199        LisaaLahto(Pelaaja2); 
    210200        Pelaaja2.CollisionIgnoreGroup = 1; 
    211         Ajastin(); 
    212     } 
     201        KameraAjastin(); 
     202    } 
     203 
     204    void valo() 
     205    { 
     206        Savu valo = new Savu(Screen.Width, Screen.Height, Pelaaja1); 
     207        valo.Tag = "valo"; 
     208        valo.Image = Tausta; 
     209        Add(valo, 1); 
     210     } 
    213211    #endregion 
    214212 
    215  
    216     #region Gameobjectit 
     213    #region Gameobjectit& Botit 
    217214    void LisaaLahto(PhysicsObject kohde) 
    218215    { 
     
    248245        Npc1.Brain = satunnaisAivot; 
    249246        Npc1.Brain.Active = true; 
    250     } 
    251  
    252     void LisaaVihu(Vector paikka, double leveys, double korkeus) 
     247 
     248        
     249    } 
     250 
     251    void LisaaVihu(List<Vector> reitti, double leveys, double korkeus) 
    253252    { 
    254253        Npc Vihu = new Npc(50, 50, "testi2"); 
    255         Vihu.Shape = Shape.Diamond; 
    256         Vihu.Color = Color.HotPink; 
    257         Vihu.Position = paikka; 
    258         Add(Vihu, 0); 
     254        Vihu.Image = VihuKuva; 
     255         
     256        Vihu.Position = reitti[0]; 
     257        Vihu.Restitution = 1.0; 
     258        Vihu.AngularDamping = 0.1; 
     259        Vihu.Tag = "Vihu"; 
     260        Add(Vihu, -1); 
     261 
    259262        LisaaLahto(Vihu); 
    260263 
    261         RandomMoverBrain satunnaisAivot = new RandomMoverBrain(100); 
    262         satunnaisAivot.ChangeMovementSeconds = 3; 
    263         satunnaisAivot.TurnWhileMoving = true; 
    264         satunnaisAivot.WanderRadius = 300; 
    265         Vihu.Brain = satunnaisAivot; 
    266         Vihu.Brain.Active = true; 
    267  
    268         FollowerBrain Aivot = new FollowerBrain(Pelaaja1); 
    269         Aivot.Speed = 300; 
    270         Aivot.DistanceFar = 600; 
     264         
     265 
     266 
     267        PathFollowerBrain reittiAivot = new PathFollowerBrain(reitti); 
     268        reittiAivot.Path = reitti; 
     269        reittiAivot.Loop = true; 
     270        reittiAivot.Speed = 200; 
     271        reittiAivot.TurnWhileMoving = true; 
     272        reittiAivot.Updated += delegate { Vihu.IgnoresCollisionResponse = true; }; 
     273 
     274        FollowerBrain Aivot = new FollowerBrain(Pelaaja1, Pelaaja2); 
     275        Aivot.Speed = 200; 
     276        Aivot.DistanceFar = 150; 
    271277        Aivot.TurnWhileMoving = true; 
    272         Aivot.FarBrain = satunnaisAivot; 
     278        Aivot.FarBrain = reittiAivot; 
     279        Aivot.TargetClose += delegate { Vihu.IgnoresCollisionResponse = false; }; 
    273280        Vihu.Brain = Aivot; 
    274         Vihu.Brain.Active = true; 
    275  
     281        AddCollisionHandler(Vihu, TormaysPelaajaan); 
    276282         
    277283    } 
    278284 
    279  
     285    void LisaaHakku() 
     286    { 
     287        PhysicsObject Hakku = new PhysicsObject(50,50); 
     288        Hakku.Shape = Shape.Octagon; 
     289        Hakku.Color = Color.Blue; 
     290        Add(Hakku); 
     291 
     292        AddCollisionHandler(Hakku, SaiHakun); 
     293     } 
    280294 
    281295    #endregion 
    282  
    283296 
    284297    #region Npc-aliohjelmat 
     
    305318    } 
    306319 
    307  
     320    void TormaysPelaajaan(PhysicsObject Vihu, PhysicsObject p) 
     321{ 
     322    if (p.Tag.ToString() == "Pelaaja1") 
     323    { 
     324        elamaLaskuri1.Value -= 1; 
     325        Vihu.Hit(new Vector(2000, 0.1)); 
     326    } 
     327    if (p.Tag.ToString() == "Pelaaja2") 
     328    { 
     329        elamaLaskuri2.Value -= 1; 
     330        Vihu.Hit(new Vector(2000, 0.1)); 
     331     } 
     332    } 
    308333 
    309334    void NpcPuhuu(string puhe) 
     
    325350    #endregion 
    326351 
     352    #region controllit 
    327353    void LisaaNappaimet() 
    328354    { 
     
    342368        Keyboard.Listen(Key.D, ButtonState.Released, LiikuOikealle, null, Pelaaja1, 0.0); 
    343369        Keyboard.Listen(Key.Q, ButtonState.Pressed, PeliPauselle, "pauselle"); 
    344         
     370 
    345371        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Palaa valikkoon"); 
    346372        Mouse.Listen(MouseButton.Left, ButtonState.Down, PystyyTuhota, "Whack", "Pelaaja1"); 
     
    356382        ControllerOne.Listen(Button.X, ButtonState.Released, Eivoituhota, null, "Pelaaja2"); 
    357383        ControllerOne.Listen(Button.Start, ButtonState.Pressed, PeliPauselle, "pauselle"); 
    358          
    359  
    360  
    361         Timer kursorinLiikutusAjastin = new Timer(); 
     384 
     385         Timer kursorinLiikutusAjastin = new Timer(); 
    362386        kursorinLiikutusAjastin.Interval = 0.01; 
    363387        kursorinLiikutusAjastin.Timeout += delegate 
     
    381405            Add(Pausella); 
    382406            Timer.SingleShot(0.1, Pausella.Destroy); 
    383         }         
    384     } 
    385   
     407        } 
     408    } 
     409 
     410#endregion 
     411 
    386412    #region Liikkuminen 
    387      
     413 
    388414 
    389415    void KaannaPelaajaa(AnalogState tatinTila) 
     
    392418        { 
    393419            Pelaaja2.Angle = tatinTila.StateVector.Angle; 
    394  
    395              
    396  
    397              
    398         } 
    399  
    400     } 
     420        } 
     421     } 
    401422 
    402423    void Kaanna(PhysicsObject p, Angle suunta) 
     
    414435        Vector suunta = (Mouse.PositionOnWorld - p.AbsolutePosition).Normalize(); 
    415436        p.Angle = suunta.Angle; 
    416         p.Move(nopeus *2* suunta.LeftNormal); 
     437        p.Move(nopeus * 2 * suunta.LeftNormal); 
    417438    } 
    418439 
     
    421442        Vector suunta = (Mouse.PositionOnWorld - p.AbsolutePosition).Normalize(); 
    422443        p.Angle = suunta.Angle; 
    423         p.Move(nopeus *2* suunta.RightNormal); 
    424     } 
    425  
    426          
     444        p.Move(nopeus * 2 * suunta.RightNormal); 
     445    } 
     446 
     447 
    427448    void Kaantyy(AnalogState hiirenliike) 
    428449    { 
    429          
    430             Vector suunta = (Mouse.PositionOnWorld - Pelaaja1.AbsolutePosition).Normalize(); 
    431             Pelaaja1.Angle = suunta.Angle; 
    432                    
    433     } 
    434   
     450 
     451        Vector suunta = (Mouse.PositionOnWorld - Pelaaja1.AbsolutePosition).Normalize(); 
     452        Pelaaja1.Angle = suunta.Angle; 
     453 
     454    } 
     455 
    435456    #endregion 
    436457 
     
    438459    void Valikko() 
    439460    { 
    440          
     461 
    441462        ClearAll(); 
    442463        Camera.ZoomFactor = 1; 
    443          
    444         MultiSelectWindow alkuValikko = new MultiSelectWindow("Menu", "1 pelaaja","2 pelaajaa", "Lopeta"); 
     464 
     465        MultiSelectWindow alkuValikko = new MultiSelectWindow("Menu", "1 pelaaja", "2 pelaajaa", "Lopeta"); 
    445466        alkuValikko.AddItemHandler(0, delegate 
    446467        { 
     
    448469            AloitaPeli(); 
    449470        }); 
    450         alkuValikko.AddItemHandler(1, delegate  
     471        alkuValikko.AddItemHandler(1, delegate 
    451472        { 
    452473            pelaajia = 2; 
     
    458479        Level.BackgroundColor = Color.Black; 
    459480 
    460          
    461     } 
    462     #region elamalaskurit 
     481 
     482    } 
     483 
     484    #region laskurit 
    463485    void LuoElamaLaskuri1() 
    464486    { 
    465         elamaLaskuri1 = new DoubleMeter(100); 
    466         elamaLaskuri1.MaxValue = 100; 
     487        elamaLaskuri1 = new DoubleMeter(100, 0, 100); 
    467488        elamaLaskuri1.LowerLimit += ElamaLoppui; 
    468489 
    469         ProgressBar elamaPalkki1 = new ProgressBar(10, 200); 
     490        ProgressBar elamaPalkki1 = new ProgressBar(200, 10); 
    470491        elamaPalkki1.X = Screen.Left + 150; 
    471492        elamaPalkki1.Y = Screen.Top - 20; 
    472         elamaPalkki1.BindTo(elamaLaskuri1); 
    473493        elamaPalkki1.BarColor = Color.Red; 
    474494        elamaPalkki1.BorderColor = Color.YellowGreen; 
    475         elamaPalkki1.Angle = Angle.FromDegrees(90); 
     495        elamaPalkki1.BindTo(elamaLaskuri1); 
    476496        Add(elamaPalkki1); 
    477          
     497 
    478498    } 
    479499 
     
    481501    void LuoElamaLaskuri2() 
    482502    { 
    483         elamaLaskuri2 = new DoubleMeter(100); 
    484         elamaLaskuri2.MaxValue = 100; 
    485         elamaLaskuri2.LowerLimit += ElamaLoppui; 
    486  
    487         ProgressBar elamaPalkki2 = new ProgressBar(10, 200); 
     503        elamaLaskuri2 = new DoubleMeter(100, 0, 100); 
     504        elamaLaskuri2.LowerLimit += ElamaLoppui2; 
     505 
     506        ProgressBar elamaPalkki2 = new ProgressBar(200, 10); 
    488507        elamaPalkki2.X = Screen.Right - 150; 
    489508        elamaPalkki2.Y = Screen.Top - 20; 
    490         elamaPalkki2.BindTo(elamaLaskuri2); 
    491509        elamaPalkki2.BarColor = Color.Red; 
    492510        elamaPalkki2.BorderColor = Color.YellowGreen; 
    493         elamaPalkki2.Angle = Angle.FromDegrees(90); 
     511        elamaPalkki2.BindTo(elamaLaskuri2); 
    494512        Add(elamaPalkki2); 
    495513    } 
     
    497515    void ElamaLoppui() 
    498516    { 
    499         MessageDisplay.Add("Elämät loppuivat, voi voi."); 
    500     } 
     517        MessageDisplay.Add("Elämät loppuivat Pelaaja1, voi voi."); 
     518        Pelaaja1.Destroy(); 
     519         
     520    } 
     521 
     522    void ElamaLoppui2() 
     523    { 
     524        MessageDisplay.Add("Elämät loppuivat Pelaaja2, voi voi."); 
     525        Pelaaja2.Destroy(); 
     526 
     527    } 
     528 
     529    void LuoHakkuLaskuri() 
     530    { 
     531        HakkuLaskuri = new DoubleMeter(100, 0, 100); 
     532        HakkuLaskuri.LowerLimit += HakutLoppui; 
     533 
     534        Label pisteNaytto = new Label(); 
     535        pisteNaytto.X = Screen.Left + 100; 
     536        pisteNaytto.Y = Screen.Top - 100; 
     537        pisteNaytto.TextColor = Color.White; 
     538        pisteNaytto.Color = Color.Transparent; 
     539 
     540        pisteNaytto.BindTo(HakkuLaskuri); 
     541        Add(pisteNaytto); 
     542    } 
     543 
     544    void HakutLoppui() 
     545    { 
     546        MessageDisplay.Add("Hakut loppuivat :("); 
     547     
     548    } 
     549 
     550    void SaiHakun(PhysicsObject Hakku, PhysicsObject p) 
     551    { 
     552        if (p.Tag.ToString() == "Pelaaja1") 
     553        {  
     554             
     555        } 
     556 
     557    } 
     558 
    501559    # endregion 
    502560 
     
    511569        ruudut.SetTileMethod('H', LisaaEste); 
    512570        ruudut.SetTileMethod('N', LisääNpc1); 
    513         ruudut.SetTileMethod('V', LisaaVihu); 
    514571        ruudut.SetTileMethod('O', LisaaPelaaja2); 
     572        ruudut.SetRouteMethod(LisaaVihu, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'); 
    515573        ruudut.Execute(100, 100); 
    516574        Level.BackgroundColor = Color.Black; 
    517575    } 
    518576 
    519     void Ajastin() 
    520         { 
    521             
     577    void KameraAjastin() 
     578    { 
     579 
    522580        Timer ajastin2 = new Timer(); 
    523581        ajastin2.Start(); 
    524582        ajastin2.Interval = 0.01; 
    525583        ajastin2.Timeout += delegate 
    526  
    527         { 
    528             Camera.ZoomTo(Pelaaja1.Position, Pelaaja2.Position); 
    529             Camera.ZoomFactor = Math.Abs(Camera.ZoomFactor * 0.9); 
    530  
    531             if (Camera.ZoomFactor > 2) 
     584        { 
     585            Camera.Position = Pelaaja1.Position; 
     586            
     587            if (Camera.ZoomFactor > 1.2) 
    532588            { 
    533                 Camera.ZoomFactor = 2.0; 
     589                Camera.ZoomFactor = 3; 
    534590            } 
     591 
     592            Vector pelaajanpaikkaruudulla =  Camera.WorldToScreen( Pelaaja2.Position); 
     593            if (pelaajanpaikkaruudulla.X < Screen.Left) elamaLaskuri2.Value -= 0.1; 
    535594        }; 
    536595 
     
    542601            Pelaaja2.Destroy(); 
    543602            valo(); 
    544             LuoElamaLaskuri1(); 
     603             
     604 
     605 
     606        } 
     607        else if (pelaajia == 2) 
     608        { 
     609            LuoElamaLaskuri2(); 
     610            Camera.Follow(Pelaaja1); 
     611            valo(); 
     612 
    545613             
    546614             
    547615        } 
    548         else if (pelaajia == 2) 
    549         { 
    550             LuoElamaLaskuri2(); 
    551         } 
    552616    } 
    553617} 
  • 2013/24/AkiR/Lost in .... Somewhere/Lost in .... Somewhere/Lost in .... Somewhere/Lost in .... Somewhere/Lost in .... SomewhereContent/Lost in .... SomewhereContent.contentproj

    r4052 r4076  
    101101    </Compile> 
    102102  </ItemGroup> 
     103  <ItemGroup> 
     104    <Compile Include="Vihu.png"> 
     105      <Name>Vihu</Name> 
     106      <Importer>TextureImporter</Importer> 
     107      <Processor>TextureProcessor</Processor> 
     108    </Compile> 
     109  </ItemGroup> 
    103110  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    104111  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2013/24/AkiR/Lost in .... Somewhere/Lost in .... Somewhere/Lost in .... Somewhere/Lost in .... Somewhere/Lost in .... SomewhereContent/kentta1.txt

    r4052 r4076  
    66HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
    77HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
    8 HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
    9 HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#####HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
    10 HHHHHHHHHHHHHHHHHHHHHHHHHHH##V##HHH##N##HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
    11 HHHHHHHHHHHHHHHHHHHHHHHHP###HHHHHH#####HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
    12 HHHHHHHHHHHHHHHHHHHHHHHHHHHO#####H#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
    13 HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH###HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
     8HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH###NHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
     9HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHj###iHH####HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
     10HHHHHHHHHHHHHHHHHHHHHHHHHHHb###aHHH#HH####HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
     11HHHHHHHHHHHHHHHHHHHHHHHHPO##HHHHHHgh###HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
     12HHHHHHHHHHHHHHHHHHHHHHHHHHHc####dH#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
     13HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHe#fHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
    1414HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
    1515HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
     
    1818HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
    1919HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
    20 HHhHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
    2120HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
     21HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
Note: See TracChangeset for help on using the changeset viewer.