Ignore:
Timestamp:
2017-03-18 14:52:57 (2 years ago)
Author:
tesatapa
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2016/27/PaavoH/UltimateAdventure/UltimateAdventure/UltimateAdventure/UltimateAdventure.cs

    r8405 r8417  
    66using Jypeli.Effects; 
    77using Jypeli.Widgets; 
     8using System.IO; 
    89 
    910public class UltimateAdventure : PhysicsGame 
    1011{ 
    1112    double nopeus = 200; 
    12     const double hyppyNopeus = 750; 
     13    const double JumpSpeed = 750; 
    1314    const int RUUDUN_KOKO = 40; 
    1415    IntMeter Pommit = new IntMeter(50); 
     
    3536    Image Snake = LoadImage("snake"); 
    3637    Image Player = LoadImage("PlayerV2"); 
    37  
     38    Image SpeedShoeImage = LoadImage("SpeedShoe"); 
     39    Image MoonstoneImage = LoadImage("Moonstone"); 
     40    Image WizardrWand = LoadImage("WizardingWandV3"); 
     41    Image LogoImage = LoadImage("LogoV1"); 
    3842 
    3943    SoundEffect maaliAani = LoadSoundEffect("maali"); 
     44    SoundEffect WizardZap = LoadSoundEffect("WizardZap"); 
    4045    Animation Ruoskanimaatio; 
    4146 
     
    5358    { 
    5459        ClearAll(); 
     60        Logo(); 
    5561        MultiSelectWindow alkuValikko = new MultiSelectWindow("UltimateAdventure", "Aloita peli", "Options", "Avaa valittu kenttä","Lopeta"); 
    5662 
     
    7278        Add(Pelivalikko); 
    7379    } 
     80 
     81    void Logo() 
     82    { 
     83        GameObject Logo = new GameObject(500,500); 
     84        Logo.Image = LogoImage; 
     85        Add(Logo); 
     86    } 
    7487    void AloitaPeli() 
    7588    { 
     
    8295        Gravity = new Vector(0, Painovoima); 
    8396 
    84         LuoKentta(LevelName); 
     97        AddLevel(LevelName); 
    8598        LisaaNappaimet(); 
    8699        LuoElamaLaskuri(); 
     
    101114    { 
    102115        Options(); 
    103         TeeBackNappain(); 
     116        BackButton(); 
    104117    } 
    105118    void Options() 
     
    113126    void SelectLevel() 
    114127    { 
    115         InputWindow kysymysIkkuna = new InputWindow("Vastaa kysymykseen"); 
    116         kysymysIkkuna.TextEntered += ProcessInput; 
    117         Add(kysymysIkkuna); 
     128        InputWindow AskWindow = new InputWindow("What level you want to play."); 
     129        AskWindow.TextEntered += ProcessInput; 
     130        Add(AskWindow); 
     131        BackButton(); 
    118132    } 
    119133 
     
    121135    { 
    122136        string answer = window.InputBox.Text; 
    123         StartLevel(answer); 
     137        if (answer == null || answer == "") return; 
     138        FileStream stream = null; 
     139        bool success = true; 
     140        try  
     141        { 
     142            stream = File.Open("Content\\" + answer+".xnb", FileMode.Open); 
     143        } 
     144        catch (FileNotFoundException f) 
     145        { 
     146            success = false; 
     147        } 
     148        finally 
     149        { 
     150            if(stream != null) 
     151                stream.Close(); 
     152        } 
     153        if (success) 
     154            StartLevel(answer); 
     155        else 
     156            SelectLevel(); 
    124157    } 
    125158     
     
    163196 
    164197    } 
    165     void TeeBackNappain() 
     198    void BackButton() 
    166199    { 
    167200        PushButton BackNappain = new PushButton("Back"); 
     
    196229    } 
    197230 
    198     void LuoKentta(String LevelName) 
    199     { 
    200         TileMap kentta = TileMap.FromLevelAsset(LevelName); 
    201         kentta.SetTileMethod('#', LisaaSolid); 
    202         kentta.SetTileMethod('&', LisaaBp); 
    203         kentta.SetTileMethod('*', LisaaHealt); 
    204         kentta.SetTileMethod('o', LisaaPelaaja); 
    205         kentta.SetTileMethod('0', LisaaSilmamob); 
    206         kentta.SetTileMethod('5', LisaaSnakemob); 
    207         kentta.SetTileMethod('>', LisaaTurret); 
    208         kentta.SetTileMethod('☂', PhysicBlock); 
    209         kentta.SetTileMethod('7', LisaaSpeedBoots); 
    210         kentta.SetTileMethod('O', LisaaPommipakkaus); 
    211         kentta.SetTileMethod('U', Water); 
    212         kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
     231    void AddLevel(String LevelName) 
     232    { 
     233        TileMap level = TileMap.FromLevelAsset(LevelName); 
     234        level.SetTileMethod('#', LisaaSolid); 
     235        level.SetTileMethod('&', LisaaBp); 
     236        level.SetTileMethod('*', LisaaHealt); 
     237        level.SetTileMethod('o', LisaaPelaaja); 
     238        level.SetTileMethod('0', LisaaSilmamob); 
     239        level.SetTileMethod('5', LisaaSnakemob); 
     240        level.SetTileMethod('>', LisaaTurret); 
     241        level.SetTileMethod('☂', PhysicBlock); 
     242        level.SetTileMethod('7', LisaaSpeedBoots); 
     243        level.SetTileMethod('O', LisaaPommipakkaus); 
     244        level.SetTileMethod('U', Water); 
     245        level.SetTileMethod('W', Wizard); 
     246        level.SetTileMethod('C', Moonstone); 
     247        level.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 
    213248        Level.CreateBorders(); 
    214249        Level.Background.CreateGradient(Color.SkyBlue, Color.SkyBlue); 
     
    267302    } 
    268303 
     304    void Moonstone(Vector paikka, double leveys, double korkeus) 
     305    { 
     306        PhysicsObject Moonstone = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     307        Moonstone.Position = paikka; 
     308        Moonstone.Image = MoonstoneImage; 
     309        Add(Moonstone); 
     310    } 
     311 
     312 
    269313    void Water(Vector paikka, double leveys, double korkeus) 
    270314    { 
     
    275319        Water.Tag = "Water"; 
    276320    } 
    277  
    278321 
    279322 
     
    299342    void LisaaSpeedBoots(Vector paikka, double leveys, double korkeus) 
    300343    { 
    301         PhysicsObject SpeedBoots = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    302         SpeedBoots.IgnoresCollisionResponse = true; 
    303         SpeedBoots.Position = paikka; 
    304         SpeedBoots.Tag = "SpeedBoots"; 
    305         Add(SpeedBoots); 
     344        PhysicsObject SpeedShoe = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     345        SpeedShoe.IgnoresCollisionResponse = true; 
     346        SpeedShoe.Position = paikka; 
     347        SpeedShoe.Tag = "SpeedBoots"; 
     348        SpeedShoe.Image = SpeedShoeImage; 
     349        Add(SpeedShoe); 
    306350    } 
    307351    void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
     
    350394    } 
    351395 
     396    void Wizard(Vector paikka, double leveys, double korkeus) 
     397    { 
     398        PlatformCharacter Wizard = new PlatformCharacter(leveys, korkeus); 
     399        Wizard.Position = paikka; 
     400        Wizard.Image = Player; 
     401        Wizard.Tag = "Wizard"; 
     402 
     403        FollowerBrain WizardBrain = new FollowerBrain(pelaaja1); 
     404        //WizardBrain.Speed = 100; 
     405        //WizardBrain.FallsOffPlatforms = true; 
     406        //WizardBrain.JumpSpeed = 700; 
     407        //WizardBrain.TriesToJump = true; 
     408 
     409        Wizard.Brain = WizardBrain; 
     410 
     411        Wizard.Weapon = new AssaultRifle(10, 10); 
     412        Wizard.Weapon.Position = new Vector(10,0); 
     413        Wizard.Weapon.AttackSound = WizardZap; 
     414        Wizard.Weapon.Image = WizardrWand; 
     415        //Wizard.Weapon.Image = WizardrWand; Ammuksen kuvaksi 
     416        Add(Wizard); 
     417 
     418        const double ampumisEtaisyys = 10*RUUDUN_KOKO; 
     419 
     420        Timer shootingtimer = new Timer(); 
     421        shootingtimer.Interval = 0.75; 
     422        shootingtimer.Timeout += delegate 
     423        { 
     424            if (Vector.Distance(Wizard.Position, pelaaja1.Position) < ampumisEtaisyys) 
     425            { 
     426                Wizard.Weapon.Shoot(); 
     427            } 
     428        }; 
     429        shootingtimer.Start(); 
     430 
     431    } 
     432 
     433 
    352434    void LisaaNappaimet() 
    353435    { 
     
    357439        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -1.0); 
    358440        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, 1.0); 
    359         Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     441        Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, JumpSpeed); 
    360442 
    361443        Mouse.Listen(MouseButton.Left, ButtonState.Pressed, Lyo, "Pelaaja Lyö", pelaaja1); 
     
    365447 
    366448        ControllerOne.ListenAnalog(AnalogControl.LeftStick, 0.1, LiikutaPelaajaa, "Liikuta pelaajaa tattia pyörittämällä."); 
    367         ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
     449        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, JumpSpeed); 
    368450        ControllerOne.Listen(Button.RightShoulder, ButtonState.Pressed, HeitaPommi, "Pelaaja heittää pommin", pelaaja1); 
    369451        ControllerOne.Listen(Button.LeftShoulder, ButtonState.Pressed, Lyo, "Pelaaja Lyö", pelaaja1); 
Note: See TracChangeset for help on using the changeset viewer.