Changeset 3327 for 2012/26


Ignore:
Timestamp:
2012-06-28 15:02:10 (7 years ago)
Author:
faamojal
Message:

Talletus.

Location:
2012/26/FanniO/Sailtilyousink/Sailtilyousink
Files:
4 added
2 edited

Legend:

Unmodified
Added
Removed
  • 2012/26/FanniO/Sailtilyousink/Sailtilyousink/Sailtilyousink/Sailtilyousink.cs

    r3285 r3327  
    1515    Image verkonKuva = LoadImage("verkko"); 
    1616    Image arkunKuva = LoadImage("arkku"); 
     17    Image matalankuva = LoadImage("matala"); 
     18    Image Mveneenkuva = LoadImage("Mvene"); 
     19    Image kalankuva = LoadImage("kala"); 
     20    Image vasarankuva = LoadImage("vasara"); 
    1721 
    1822    Vector nopeusoikea = new Vector(400, 0); 
     
    2327     
    2428 
    25     PhysicsObject vene; 
     29    PhysicsObject vene1; 
     30    PhysicsObject vene2; 
    2631    DoubleMeter elamamittari; 
     32    DoubleMeter elamamittari2; 
    2733    PhysicsObject rengas; 
    2834    PhysicsObject kivi; 
    2935    PhysicsObject verkko; 
    3036    PhysicsObject arkku; 
     37    PhysicsObject matala; 
     38    PhysicsObject Mvene; 
     39    PhysicsObject kala; 
     40    PhysicsObject vasara; 
    3141    IntMeter pisteet; 
    3242    IntMeter merimailit; 
     43    IntMeter loppupoint; 
     44    IntMeter pisteet2; 
     45    IntMeter merimailit2; 
     46     
     47 
     48    ScoreList toplista = new ScoreList(5,false,0); 
    3349 
    3450     
     
    3854    public override void Begin() 
    3955    { 
    40  
     56        if (DataStorage.Exists("point.xml")) 
     57            toplista=DataStorage.Load<ScoreList>(toplista, "point.xml"); 
    4158        IsMouseVisible = true; 
    42         MultiSelectWindow alkuvalikko = new MultiSelectWindow("Sail 'Til You Sink", "Aloita peli", "Parhaat pisteet", "Lopeta"); 
     59        MultiSelectWindow alkuvalikko = new MultiSelectWindow("Sail 'Til You Sink", "Aloita peli","Kaksinpeli", "Lopeta"); 
    4360        Add(alkuvalikko); 
    4461        alkuvalikko.ItemSelected += Painettiinvalikkonappia; 
    4562        alkuvalikko.Color = Color.LightBlue; 
    4663 
    47        
    48  
    4964        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    5065        
     
    5570        { 
    5671            case 0:  
    57         purjeVene(0,0); 
     72        vene1=purjeVene(0,0); 
    5873        lisaakivia(); 
    5974        ajastin(); 
    6075        lisaarengas(); 
     76        lisaamatala(); 
     77        lisaaMvene(); 
    6178        LuoKentta(); 
    6279        lisaaPlaskin(); 
     
    6481        asetaohjaimet(); 
    6582        lisaaEmittari(); 
    66         veneosuu(vene,kivi); 
    67         pistelisaa(vene, rengas); 
    68         mailittaynna(); 
    69         suoristavene(); 
    70                 break; 
     83         
     84         
     85                break; 
     86 
    7187            case 1: 
     88                vene1=purjeVene(0,0); 
     89                vene2=purjeVene(0,0); 
     90                lisaakivia(); 
     91                ajastin(); 
     92                lisaarengas(); 
     93                lisaamatala(); 
     94                lisaaMvene(); 
     95                LuoKentta(); 
     96                lisaaPlaskin(); 
     97                lisaaMlaskin(); 
     98                asetaohjaimet(); 
     99                lisaaEmittari(); 
     100                asetaveneen2ohjaimet(); 
     101         
     102                 
     103                 
     104                pisteet2 = new IntMeter(0); 
     105                Label pistenaytto2 = new Label(); 
     106                pistenaytto2.X = -400; 
     107                pistenaytto2.Y = -200; 
     108                pistenaytto2.TextColor = Color.Blue; 
     109                pistenaytto2.Color = Color.Aqua; 
     110                pistenaytto2.Title = "Pisteet"; 
     111                pistenaytto2.BindTo(pisteet); 
     112                Add(pistenaytto2); 
     113 
     114        merimailit2 = new IntMeter(0); 
     115        merimailit2.MaxValue = 100; 
     116        merimailit2.UpperLimit += vene2.Destroy; 
     117        Label mailinaytto2 = new Label(); 
     118        mailinaytto2.X = -400; 
     119        mailinaytto2.Y = -250; 
     120        mailinaytto2.TextColor = Color.DarkBlue; 
     121        mailinaytto2.Color = Color.Aqua; 
     122        mailinaytto2.Title = "NM"; 
     123        mailinaytto2.BindTo(merimailit2); 
     124        Add(mailinaytto2); 
     125                 elamamittari2 = new DoubleMeter(10); 
     126        elamamittari2.MaxValue = 10; 
     127        ProgressBar elamapalkki2 = new ProgressBar(150, 15); 
     128        elamapalkki2.BindTo(elamamittari2); 
     129        elamapalkki2.BarColor = Color.Green; 
     130        elamapalkki2.BorderColor = Color.Red; 
     131        elamapalkki2.Color = Color.Red; 
     132        elamapalkki2.X = Screen.Left +150; 
     133        elamapalkki2.Y = Screen.Bottom +200; 
     134        Add(elamapalkki2); 
     135        elamamittari2.LowerLimit += elamaloppui; 
     136 
     137 
     138                 
    72139                break; 
    73140            case 2: 
     
    80147    PhysicsObject purjeVene(double x,double y) 
    81148    { 
    82         vene =new PhysicsObject(veneenKuva); 
     149        PhysicsObject vene =new PhysicsObject(veneenKuva); 
    83150        vene.Width = 40; 
    84151        vene.Height = 90; 
     
    88155        AddCollisionHandler(vene, "este", veneosuu); 
    89156        AddCollisionHandler(vene, "Aarkku", pistelisaa); 
     157        AddCollisionHandler(vene,"pluselama", elamalisaa); 
    90158        return (vene); 
    91159 
     
    95163        Surface vasenreuna = Surface.CreateLeft(Level,300,100,20); 
    96164        vasenreuna.Color = Color.LightGreen; 
     165        vasenreuna.Tag = "este"; 
    97166        Add(vasenreuna); 
    98167 
    99168        Surface oikeareuna = Surface.CreateRight(Level, 300, 100, 20); 
    100169        oikeareuna.Color = Color.LightGreen; 
     170        oikeareuna.Tag = "este"; 
    101171        Add(oikeareuna); 
    102172 
    103173        Level.BackgroundColor = Color.Aqua; 
     174 
     175         
    104176 
    105177    } 
     
    132204        ajastin4.Start(); 
    133205        Timer ajastin5 = new Timer(); 
    134         ajastin5.Interval = 10; 
     206        ajastin5.Interval = 15; 
    135207        ajastin5.Timeout += lisaaarkku; 
    136208        ajastin5.Start(); 
     209        Timer ajastin6 = new Timer(); 
     210        ajastin6.Interval = 8; 
     211        ajastin6.Timeout += lisaamatala; 
     212        ajastin6.Start(); 
     213        Timer ajastin7 = new Timer(); 
     214        ajastin7.Interval = 8; 
     215        ajastin7.Timeout += lisaavasara; 
     216        ajastin7.Start(); 
     217        Timer ajastin8 = new Timer(); 
     218        ajastin8.Interval = 12; 
     219        ajastin8.Timeout += lisaakala; 
     220        ajastin8.Start(); 
     221        Timer ajastin9 = new Timer(); 
     222        ajastin9.Interval = 12; 
     223        ajastin9.Timeout += lisaaMvene; 
     224        ajastin9.Start(); 
    137225         
    138226         
     
    145233        rengas.Velocity = new Vector(0, -100); 
    146234        rengas.Tag = "hyvis"; 
     235        rengas.IgnoresCollisionResponse = true; 
    147236        Add(rengas); 
    148237 
     238    } 
     239    void lisaakala() 
     240    { 
     241        kala = PhysicsObject.CreateStaticObject(kalankuva); 
     242        kala.Y = 500; 
     243        kala.X = RandomGen.NextDouble(Level.Left, Level.Right); 
     244        kala.Velocity = new Vector(0, -100); 
     245        kala.Tag = "hyvis"; 
     246        kala.IgnoresCollisionResponse = true; 
     247        Add(kala); 
     248 
     249    } 
     250    void lisaavasara() 
     251    { 
     252        vasara = PhysicsObject.CreateStaticObject(vasarankuva); 
     253        vasara.Y = 500; 
     254        vasara.X = RandomGen.NextDouble(Level.Left, Level.Right); 
     255        vasara.Velocity = new Vector(0, -100); 
     256        vasara.Tag = "pluselama"; 
     257        vasara.IgnoresCollisionResponse = true; 
     258        Add(vasara); 
    149259    } 
    150260    void lisaaverkko() 
     
    157267        Add(verkko); 
    158268    } 
     269    void lisaamatala() 
     270    { 
     271        matala = PhysicsObject.CreateStaticObject(matalankuva); 
     272        matala.Y = 500; 
     273        matala.X = RandomGen.NextDouble(Level.Left, Level.Right); 
     274        matala.Velocity = new Vector(0, -100); 
     275        matala.Tag = "este"; 
     276        Add(matala); 
     277 
     278    } 
     279    void lisaaMvene() 
     280    { 
     281        Mvene = PhysicsObject.CreateStaticObject(Mveneenkuva); 
     282        Mvene.Y = RandomGen.NextDouble(0,Level.Top); 
     283        Mvene.X =Level.Left; 
     284        Mvene.Velocity = new Vector(200, -100); 
     285        Mvene.Tag = "este"; 
     286        Add(Mvene); 
     287 
     288    } 
    159289    void lisaaarkku() 
    160290    { 
     
    164294        arkku.Velocity = new Vector(0, -100); 
    165295        arkku.Tag = "Aarkku"; 
     296        arkku.IgnoresCollisionResponse = true; 
    166297        Add(arkku); 
    167298    } 
     
    172303          
    173304    } 
     305    void pistelisaa2(PhysicsObject vene2, PhysicsObject rengas) 
     306    { 
     307        pisteet2.Value += 10; 
     308        rengas.Destroy(); 
     309 
     310    } 
    174311    void pistelisaaA(PhysicsObject vene, PhysicsObject arkku) 
    175312    { 
    176         pisteet.Value += 30; 
     313        if(vene == vene1) pisteet.Value += 30; 
     314        if (vene == vene2) pisteet2.Value += 30; 
     315 
    177316        arkku.Destroy(); 
    178317    } 
     318    
     319    void elamalisaa(PhysicsObject vene, PhysicsObject vasara) 
     320    { 
     321        if (vene == vene1) 
     322        { 
     323            elamamittari.Value += 1; 
     324            
     325        } 
     326            if (vene == vene2) 
     327            elamamittari2.Value += 1; 
     328        vasara.Destroy(); 
     329 
     330    } 
     331    
    179332    void lisaaPlaskin() 
    180333    { 
    181          
    182334        pisteet = new IntMeter(0); 
    183335        Label pistenaytto = new Label(); 
     
    190342        pistenaytto.BindTo(pisteet); 
    191343        Add(pistenaytto); 
    192          
    193  
    194          
    195  
    196  
    197     } 
     344    } 
     345     
    198346    void lisaaMlaskin() 
    199347    { 
     
    217365 
    218366    } 
     367    
    219368    void lisaaEmittari() 
    220369    { 
     
    228377        elamapalkki.Color = Color.Red; 
    229378        elamapalkki.X =Screen.Right -150; 
    230         elamapalkki.Y =Screen.Bottom+15; 
     379        elamapalkki.Y =Screen.Bottom+200; 
    231380        Add(elamapalkki); 
    232381        elamamittari.LowerLimit += elamaloppui; 
     
    235384 
    236385    } 
     386     
    237387    void asetaohjaimet() 
    238388    { 
    239         Keyboard.Listen(Key.Right, ButtonState.Down, asetanopeus, "pelaaja, liikuta venettä oikealle", vene, nopeusoikea); 
    240         Keyboard.Listen(Key.Right, ButtonState.Released, asetanopeus, null, vene, Vector.Zero); 
    241         Keyboard.Listen(Key.Left, ButtonState.Down, asetanopeus, "pelaaja, liikuta venettä oikealle", vene, nopeusvasen); 
    242         Keyboard.Listen(Key.Left, ButtonState.Released, asetanopeus, null, vene, Vector.Zero); 
     389        Keyboard.Listen(Key.Right, ButtonState.Down, asetanopeus, "pelaaja, liikuta venettä oikealle", vene1, nopeusoikea); 
     390        Keyboard.Listen(Key.Right, ButtonState.Released, asetanopeus, null, vene1, Vector.Zero); 
     391        Keyboard.Listen(Key.Left, ButtonState.Down, asetanopeus, "pelaaja, liikuta venettä oikealle", vene1, nopeusvasen); 
     392        Keyboard.Listen(Key.Left, ButtonState.Released, asetanopeus, null, vene1, Vector.Zero); 
    243393        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    244         Keyboard.Listen(Key.Up, ButtonState.Down, asetanopeus, "pelaaja, liikuta venettä ylös", vene, nopeusylos); 
    245         Keyboard.Listen(Key.Up, ButtonState.Released, asetanopeus, null, vene, Vector.Zero); 
    246         Keyboard.Listen(Key.Down, ButtonState.Down, asetanopeus, "pelaaja, liikuta venettä alas", vene, nopeusalas); 
    247         Keyboard.Listen(Key.Down, ButtonState.Released, asetanopeus, null, vene, Vector.Zero); 
    248         Keyboard.Listen(Key.A, ButtonState.Pressed, suovene, "pelaaja, suorista vene", vene); 
    249         
     394        Keyboard.Listen(Key.Up, ButtonState.Down, asetanopeus, "pelaaja, liikuta venettä ylös", vene1, nopeusylos); 
     395        Keyboard.Listen(Key.Up, ButtonState.Released, asetanopeus, null, vene1, Vector.Zero); 
     396        Keyboard.Listen(Key.Down, ButtonState.Down, asetanopeus, "pelaaja, liikuta venettä alas", vene1, nopeusalas); 
     397        Keyboard.Listen(Key.Down, ButtonState.Released, asetanopeus, null, vene1, Vector.Zero); 
     398        Keyboard.Listen(Key.A, ButtonState.Pressed, suovene, "pelaaja, suorista vene", vene1); 
     399        
     400    } 
     401    void asetaveneen2ohjaimet() 
     402    { 
     403        Keyboard.Listen(Key.NumPad6, ButtonState.Down, asetanopeus, "pelaaja2, liikuta venettä oikealle", vene2, nopeusoikea); 
     404        Keyboard.Listen(Key.NumPad6, ButtonState.Released, asetanopeus, null, vene2, Vector.Zero); 
     405        Keyboard.Listen(Key.NumPad4, ButtonState.Down, asetanopeus, "pelaaja2, liikuta venettä oikealle", vene2, nopeusvasen); 
     406        Keyboard.Listen(Key.NumPad4, ButtonState.Released, asetanopeus, null, vene2, Vector.Zero); 
     407        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     408        Keyboard.Listen(Key.NumPad8, ButtonState.Down, asetanopeus, "pelaaja2, liikuta venettä ylös", vene2, nopeusylos); 
     409        Keyboard.Listen(Key.NumPad8, ButtonState.Released, asetanopeus, null, vene2, Vector.Zero); 
     410        Keyboard.Listen(Key.NumPad2, ButtonState.Down, asetanopeus, "pelaaja2, liikuta venettä alas", vene2, nopeusalas); 
     411        Keyboard.Listen(Key.NumPad2, ButtonState.Released, asetanopeus, null, vene2, Vector.Zero); 
     412        Keyboard.Listen(Key.NumPad5, ButtonState.Pressed, suovene, "pelaaja2, suorista vene", vene2); 
     413 
    250414    } 
    251415    void suovene(PhysicsObject vene) 
     
    256420    void asetanopeus(PhysicsObject vene,Vector nopeus) 
    257421    { 
     422        if((nopeus.Y<0)&&(vene.Bottom<Level.Bottom)) 
     423        { 
     424            vene.Velocity = Vector.Zero; 
     425            return; 
     426        } 
     427        
     428        
     429        if((nopeus.Y>0)&&(vene.Top>Level.Top)) 
     430        { 
     431            vene.Velocity = Vector.Zero; 
     432            return; 
     433        } 
    258434        vene.Velocity = nopeus; 
    259435 
    260436 
    261437    } 
     438    
    262439    void elamaloppui() 
    263440    { 
     441        
    264442        MessageDisplay.Add("Veneesi upposi!"); 
    265443        if(elamamittari.Value==0)  
    266444        { 
     445             
    267446            ClearAll(); 
    268447            naytavalikko (); 
    269448        } 
    270          
    271  
    272449    } 
    273450    void veneosuu(PhysicsObject vene, PhysicsObject kivi) 
    274451    { 
     452        if(vene==vene1) 
    275453        elamamittari.Value-=1; 
    276  
    277     } 
     454        if (vene == vene2) 
     455            elamamittari2.Value -= 1; 
     456 
     457    } 
     458     
    278459    void lisaamaili() 
    279460    { 
    280461        merimailit.Value += 1; 
     462        if(merimailit2 != null) merimailit2.Value += 1; 
     463 
    281464    } 
    282465    void mailittaynna() 
    283466    { 
    284467        MessageDisplay.Add("Onnittelut! Purjehdit regatan loppuun!"); 
    285          
    286  
    287     } 
     468        Exit(); 
     469         
     470 
     471    } 
     472 
    288473    void naytavalikko() 
    289474    { 
     
    291476        Add(loppuvalikko); 
    292477        loppuvalikko.ItemSelected += painettiinnuppia; 
    293         loppuvalikko.Color = Color.LightBlue; 
     478        loppuvalikko.Color = Color.Green; 
    294479 
    295480 
     
    300485        { 
    301486            case 0: 
    302                 purjeVene(0, 0); 
    303                 lisaakivia(); 
    304                 ajastin(); 
    305                 lisaarengas(); 
    306                 LuoKentta(); 
    307                 lisaaPlaskin(); 
    308                 lisaaMlaskin(); 
    309                 asetaohjaimet(); 
    310                 lisaaEmittari(); 
    311                 veneosuu(vene, kivi); 
    312                 pistelisaa(vene, rengas); 
    313                 mailittaynna(); 
    314                 suoristavene(); 
     487                  purjeVene(0,0); 
     488                  lisaakivia(); 
     489                  ajastin(); 
     490                  lisaarengas(); 
     491                  lisaamatala(); 
     492                  lisaaMvene(); 
     493                  LuoKentta(); 
     494                  lisaaPlaskin(); 
     495                  lisaaMlaskin(); 
     496                  asetaohjaimet(); 
     497                  lisaaEmittari(); 
     498                   
     499                 
    315500                break; 
    316501            case 1: 
     502                HighScoreWindow topikkuna = new HighScoreWindow("Top 5-lista", 
     503                    "Onnea, Pääsit parhaiden purjehtijoiden joukkoon loppupisteillä %p! Syötä nimesi:", 
     504                     toplista, merimailit.Value * 10 + pisteet.Value); 
     505                topikkuna.Closed += tallennapisteet; 
     506                Add(topikkuna); 
     507 
    317508                break; 
    318509            case 2: 
     
    323514                mailit.X = 0; 
    324515                mailit.Y = 300; 
    325                 mailit.Text = "Merimalit yhteensä"; 
     516                mailit.Title = "Merimalit yhteensä"; 
    326517                Add(mailit); 
     518 
     519                mailit.BindTo(merimailit); 
     520 
     521                Label pointit = new Label(); 
     522                pointit.X = 0; 
     523                pointit.Y=200; 
     524                pointit.Title = "Pisteet yhteensä"; 
     525                Add(pointit); 
     526                pointit.BindTo(pisteet); 
     527 
     528                loppupoint = new IntMeter(0); 
     529                loppupoint.Value = merimailit.Value * 10 + pisteet.Value; 
     530                Label Lopulliset = new Label(); 
     531                Lopulliset.X = 0; 
     532                Lopulliset.Y = 100; 
     533                Lopulliset.TextColor = Color.Brown; 
     534                Lopulliset.Title = "Loppupisteet yhteensä"; 
     535                Add(Lopulliset); 
     536                Lopulliset.BindTo(loppupoint); 
     537 
     538                MultiSelectWindow loppuPisteetvalikko = new MultiSelectWindow("Sail 'Til You Sink", "Lopeta"); 
     539                Add(loppuPisteetvalikko); 
     540                loppuPisteetvalikko.ItemSelected += painettiinvalikonnapikkaa; 
     541                loppuPisteetvalikko.Color = Color.DarkBlue; 
     542 
    327543                break; 
    328544            default: 
     
    331547 
    332548    } 
    333     void suoristavene() 
    334     { 
    335     } 
     549    void painettiinvalikonnapikkaa(int valinta) 
     550    { 
     551        switch (valinta) 
     552        { 
     553            case 0: 
     554                Exit(); 
     555                break; 
     556                 
     557        } 
     558    } 
     559    void tallennapisteet(Window Sender) 
     560    { 
     561        DataStorage.Save<ScoreList>(toplista, "point.xml"); 
     562        MultiSelectWindow topvalikko = new MultiSelectWindow("Sail 'Til You Sink", "Lopeta"); 
     563        Add(topvalikko); 
     564        topvalikko.ItemSelected += Painettiinvalikkonnuppua; 
     565        topvalikko.Color = Color.Blue; 
     566 
     567 
     568    } 
     569    void Painettiinvalikkonnuppua(int valinta) 
     570    { 
     571        switch (valinta) 
     572        { 
     573            case 0: 
     574                Exit(); 
     575                break; 
     576 
     577        } 
     578    } 
     579     
    336580} 
  • 2012/26/FanniO/Sailtilyousink/Sailtilyousink/SailtilyousinkContent/SailtilyousinkContent.contentproj

    r3285 r3327  
    9393    </Compile> 
    9494  </ItemGroup> 
     95  <ItemGroup> 
     96    <Compile Include="matala.png"> 
     97      <Name>matala</Name> 
     98      <Importer>TextureImporter</Importer> 
     99      <Processor>TextureProcessor</Processor> 
     100    </Compile> 
     101  </ItemGroup> 
     102  <ItemGroup> 
     103    <Compile Include="Mvene.png"> 
     104      <Name>Mvene</Name> 
     105      <Importer>TextureImporter</Importer> 
     106      <Processor>TextureProcessor</Processor> 
     107    </Compile> 
     108  </ItemGroup> 
     109  <ItemGroup> 
     110    <Compile Include="kala.png"> 
     111      <Name>kala</Name> 
     112      <Importer>TextureImporter</Importer> 
     113      <Processor>TextureProcessor</Processor> 
     114    </Compile> 
     115  </ItemGroup> 
     116  <ItemGroup> 
     117    <Compile Include="vasara.png"> 
     118      <Name>vasara</Name> 
     119      <Importer>TextureImporter</Importer> 
     120      <Processor>TextureProcessor</Processor> 
     121    </Compile> 
     122  </ItemGroup> 
    95123  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    96124  <!--  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.