Changeset 171 for aapo_p


Ignore:
Timestamp:
2009-07-24 13:00:53 (11 years ago)
Author:
aaalalpe
Message:
 
Location:
aapo_p/FysiikkaPeli2
Files:
1 added
11 edited

Legend:

Unmodified
Added
Removed
  • aapo_p/FysiikkaPeli2/Content/obj/x86/Debug/ContentPipeline.xml

    r135 r171  
    99      <Options>None</Options> 
    1010      <Output>C:\MyTemp\aapo_p\FysiikkaPeli2\bin\x86\Debug\Content\enemy1.xnb</Output> 
    11       <Time>2009-07-21T14:20:26.637247+03:00</Time> 
     11      <Time>2009-07-24T11:13:59.6487224+03:00</Time> 
    1212    </Item> 
    1313    <Item> 
     
    3636      <Options>None</Options> 
    3737      <Output>C:\MyTemp\aapo_p\FysiikkaPeli2\bin\x86\Debug\Content\tykkitorni1.xnb</Output> 
    38       <Time>2009-07-22T10:50:19.6560523+03:00</Time> 
     38      <Time>2009-07-24T12:31:36.104744+03:00</Time> 
    3939    </Item> 
    4040    <Item> 
  • aapo_p/FysiikkaPeli2/Peli.cs

    r148 r171  
    2121{ 
    2222    //keskeneräiset: 
    23     //neliöistä luodaan rajat, koodi on pohjalla 
    24     //vaihtoehtoisesti tiilistä tehdään reunat(mieluisa vaihtoehto) 
    25     //laita oma hahmo kuntoon 
     23 
     24 
     25     
    2626    //tornit, ja ampuminen kaikille 
    2727    //päivien vaihtuminen ja vihollisten määrän kasvaminen ja ulkomuodon muuttuminen 
    2828    //mahdollisesti myös pistelaskuri 
    29     //ota selvää miksi nelön luominen ei onnistu???? 
    30     //miksi hahmo1 on ohjaus-aliohjelmissa "null"?????????????????????????????? 
     29    //keksi ammukset 
     30 
    3131 
    3232 
     
    3434    { 
    3535        ValueDisplay rahaNaytto; 
     36        ValueDisplay ElamaNaytto; 
     37 
     38        int tykinHinta = 100; 
    3639 
    3740        PhysicsObject waypoint; 
     
    3942        PhysicsObject waypoint3; 
    4043        PhysicsObject waypoint4; 
     44        PhysicsObject waypoint5; 
     45        PhysicsObject waypoint6; 
     46        PhysicsObject waypoint7; 
     47        PhysicsObject maali; 
     48         
     49 
    4150        PhysicsObject hahmo1; 
    4251 
     
    4554 
    4655        Meter<int> rahaLaskuri; 
     56        Meter<int> ElamaLaskuri; 
    4757 
    4858        ListSelectionWindow menu; 
     
    6373            Controls.Listen(Keys.D, ButtonPosition.Down, oikealle, "oikealle", hahmo1); 
    6474            Controls.Listen(Keys.B, ButtonPosition.Down, ostovalikko, "osta"); 
     75            Controls.Listen(Keys.P, ButtonPosition.Down, koordinaatti, "näytä hahmon koordinaatti"); 
    6576            ShowMouseCursor(true); 
     77        } 
     78        bool koordinaatti(ControlEvent e) 
     79        { 
     80            MessageDisplay.Add(hahmo1.X.ToString()); 
     81            MessageDisplay.Add(hahmo1.Y.ToString()); 
     82            return false; 
    6683        } 
    6784 
     
    126143        { 
    127144            LuoRahaLaskuri(); 
     145            LuoElamaLaskuri(); 
    128146 
    129147            menu = new ListSelectionWindow(this); 
     
    160178        { 
    161179            rahaNaytto.Visible = true; 
     180            ElamaNaytto.Visible = true; 
    162181            menu.Close(); 
    163182 
     
    186205            return false; 
    187206        } 
     207 
    188208        void tarkistaampuminen(Timer sender) 
    189209        { 
     
    192212                foreach (var vihu in viholliset) 
    193213                { 
    194                     if ((ase.Position - vihu.Position).Magnitude < 1000) 
     214                    if ((ase.Position - vihu.Position).Magnitude < 250) 
    195215                    { 
     216                         
     217                        ase.Power.Value = 1000; 
     218                        Angle kulma = Angle.Radians((vihu.Position - ase.Position).Angle); 
    196219                        MessageDisplay.Add("PUM!!"); 
     220                        vihu.TakeDamage(new Damage(20)); 
     221                        ase.Angle = kulma; 
     222                        ase.Owner.Angle = kulma; 
     223                        //ase.Shoot(); // FIXME 
     224                        break; 
    197225                    } 
    198226                } 
     
    200228        } 
    201229 
     230        void luoammukset( ProjectileWeapon ase ) 
     231        { 
     232            CannonBall ammus = new CannonBall(); 
     233            ammus.Shape = Shapes.CreateCircle(50); 
     234            ammus.Damage = new Damage(200); 
     235            ase.Clip = new Clip(ammus); 
     236        } 
     237 
    202238        private void LuoViholliset() 
    203239        { 
     
    205241            waypoint2 = luoWaypoint(Level.Left.ToInt() + 350, 450); 
    206242            waypoint3 = luoWaypoint(Level.Right.ToInt() - 350,  450); 
    207             waypoint4 = luoWaypoint(Level.Right.ToInt() - 500, Level.Bottom.ToInt() + 100); 
     243            waypoint4 = luoWaypoint(230, -550); 
     244            waypoint5 = luoWaypoint(490, -510); 
     245            waypoint6 = luoWaypoint(460, 550); 
     246            waypoint7 = luoWaypoint(Level.Right.ToInt(), Level.Top.ToInt() - 25); 
     247            maali = luoMaali(625, 475); 
    208248 
    209249            int vihollistenMaara = 20; 
     
    215255                addenemy(a); 
    216256            } 
     257        } 
     258        private PhysicsObject luoMaali(int x, int y) 
     259        { 
     260            IShape lm = Shapes.CreateRectangle(50.0, 50.0); 
     261            PhysicsObject luomaali = new PhysicsObject(1, lm); 
     262            luomaali.IgnoresCollisionResponse = true; 
     263            luomaali.X = x; 
     264            luomaali.Y = y; 
     265            luomaali.Visible = false; 
     266            Level.Objects.Add(luomaali); 
     267            return maali; 
    217268        } 
    218269 
     
    236287            Texture2D joku = Content.Load<Texture2D>("enemy1"); 
    237288            vihu.AnimatedTexture = AnimatedTexture.FromTexture2D(joku, 320, false); 
     289            vihu.AnimatedTexture.FPS = 2; 
    238290            Level.Objects.Add(vihu); 
    239291            vihu.X = Level.Left - x; 
     
    246298            AddCollisionHandler(vihu, TultiinWaypointille); 
    247299 
     300            vihu.HitpointsReachedZero += VihuKuoli; 
    248301            viholliset.Add(vihu); 
     302        } 
     303         
     304 
     305        void VihuKuoli(object sender, EventArgs e) 
     306        { 
     307            BattleObject vihu = sender as BattleObject; 
     308 
     309            vihu.Visible = false; 
     310            vihu.Lifetime.IsExpired = true; 
     311            Level.Objects.Remove(vihu); 
     312            viholliset.Remove(vihu); 
     313            MessageDisplay.Add("DEAD"); 
     314            rahaLaskuri.Value += 10; 
     315             
    249316        } 
    250317 
     
    289356                return; 
    290357            } 
    291             /*if (c.Other == waypoint5) 
     358            if (c.Other == waypoint5) 
    292359            { 
    293360                c.Obj.Velocity = new Vector2D(0, 0); 
    294361                Vector2D impulssitaas3 = new Vector2D(0,600); 
    295                 c.Obj.Hit(impulssitaas); 
    296                 return; 
    297             }*/ 
     362                c.Obj.Hit(impulssitaas3); 
     363                return; 
     364            } 
     365            if (c.Other == waypoint6) 
     366            { 
     367                c.Obj.Velocity = new Vector2D(0, 0); 
     368                Vector2D impulssitaas4 = new Vector2D(600, 0); 
     369                c.Obj.Hit(impulssitaas4); 
     370                return; 
     371            } 
     372             
     373            if (c.Other == waypoint7) 
     374            { 
     375                ElamaLaskuri.Value -= 1; 
     376 
     377                if (ElamaLaskuri.Value == 0) 
     378                { 
     379                    MessageDisplay.Add("Game Over"); 
     380                    //aseet.Remove; 
     381                    //viholliset.RemoveAll(); 
     382                    hahmo1.X = Level.Right - 25; 
     383                    hahmo1.Y = 0; 
     384                } 
     385 
     386            } 
     387 
    298388        } 
    299389 
     
    313403        PhysicsObject luotorni(int x, int y) 
    314404        { 
    315             if (rahaLaskuri.Value == 0) 
     405             
     406 
     407            if (rahaLaskuri.Value < tykinHinta) 
    316408            { 
    317409                return null; 
     
    326418            tykkitorni.Y = y; 
    327419            tykkitorni.IgnoresCollisionResponse = true; 
    328             rahaLaskuri.Value -= 100; 
     420            rahaLaskuri.Value -= tykinHinta; 
    329421 
    330422            ProjectileWeapon ase = new ProjectileWeapon(); 
    331423            Level.Objects.Add(ase); 
    332424            ase.Visible = false; 
     425            ase.IgnoresCollisionResponse = true; 
     426            ase.Owner = tykkitorni; 
     427            luoammukset(ase); 
    333428 
    334429            Level.Objects.Attach(tykkitorni, new Vector2D(0, 0), ase, new Vector2D(0, 0)); 
     
    509604            addtile(Level.Right, Level.Bottom + 1300); 
    510605 
     606            addtile(Level.Right - 100, Level.Bottom); 
     607            addtile(Level.Right - 100, Level.Bottom + 100); 
     608            addtile(Level.Right - 100, Level.Bottom + 200); 
     609            addtile(Level.Right - 100, Level.Bottom + 300); 
     610            addtile(Level.Right - 100, Level.Bottom + 400); 
     611            addtile(Level.Right - 100, Level.Bottom + 500); 
     612            addtile(Level.Right - 100, Level.Bottom + 600); 
     613            addtile(Level.Right - 100, Level.Bottom + 700); 
     614            addtile(Level.Right - 100, Level.Bottom + 800); 
     615            addtile(Level.Right - 100, Level.Bottom + 900); 
     616            addtile(Level.Right - 100, Level.Bottom + 1100); 
     617            addtile(Level.Right - 100, Level.Bottom + 1200); 
     618            addtile(Level.Right - 100, Level.Bottom + 1300); 
     619 
    511620 
    512621 
     
    523632            Add(rahaNaytto); 
    524633        } 
    525  
    526  
     634        void LuoElamaLaskuri() 
     635        { 
     636            ElamaLaskuri = new Meter<int>(3, 0, int.MaxValue); 
     637            ElamaNaytto = new ValueDisplay(this); 
     638            ElamaNaytto.BindTo(ElamaLaskuri); 
     639            ElamaNaytto.X = -340; 
     640            ElamaNaytto.Y = -490; 
     641            ElamaNaytto.ValueColor = Color.White; 
     642            ElamaNaytto.Visible = false; 
     643            Add(ElamaNaytto); 
     644            ElamaLaskuri.UpperLimit += new Meter<int>.OnLimitHandler(ElamaLaskuri_UpperLimit); 
     645        } 
     646 
     647        void ElamaLaskuri_UpperLimit(Meter<int> sender) 
     648        { 
     649            //Tähän pitää laittaa menun avaus 
     650            // viholliset pitää pysäyttää ja piilottaa (tai poistaa..?) 
     651        } 
    527652    } 
    528653} 
Note: See TracChangeset for help on using the changeset viewer.