Changeset 9652


Ignore:
Timestamp:
2018-06-07 11:54:32 (20 months ago)
Author:
jemannin
Message:
 
Location:
2018/23/JEREMIASM
Files:
5 added
13 edited

Legend:

Unmodified
Added
Removed
  • 2018/23/JEREMIASM/Blockjump/Blockjump/Blockjump.cs

    r9623 r9652  
    1616    Image laatikkoKuva = LoadImage("laatikko"); 
    1717    Image kolikkoKuva = LoadImage("kolikko"); 
    18     Image kellokuva = LoadImage("kello_tikulla"); 
     18    Image kellokuva = LoadImage("kelllovalmis"); 
    1919 
    2020    SoundEffect maaliAani = LoadSoundEffect("maali"); 
     21    IntMeter pistelaskuri; 
     22 
     23    DoubleMeter alaspainLaskuri; 
     24    Timer aikaLaskuri; 
    2125 
    2226    public override void Begin() 
    2327    { 
     28        MultiSelectWindow valikko = new MultiSelectWindow("BlockJump", 
     29        "Start", "Quit"); 
     30        valikko.ItemSelected += PainettiinAlkuvalikonNappia; 
     31        Level.Background.Color = Color.DarkRed; 
     32        Add(valikko); 
     33     
     34    } 
     35    void PainettiinAlkuvalikonNappia(int valinta) 
     36    { 
     37        switch (valinta) 
     38        { 
     39            case 0: 
     40                AloitaPeli(); 
     41                break; 
     42            case 1: 
     43                Exit(); 
     44                break; 
     45        } 
     46    } 
     47    void AloitaPeli() 
     48    { 
    2449        Gravity = new Vector(0, -1000); 
    2550 
    2651        LuoKentta(); 
     52        LuoAikaLaskuri(); 
    2753        LisaaNappaimet(); 
     54        LuoPisteLaskuri(); 
    2855 
    2956        Camera.Follow(laatikko); 
     
    5077        kentta.SetTileMethod('%', LisaaKello); 
    5178        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    52         Level.CreateBorders();   
     79        PhysicsObject pohja = new PhysicsObject(Level.Width, 10); 
     80        pohja.Y = Level.Bottom; 
     81        Add(pohja); 
     82        pohja.MakeStatic(); 
     83        pohja.IsVisible = false; 
     84        pohja.Tag = "pohja"; 
     85        
    5386    } 
    5487    void LisaaKello(Vector paikka, double leveys, double korkeus) 
     
    67100        piikki.Shape = Shape.Triangle; 
    68101        piikki.Color = Color.Black; 
     102        piikki.Tag = "piikki"; 
    69103        Add(piikki); 
    70104 
     
    93127        AddCollisionHandler(laatikko, "kello", KeraaKello); 
    94128        AddCollisionHandler(laatikko, "hTaso", HavitaTaso); 
     129        AddCollisionHandler(laatikko, "piikki", OsuitPiikkiin); 
     130        AddCollisionHandler(laatikko, "pohja", Putosit); 
    95131        Add(laatikko); 
    96132    } 
     
    116152        maaliAani.Play(); 
    117153        kolikko.Destroy(); 
     154        pistelaskuri.Value += 50; 
    118155    } 
    119156    void KeraaKello(PhysicsObject hahmo, PhysicsObject kello) 
     
    121158         
    122159        kello.Destroy(); 
     160        alaspainLaskuri.Value = alaspainLaskuri.Value + 30; 
     161    } 
     162 
     163    void LuoPisteLaskuri() 
     164    { 
     165        pistelaskuri = new IntMeter(0); 
     166 
     167        Label pisteNaytto = new Label(); 
     168        pisteNaytto.X = Screen.Left + 100; 
     169        pisteNaytto.Y = Screen.Top - 50; 
     170        pisteNaytto.TextColor = Color.Black; 
     171        pisteNaytto.Color = Level.Background.Color; 
     172        pisteNaytto.Title = "Points"; 
     173 
     174        pisteNaytto.BindTo(pistelaskuri); 
     175        Add(pisteNaytto); 
     176 
     177         
     178    } 
     179    void LuoAikaLaskuri() 
     180    { 
     181        alaspainLaskuri = new DoubleMeter(30); 
     182 
     183        aikaLaskuri = new Timer(); 
     184        aikaLaskuri.Interval = 1; 
     185        aikaLaskuri.Timeout += LaskeAlaspain; 
     186        aikaLaskuri.Start(); 
     187 
     188        Label aikaNaytto = new Label(); 
     189        aikaNaytto.X = Screen.Right - 100; 
     190        aikaNaytto.Y = Screen.Top - 50; 
     191        aikaNaytto.TextColor = Color.White; 
     192        aikaNaytto.Color = Level.Background.Color; 
     193        aikaNaytto.DecimalPlaces = 1; 
     194        aikaNaytto.Title = "Time"; 
     195        aikaNaytto.BindTo(alaspainLaskuri); 
     196        Add(aikaNaytto); 
     197        LisaaSekuntti(); 
     198    } 
     199 
     200    void LaskeAlaspain() 
     201    { 
     202        alaspainLaskuri.Value -= 1; 
     203 
     204        if (alaspainLaskuri.Value <= 0) 
     205        { 
     206            MultiSelectWindow valikko = new MultiSelectWindow("Time Out!", 
     207            "Retry", "Quit"); 
     208            valikko.ItemSelected += PainettiinValikonNappia; 
     209            Add(valikko); 
     210        } 
     211    } 
     212    void LisaaSekuntti() 
     213    { 
     214        Label sekunttiNaytto = new Label("s"); 
     215        sekunttiNaytto.X = Screen.Right - 40; 
     216        sekunttiNaytto.Y = Screen.Top - 50; 
     217        sekunttiNaytto.TextColor = Color.White; 
     218        Add(sekunttiNaytto); 
     219 
     220    } 
     221    void PainettiinValikonNappia(int valinta) 
     222    { 
     223        switch (valinta) 
     224        { 
     225            case 0: 
     226                ClearAll(); 
     227                AloitaPeli(); 
     228                break; 
     229            case 1: 
     230                Exit(); 
     231                break; 
     232        } 
    123233    } 
    124234    void HavitaTaso(PhysicsObject hahmo, PhysicsObject taso) 
    125235    { 
    126         Timer.SingleShot(2.0, 
    127          delegate { 
    128           taso.Destroy(); 
    129          } 
    130         ); 
    131  
     236        if (hahmo.Y >= taso.Top) 
     237        { 
     238            Timer.SingleShot(2.0, 
     239             delegate 
     240             { 
     241                 taso.Destroy(); 
     242             } 
     243            ); 
     244        } 
    132245         
     246    } 
     247    void OsuitPiikkiin(PhysicsObject hahmo, PhysicsObject piikki) 
     248    { 
     249        PeliPaattui(); 
     250    } 
     251    void PeliPaattui() 
     252    { 
     253        MultiSelectWindow valikko = new MultiSelectWindow("Game Over", 
     254        "Retry","Quit"); 
     255        valikko.ItemSelected += PainettiinValikonNappia; 
     256        Add(valikko); 
    133257    } 
    134258    void LisaaTaso(Vector paikka, double leveys, double korkeus) 
     
    176300        Add(taso); 
    177301 
    178         taso = PhysicsObject.CreateStaticObject(leveys, korkeus - 10); 
    179         taso.Position = paikka; 
    180         taso.Color = Level.Background.Color; 
     302 
     303        PhysicsObject taso2 = PhysicsObject.CreateStaticObject(leveys, korkeus - 10); 
     304        taso2.Position = paikka; 
     305        taso2.Color = Level.Background.Color; 
     306        taso2.Tag = "hTaso"; 
     307        Add(taso2); 
     308 
     309        taso.Destroyed += (delegate 
     310        { 
     311            taso2.Destroy(); 
     312        }); 
     313 
     314 
     315    } 
     316    void LisaaHaviavaTasoOikea(Vector paikka, double leveys, double korkeus) 
     317    { 
     318        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     319        taso.Position = paikka; 
     320        taso.Color = Color.Black; 
    181321        taso.Tag = "hTaso"; 
    182322        Add(taso); 
    183     } 
    184     void LisaaHaviavaTasoOikea(Vector paikka, double leveys, double korkeus) 
     323 
     324        PhysicsObject taso2 = PhysicsObject.CreateStaticObject(leveys, korkeus - 10); 
     325        taso2.Position = paikka + new Vector(-5, 0); 
     326        taso2.Color = Level.Background.Color; 
     327        taso2.Tag = "hTaso"; 
     328        Add(taso2); 
     329 
     330        taso.Destroyed += (delegate 
     331        { 
     332            taso2.Destroy(); 
     333        }); 
     334    } 
     335    void LisaaHaviavaTasoVasen(Vector paikka, double leveys, double korkeus) 
    185336    { 
    186337        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     
    190341        Add(taso); 
    191342 
    192         taso = PhysicsObject.CreateStaticObject(leveys, korkeus - 10); 
    193         taso.Position = paikka + new Vector(-5, 0); 
    194         taso.Color = Level.Background.Color; 
    195         taso.Tag = "hTaso"; 
    196         Add(taso); 
    197     } 
    198     void LisaaHaviavaTasoVasen(Vector paikka, double leveys, double korkeus) 
    199     { 
    200         PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    201         taso.Position = paikka; 
    202         taso.Color = Color.Black; 
    203         taso.Tag = "hTaso"; 
    204         Add(taso); 
    205  
    206         taso = PhysicsObject.CreateStaticObject(leveys, korkeus - 10); 
    207         taso.Position = paikka + new Vector(5, 0); 
    208         taso.Color = Level.Background.Color; 
    209         taso.Tag = "hTaso"; 
    210         Add(taso); 
     343        PhysicsObject taso2 = PhysicsObject.CreateStaticObject(leveys, korkeus - 10); 
     344        taso2.Position = paikka + new Vector(5, 0); 
     345        taso2.Color = Level.Background.Color; 
     346        taso2.Tag = "hTaso"; 
     347        Add(taso2); 
     348 
     349        taso.Destroyed += (delegate 
     350        { 
     351            taso2.Destroy(); 
     352        }); 
    211353    } 
    212354    void LisaaAlkuTaso(Vector paikka, double leveys, double korkeus) 
  • 2018/23/JEREMIASM/Blockjump/Blockjump/Content/Content.mgcb

    r9623 r9652  
    7474/build:kello.png 
    7575 
     76#begin kelllovalmis.png 
     77/importer:TextureImporter 
     78/processor:TextureProcessor 
     79/processorParam:ColorKeyColor=255,0,255,255 
     80/processorParam:ColorKeyEnabled=True 
     81/processorParam:GenerateMipmaps=False 
     82/processorParam:PremultiplyAlpha=True 
     83/processorParam:ResizeToPowerOfTwo=False 
     84/processorParam:MakeSquare=False 
     85/processorParam:TextureFormat=Color 
     86/build:kelllovalmis.png 
     87 
  • 2018/23/JEREMIASM/Blockjump/Blockjump/Content/obj/Windows/.mgcontent

    r9623 r9652  
    1111    <File>C:/MyTemp/Pelikurssi2018/viikko23/JEREMIASM/Blockjump/Blockjump/Content/kello_tikulla.png</File> 
    1212    <File>C:/MyTemp/Pelikurssi2018/viikko23/JEREMIASM/Blockjump/Blockjump/Content/kello.png</File> 
     13    <File>C:/MyTemp/Pelikurssi2018/viikko23/JEREMIASM/Blockjump/Blockjump/Content/kelllovalmis.png</File> 
    1314  </SourceFiles> 
    1415</SourceFileCollection> 
  • 2018/23/JEREMIASM/Blockjump/Blockjump/Content/obj/Windows/kentta1.mgcontent

    r9623 r9652  
    22<PipelineBuildEvent xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    33  <SourceFile>C:/MyTemp/Pelikurssi2018/viikko23/JEREMIASM/Blockjump/Blockjump/Content/kentta1.txt</SourceFile> 
    4   <SourceTime>2018-06-06T14:42:13.9402501+03:00</SourceTime> 
     4  <SourceTime>2018-06-06T14:56:03.2482161+03:00</SourceTime> 
    55  <DestFile>C:/MyTemp/Pelikurssi2018/viikko23/JEREMIASM/Blockjump/Blockjump/Content/bin/Windows/kentta1.xnb</DestFile> 
    6   <DestTime>2018-06-06T14:42:14.5929865+03:00</DestTime> 
     6  <DestTime>2018-06-07T09:36:14.8203697+03:00</DestTime> 
    77  <Importer>TextFileImporter</Importer> 
    88  <ImporterTime>2018-01-11T19:43:12+02:00</ImporterTime> 
  • 2018/23/JEREMIASM/Blockjump/Blockjump/obj/x86/Debug/Blockjump.csproj.FileListAbsolute.txt

    r9623 r9652  
    3333C:\MyTemp\Pelikurssi2018\viikko23\JEREMIASM\Blockjump\Blockjump\bin\Windows\Debug\Content\kello.xnb 
    3434C:\MyTemp\Pelikurssi2018\viikko23\JEREMIASM\Blockjump\Blockjump\bin\Windows\Debug\Content\kello_tikulla.xnb 
     35C:\MyTemp\Pelikurssi2018\viikko23\JEREMIASM\Blockjump\Blockjump\bin\Windows\Debug\Content\kelllovalmis.xnb 
Note: See TracChangeset for help on using the changeset viewer.