Ignore:
Timestamp:
2017-07-07 11:56:28 (2 years ago)
Author:
npo17_53
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2017/27/MillaK/RPG/RPG/RPG/RPG.cs

    r8958 r9003  
    1111    PhysicsObject pelaaja; 
    1212    PhysicsObject kerjalainen; 
     13    PhysicsObject merenneito; 
    1314    Vector NopeusYlos = new Vector(0, 200); 
    1415    Vector NopeusAlas = new Vector(0, -200); 
    1516    Vector NopeusVasemmalle = new Vector(-200, 0); 
    1617    Vector NopeusOikealle = new Vector(200, 0); 
    17  
     18    Label tekstiKentta1; 
     19    String teksti2 = "tekstiä jww"; 
     20    Image kerjalaisenPuhekupla = LoadImage("puheker"); 
     21    Image pelaajanPuhekupla = LoadImage("puhepel"); 
     22    Image merenneidonPuhekupla = LoadImage("puhemer"); 
     23    int keskustelu1puheenaihe = 1; 
     24    int sanoitjoo = 1; 
     25    double puhekuplansiirtyma = 88; 
     26    bool PaastitKerjalaisen = false; 
     27    bool puhuitNatisti = false; 
    1828    GameObject ruutu; 
     29    GameObject musta; 
     30    Timer mustutin; 
    1931    int tapahtumat; 
     32    byte tummuus = 0; 
    2033    public override void Begin() 
    2134    { 
     
    2538    void Alkuvalikko() 
    2639    { 
    27          
    28         MultiSelectWindow alkuValikko = new MultiSelectWindow("Hmm", "Uusi peli", "Lopeta"); 
     40 
     41        MultiSelectWindow alkuValikko = new MultiSelectWindow("I Just Wanted to Live in Peace...", "Uusi peli", "Lopeta"); 
    2942        Add(alkuValikko); 
    3043        alkuValikko.AddItemHandler(0, AloitaPeli); 
     
    4356    { 
    4457        Level.Background.Image = LoadImage("tausta"); 
    45          
     58 
    4659        Level.Width = Window.Width; 
    4760        Level.Height = Window.Height; 
     
    5467        ranta.IsVisible = false; 
    5568        Add(ranta); 
    56          
     69 
    5770        LuoSeinat(); 
    5871        LuoHuonekalut(); 
    5972        LuoPuut(); 
    6073 
    61          
     74 
    6275 
    6376    } 
     
    6578    void LuoPuut() 
    6679    { 
    67         PhysicsObject kuusi = PhysicsObject.CreateStaticObject(120,230); 
     80        PhysicsObject kuusi = PhysicsObject.CreateStaticObject(120, 230); 
    6881        Add(kuusi); 
    6982        kuusi.Shape = Shape.Triangle; 
     
    118131 
    119132        //pöytä 
    120         PhysicsObject poyta = new PhysicsObject(155,169); 
     133        PhysicsObject poyta = new PhysicsObject(155, 169); 
    121134        poyta.Shape = Shape.Circle; 
    122135        poyta.MakeStatic(); 
     
    132145        //ulkoseinät 
    133146        LuoSeina(-214, 195, 10, 424); 
    134         LuoSeina(-214, -280 , 10, 349); 
     147        LuoSeina(-214, -280, 10, 349); 
    135148 
    136149        LuoSeina(-497, 405, 576, 10); 
     
    166179        Add(huone); 
    167180    } 
    168     void LuoHahmot () 
     181    void LuoHahmot() 
    169182    { 
    170183        //luo pelaajan 
     
    176189        pelaaja.CanRotate = false; 
    177190        pelaaja.Restitution = 0; 
     191        pelaaja.CollisionIgnoreGroup = 1; 
    178192        Add(pelaaja); 
    179193 
    180         AddCollisionHandler(pelaaja, "mia", Puhe); 
     194        AddCollisionHandler(pelaaja, "mia", AloitaKeskustelu); 
    181195 
    182196        //luo merenneidon 
    183         PhysicsObject merenneito = new PhysicsObject(90, 50); 
     197        merenneito = new PhysicsObject(90, 50); 
    184198        merenneito.Image = LoadImage("mermaid"); 
    185199        merenneito.MakeStatic(); 
     
    203217        List<Vector> polku = new List<Vector>(); 
    204218        polku.Add(new Vector(-50, -50)); 
    205         polku.Add(new Vector(-350, 150)); 
     219        polku.Add(new Vector(-30, 200)); 
    206220        polku.Add(new Vector(-100, -50)); 
    207221 
     
    210224        polkuAivot.Speed = 20; 
    211225        kerjalainen.Brain = polkuAivot; 
     226 
    212227 
    213228 
     
    229244 
    230245 
    231     void Puhe(PhysicsObject pelaaja, PhysicsObject kerjalainen) 
    232     { 
    233         if(ruutu != null)  
     246 
     247    void AloitaKeskustelu(PhysicsObject pelaaja, PhysicsObject kerjalainen) 
     248    { 
     249        Keyboard.Disable(Key.Right); 
     250        Keyboard.Disable(Key.Left); 
     251        Keyboard.Disable(Key.Up); 
     252        Keyboard.Disable(Key.Down); 
     253 
     254        if (ruutu != null) 
    234255        { 
     256 
    235257            return; 
    236258        } 
    237  
    238259        ruutu = new GameObject(200, 100); 
    239         ruutu.Image = LoadImage("puheker"); 
    240260        ruutu.Y = kerjalainen.Y + 90; 
    241261        ruutu.X = kerjalainen.X - 100; 
    242  
    243         Label tekstiKentta1 = new Label("Hello there."); 
     262        tekstiKentta1 = new Label(); 
    244263        tekstiKentta1.Font = Font.DefaultSmall; 
     264 
     265 
     266 
     267        Add(ruutu, 2); 
     268        Add(tekstiKentta1, 3); 
     269 
     270        //kerjalainen.MakeStatic(); 
     271        kerjalainen.Brain.Active = false; 
     272        kerjalainen.Stop(); 
     273        pelaaja.Velocity = Vector.Zero; 
     274        kerjalainen.Velocity = new Vector(0, 0); 
     275 
     276        KerjalainenPuhuu("Hello there."); 
     277    } 
     278 
     279    void KerjalainenPuhuu(String teksti) 
     280    { 
     281        tekstiKentta1.Text = teksti; 
    245282        tekstiKentta1.Y = kerjalainen.Y + 90; 
    246283        tekstiKentta1.X = kerjalainen.X - 100; 
    247  
    248         Add(ruutu, 2); 
    249         Add(tekstiKentta1, 3); 
    250  
    251         kerjalainen.MakeStatic(); 
    252         kerjalainen.Brain.Active = false; 
    253         kerjalainen.Stop(); 
    254          
    255     } 
    256  
     284        ruutu.Image = kerjalaisenPuhekupla; 
     285        ruutu.X = kerjalainen.X - 100; 
     286        ruutu.Y = kerjalainen.Y + 90; 
     287 
     288    } 
     289 
     290    void PelaajaPuhuu(String teksti) 
     291    { 
     292        tekstiKentta1.Text = teksti; 
     293        ruutu.X = pelaaja.X + puhekuplansiirtyma; 
     294        ruutu.Y = pelaaja.Y + 88; 
     295 
     296        tekstiKentta1.Y = pelaaja.Y + 88; 
     297        tekstiKentta1.X = pelaaja.X + puhekuplansiirtyma; 
     298        ruutu.Image = pelaajanPuhekupla; 
     299    } 
     300 
     301    void MerenneitoPuhuu(String teksti) 
     302 
     303    { 
     304        tekstiKentta1.Text = teksti; 
     305 
     306        ruutu.Image = merenneidonPuhekupla; 
     307        ruutu.X = merenneito.X - 150; 
     308        ruutu.Y = merenneito.Y + 90; 
     309 
     310        tekstiKentta1.X = merenneito.X - 150; 
     311        tekstiKentta1.Y = merenneito.Y + 90; 
     312 
     313 
     314 
     315    } 
     316    void PuheVaihtuu(PhysicsObject kohde) 
     317    { 
     318 
     319        switch (keskustelu1puheenaihe) 
     320        { 
     321            case 0: 
     322                return; 
     323                break; 
     324            case 1: 
     325                PelaajaPuhuu("Hi..."); 
     326                keskustelu1puheenaihe++; 
     327                break; 
     328 
     329            case 2: 
     330                PelaajaPuhuu("Um."); 
     331                keskustelu1puheenaihe++; 
     332                break; 
     333 
     334            case 3: 
     335                PelaajaPuhuu("What are you \ndoing in my yard?"); 
     336                keskustelu1puheenaihe++; 
     337                break; 
     338 
     339            case 4: 
     340                KerjalainenPuhuu("I have been \ntrough a lot."); 
     341                keskustelu1puheenaihe++; 
     342                break; 
     343 
     344            case 5: 
     345                KerjalainenPuhuu("My house \nburned down."); 
     346                keskustelu1puheenaihe++; 
     347                break; 
     348 
     349            case 6: 
     350                KerjalainenPuhuu("I don't have \na place to live."); 
     351                keskustelu1puheenaihe++; 
     352                break; 
     353 
     354            case 7: 
     355                KerjalainenPuhuu("And this place \nlooked friendly..."); 
     356                keskustelu1puheenaihe++; 
     357                break; 
     358 
     359            case 8: 
     360                KerjalainenPuhuu("Could I stay\n for a while?"); 
     361                keskustelu1puheenaihe++; 
     362                break; 
     363 
     364            case 9: 
     365                MultiSelectWindow valikko = new MultiSelectWindow("Can she?", "Yes", "No"); 
     366                valikko.ItemSelected += PainettiinValikonNappia; 
     367                Add(valikko); 
     368                break; 
     369 
     370            case 10: 
     371                PaastitKerjalaisen = true; 
     372                KerjalainenPuhuu("Thank you kindly!"); 
     373                keskustelu1puheenaihe = 13; 
     374                break; 
     375 
     376 
     377            case 12: 
     378                PaastitKerjalaisen = false; 
     379                KerjalainenPuhuu("Do you have a heart?"); 
     380                keskustelu1puheenaihe = 14; 
     381                break; 
     382 
     383            case 13: // vastaus joohon eli 10 
     384                Keyboard.EnableAll(); 
     385                ruutu.IsVisible = false; 
     386                tekstiKentta1.IsVisible = false; 
     387                kerjalainen.CollisionIgnoreGroup = 1; 
     388                kerjalainen.MoveTo(new Vector(-300, kerjalainen.Y), 100, kerjalainenSisalle); 
     389                keskustelu1puheenaihe = 17; 
     390                break; 
     391 
     392 
     393            case 14: // vastaus eihin 
     394                KerjalainenPuhuu("Because I don't think so."); 
     395                keskustelu1puheenaihe++; 
     396                break; 
     397 
     398            case 15: 
     399                Keyboard.EnableAll(); 
     400                ruutu.IsVisible = false; 
     401                tekstiKentta1.IsVisible = false; 
     402                kerjalainen.CollisionIgnoreGroup = 1; 
     403                kerjalainen.MoveTo(new Vector(323, kerjalainen.Y), 100, kerjalainenPois); 
     404                keskustelu1puheenaihe++; 
     405                break; 
     406 
     407            case 16: 
     408                kerjalainen.IsVisible = false; 
     409                keskustelu1puheenaihe++; 
     410                break; 
     411 
     412            case 17: 
     413 
     414                MerenneitoPuhuu("Hey! Pst!"); 
     415                ruutu.IsVisible = true; 
     416                tekstiKentta1.IsVisible = true; 
     417                keskustelu1puheenaihe++; 
     418                break; 
     419 
     420            case 18: 
     421                merenneito.IsVisible = true; 
     422                ruutu.IsVisible = false; 
     423                tekstiKentta1.IsVisible = false; 
     424                keskustelu1puheenaihe++; 
     425                break; 
     426 
     427            case 19: 
     428                MerenneitoPuhuu("Come here!"); 
     429                ruutu.IsVisible = true; 
     430                tekstiKentta1.IsVisible = true; 
     431                keskustelu1puheenaihe++; 
     432                break; 
     433 
     434            case 20: 
     435                PelaajaPuhuu("What on earth are you?"); 
     436                keskustelu1puheenaihe++; 
     437                break; 
     438 
     439            case 21: 
     440                PelaajaPuhuu("And what on earth are\n you doing in my lake?"); 
     441 
     442                keskustelu1puheenaihe++; 
     443                break; 
     444 
     445            case 22: 
     446                MerenneitoPuhuu("Nothing on earth,\nreally..."); 
     447 
     448                keskustelu1puheenaihe++; 
     449                break; 
     450 
     451            case 23: 
     452                //if (puhuitNatisti) MerenneitoPuhuu("...'cause I'm a mermaid."); 
     453                //else MerenneitoPuhuu("...'cause I'm a mermaid."); 
     454                MerenneitoPuhuu("...'cause I'm a mermaid"); 
     455                keskustelu1puheenaihe++; 
     456                break; 
     457 
     458            case 24: 
     459                MerenneitoPuhuu("...And you just don't go\nasking pretty mermaids \nwhat they are."); 
     460 
     461                keskustelu1puheenaihe++; 
     462                break; 
     463 
     464            case 25: 
     465                MerenneitoPuhuu("Or anyone for\n that matter."); 
     466 
     467                keskustelu1puheenaihe++; 
     468                break; 
     469 
     470            case 26: 
     471                MerenneitoPuhuu("The correct \nphrase would be:\n 'WHO are you'."); 
     472 
     473                keskustelu1puheenaihe++; 
     474                break; 
     475 
     476            case 27: 
     477                PelaajaPuhuu("Who are you, then?"); 
     478 
     479                keskustelu1puheenaihe++; 
     480                break; 
     481 
     482            case 28: 
     483                PelaajaPuhuu("And what are you \ndoing in my lake?"); 
     484 
     485                keskustelu1puheenaihe++; 
     486                break; 
     487 
     488            case 29: 
     489                MerenneitoPuhuu("May will do."); 
     490 
     491                keskustelu1puheenaihe++; 
     492                break; 
     493 
     494            case 30: 
     495                MerenneitoPuhuu("And I actually \nlost my pack."); 
     496 
     497                keskustelu1puheenaihe++; 
     498                break; 
     499 
     500            case 31: 
     501                MerenneitoPuhuu("You see, \nwe travel in packs."); 
     502 
     503                keskustelu1puheenaihe++; 
     504                break; 
     505 
     506            case 32: 
     507                MerenneitoPuhuu("And I know they'll\n pass this lake later \nthis week. So."); 
     508                keskustelu1puheenaihe++; 
     509                break; 
     510 
     511            case 33: 
     512                PelaajaPuhuu("Okay..."); 
     513 
     514                keskustelu1puheenaihe++; 
     515                break; 
     516 
     517            case 34: 
     518                MerenneitoPuhuu("Usually when i get lost \n(and do I get lost) -"); 
     519 
     520                keskustelu1puheenaihe++; 
     521                break; 
     522 
     523            case 35: 
     524                MerenneitoPuhuu("I come here to wait."); 
     525 
     526                keskustelu1puheenaihe++; 
     527                break; 
     528 
     529            case 36: 
     530                MerenneitoPuhuu("You're not very scary."); 
     531 
     532                keskustelu1puheenaihe++; 
     533                break; 
     534 
     535            case 37: 
     536                MerenneitoPuhuu("And you never \nhave visitors..."); 
     537 
     538                keskustelu1puheenaihe++; 
     539                break; 
     540 
     541            case 38: 
     542                PelaajaPuhuu("Yea, real nice..."); 
     543 
     544                keskustelu1puheenaihe++; 
     545                break; 
     546 
     547            case 39: 
     548                MerenneitoPuhuu("But now, \nthere was someone!"); 
     549 
     550                keskustelu1puheenaihe++; 
     551                break; 
     552 
     553            case 40: 
     554                MerenneitoPuhuu("And I'm a \nlittle scared."); 
     555 
     556                keskustelu1puheenaihe++; 
     557                break; 
     558 
     559            case 41: 
     560                MerenneitoPuhuu("Some people like \nto kidnap mermaids."); 
     561 
     562                keskustelu1puheenaihe++; 
     563                break; 
     564 
     565            case 42: 
     566                MerenneitoPuhuu("And do some \nnasty stuff."); 
     567 
     568                keskustelu1puheenaihe++; 
     569                break; 
     570 
     571            case 43: 
     572                MerenneitoPuhuu("So."); 
     573 
     574                keskustelu1puheenaihe++; 
     575                break; 
     576 
     577            case 44: 
     578                MerenneitoPuhuu("Yea."); 
     579                keskustelu1puheenaihe++; 
     580                break; 
     581 
     582            case 45: 
     583                MerenneitoPuhuu("Could you keep an \neye on her for me?"); 
     584                if (PaastitKerjalaisen == true) 
     585                { 
     586                    keskustelu1puheenaihe = 46; 
     587                } 
     588                else  
     589                { 
     590                    keskustelu1puheenaihe = 47; 
     591                } 
     592                break; 
     593 
     594            case 46: 
     595                PelaajaPuhuu("She seems \nharmless to me."); 
     596                keskustelu1puheenaihe = 48; 
     597                break; 
     598 
     599            case 47: 
     600                PelaajaPuhuu("Yea, I already \ntold her to leave."); 
     601                keskustelu1puheenaihe = 48; 
     602                break; 
     603 
     604            case 48: 
     605                PelaajaPuhuu("But sure."); 
     606                keskustelu1puheenaihe++; 
     607                break; 
     608 
     609            case 49: 
     610                MerenneitoPuhuu("Thank you!"); 
     611                keskustelu1puheenaihe++; 
     612                break; 
     613 
     614            case 50: 
     615                merenneito.IsVisible = false; 
     616                ruutu.IsVisible = false; 
     617                tekstiKentta1.IsVisible = false; 
     618                keskustelu1puheenaihe++; 
     619                break; 
     620 
     621            case 51: 
     622                keskustelu1puheenaihe = 0; 
     623                LuoBlackariAliohjelma(); 
     624                break; 
     625        } 
     626    } 
     627 
     628     
     629    void PainettiinValikonNappia(int valinta) 
     630    { 
     631        switch (valinta) 
     632        { 
     633            case 0: 
     634                // yes 
     635                PaastitKerjalaisen = true; 
     636                keskustelu1puheenaihe = 10; 
     637                PuheVaihtuu(null); 
     638                break; 
     639            case 1: 
     640                // no 
     641                PaastitKerjalaisen = false; 
     642                keskustelu1puheenaihe = 12; 
     643                PuheVaihtuu(null); 
     644                break; 
     645        } 
     646    } 
     647    void kerjalainenPois() 
     648    { 
     649        kerjalainen.MoveTo(new Vector(kerjalainen.X, -700), 100); 
     650    } 
     651    void kerjalainenSisalle() 
     652    { 
     653        kerjalainen.MoveTo(new Vector(kerjalainen.X, -200), 100); 
     654    } 
     655 
     656    void LuoBlackariAliohjelma() 
     657    { 
     658        musta = new GameObject(Screen.Width, Screen.Height); 
     659        musta.Color = new Color(Color.Black, tummuus); 
     660        Add(musta, 3); 
     661        mustutin = new Timer(); 
     662        mustutin.Interval = 0.05; 
     663        mustutin.Timeout += haivyttyyMustaan; 
     664        mustutin.Start(); 
     665    } 
     666    void haivyttyyMustaan() 
     667    { 
     668        tummuus += 10; 
     669        musta.Color = new Color(Color.Black, tummuus); 
     670        if (tummuus > 240) 
     671        { 
     672 
     673            mustutin.Stop(); 
     674            mustutin.Timeout -= haivyttyyMustaan; 
     675            mustutin.Timeout += kirkastaMaailma; 
     676            mustutin.Start(); 
     677        } 
     678    } 
     679 
     680    void kirkastaMaailma() 
     681    { 
     682        tummuus -= 10; 
     683        musta.Color = new Color(Color.Black, tummuus); 
     684        if (tummuus < 30) 
     685        { 
     686            musta.Color = Color.Transparent; 
     687            mustutin.Stop(); 
     688        } 
     689    } 
    257690    void LisaaOhjaimet() 
    258691    { 
     
    270703        Keyboard.Listen(Key.Right, ButtonState.Down, AsetaNopeus, "liikuta pelaajaa oikealle", pelaaja, NopeusOikealle); 
    271704        Keyboard.Listen(Key.Right, ButtonState.Released, AsetaNopeus, null, pelaaja, Vector.Zero); 
    272      
     705 
     706        Keyboard.Listen(Key.Space, ButtonState.Pressed, PuheVaihtuu, "vaihtaa puhekuplan tekstiä", kerjalainen); 
     707 
    273708        //exit 
    274709        PhoneBackButton.Listen(Alkuvalikko, "Lopeta peli"); 
    275710        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Alkuvalikko, "Lopeta peli"); 
    276      
     711 
    277712    } 
    278713    void AsetaNopeus(PhysicsObject joku, Vector nopeus) 
Note: See TracChangeset for help on using the changeset viewer.