Changeset 113 for lassi_h


Ignore:
Timestamp:
2009-07-22 15:02:17 (10 years ago)
Author:
lamahama
Message:
 
Location:
lassi_h/Tankkipeli
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • lassi_h/Tankkipeli/Content/Content.contentproj

    r62 r113  
    1 <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> 
     1<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> 
    22  <PropertyGroup> 
    33    <ProjectGuid>48d4c49e-7c55-4053-9a3a-797f6a459a37</ProjectGuid> 
     
    2828    <Reference Include="Microsoft.Xna.Framework.Content.Pipeline.XImporter, Version=3.1.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d" /> 
    2929  </ItemGroup> 
     30  <ItemGroup> 
     31    <Compile Include="SpriteFont1.spritefont"> 
     32      <Name>SpriteFont1</Name> 
     33      <Importer>FontDescriptionImporter</Importer> 
     34      <Processor>FontDescriptionProcessor</Processor> 
     35    </Compile> 
     36  </ItemGroup> 
    3037  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    3138  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
  • lassi_h/Tankkipeli/Peli.cs

    r88 r113  
    2121    public class Peli : PhysicsGame 
    2222    { 
    23          
    24         public Tank tankki; 
    25         public Tank tankki2; 
    26         public BarGauge g1; 
    27         public BarGauge g2; 
    28         public BarGauge h1; 
    29         public BarGauge h2; 
    30         public byte JetPackON1; 
    31         public byte JetPackON2; 
    32         public int Weapon1 = 0; 
    33         public int Weapon2 = 0; 
    34         public List<CannonBall> Aseet; 
    35          
     23 
     24        Tank tankki; 
     25        Tank tankki2; 
     26        BarGauge g1; 
     27        BarGauge g2; 
     28        BarGauge h1; 
     29        BarGauge h2; 
     30        byte JetPackON1; 
     31        byte JetPackON2; 
     32        int Weapon1 = 0; 
     33        int Weapon2 = 0; 
     34        List<CannonBall> Aseet; 
     35        List<String> Aseidennimet; 
     36        List<double> AseenTulinopeus; 
     37        TextDisplay Reloading1; 
     38        TextDisplay Reloading2; 
     39        TextDisplay Ase1; 
     40        TextDisplay Ase2; 
     41        TextDisplay Winner1; 
     42        TextDisplay Winner2; 
    3643        protected override void LoadContent() 
    3744        { 
     
    4249            tankki2 = new Tank(this, "tankki2"); 
    4350            Level.Objects.Add(tankki2); 
     51 
    4452            // Luodaan maasto 
    4553            Level.CreateGround(10, 50, 20, Color.LightGreen); 
     
    4957            g1.Angle = Angle.Degrees(270); 
    5058            g1.X = 300; 
    51             g1.Y = Level.Bottom + 10; 
     59            g1.Y = Level.Top - 10; 
     60            g1.Width = 20; 
    5261            g1.Max = 15000.0; 
    5362            g1.Height = Level.Right - 100; 
     
    5665            g2.Angle = Angle.Degrees(90); 
    5766            g2.X = -300; 
    58             g2.Y = Level.Bottom + 10; 
     67            g2.Width = 20; 
     68            g2.Y = Level.Top - 10; 
    5969            g2.Max = 15000.0; 
    6070            g2.Height = Level.Right - 100; 
     
    6474            h1.Angle = Angle.Degrees(270); 
    6575            h1.X = 300; 
    66             h1.Y = Level.Bottom + 20; 
     76            h1.Y = Level.Top - 30; 
    6777            h1.Max = 500.0; 
     78            h1.Width = 20; 
    6879            h1.Height = Level.Right - 100; 
    6980            h1.ValueColor = new Color(0, 255, 0); 
    7081            Add(h1); 
    7182 
     83 
     84 
    7285            h2 = new BarGauge(this); 
    7386            h2.Angle = Angle.Degrees(90); 
    7487            h2.X = -300; 
    75             h2.Y = Level.Bottom + 20; 
     88            h2.Y = Level.Top - 30; 
    7689            h2.Max = 500.0; 
     90            h2.Width = 20; 
    7791            h2.Height = Level.Right - 100; 
    7892            h2.ValueColor = new Color(0, 255, 0); 
    7993            Add(h2); 
    80  
     94            Aseidennimet = new List<String>(); 
    8195            Aseet = new List<CannonBall>(); 
     96            AseenTulinopeus = new List<double>(); 
     97 
     98            h1.BindTo(tankki.HitPoints); 
     99            h2.BindTo(tankki2.HitPoints); 
     100 
     101 
     102 
     103 
    82104 
    83105            CannonBall panos = new CannonBall(); 
    84             panos.Shape = Shapes.CreateCircle(5.0); 
    85             panos.Damage = new Damage(5); 
    86             panos.ClusterType = new ClusterCannonball(0); 
    87              
    88             panos.NumClusters = 2; 
    89             panos.ClusterArc = 10; 
     106            panos.Shape = Shapes.CreateRectangle(20.0, 5.0); 
     107            panos.Damage = new Damage(100); 
     108            panos.ExplodeCondition = Projectile.IsBattleObject; 
     109            panos.Explosion.Force = 1000; 
    90110            Aseet.Add(panos); 
    91  
    92              
     111            Aseidennimet.Add("Mine"); 
     112            AseenTulinopeus.Add(0.2); 
    93113 
    94114            CannonBall panos2 = new CannonBall(); 
     
    96116            panos2.Damage = new Damage(10); 
    97117            Aseet.Add(panos2); 
     118            Aseidennimet.Add("Cannon"); 
     119            AseenTulinopeus.Add(1); 
     120 
    98121 
    99122            CannonBall panos3 = new CannonBall(); 
     
    101124            panos3.Damage = new Damage(1); 
    102125            panos3.ClusterType = new ClusterCannonball(1); 
    103             panos3.Explosion.Force = 10000; 
    104             panos3.NumClusters = 5; 
     126            panos3.Explosion.Force = 1000; 
     127            panos3.NumClusters = 2; 
    105128            panos3.ClusterArc = 2; 
     129            AseenTulinopeus.Add(0.1); 
     130 
    106131            Aseet.Add(panos3); 
    107  
    108             tankki.Cannon.Clip = new Clip(panos); 
     132            Aseidennimet.Add("SuperCluster"); 
     133 
     134            tankki.Cannon.FireRate = 0.1; 
     135            tankki.Cannon.Clip = new Clip(panos3); 
     136 
     137            tankki2.Cannon.FireRate = 0.1; 
     138            tankki2.Cannon.Clip = new Clip(panos3); 
    109139 
    110140            // Luodaan reunat 
     
    118148            tankki2.Y = Level.Bottom + 100; 
    119149            tankki2.X = Level.Left + 100; 
    120              
     150 
    121151            // Asetetaan painovoima 
    122152            Gravity = new Vector2D(0, -200); 
     153            Ase1 = new TextDisplay(this); 
     154            Ase1.Text = "SuperCluster"; 
     155            Ase1.X = 300; 
     156            Ase1.Y = Level.Bottom + 15; 
     157            Add(Ase1); 
     158            Ase2 = new TextDisplay(this); 
     159            Ase2.Text = "SuperCluster"; 
     160            Ase2.X = -300; 
     161            Ase2.Y = Level.Bottom + 15; 
     162            Add(Ase2); 
     163 
     164            Reloading1 = new TextDisplay(this); 
     165            Reloading1.Text = "Reloading"; 
     166            Reloading1.TextColor = new Color(0, 0, 0); 
     167            Reloading1.Visible = false; 
     168            Reloading1.X = 300; 
     169            Reloading1.Y = Level.Top - 10; 
     170            Add(Reloading1); 
     171 
     172 
     173 
     174            SpriteFont Fontti = Content.Load<SpriteFont>("SpriteFont1"); 
     175            Winner1 = new TextDisplay(this,Fontti); 
     176            Winner1.Text = "Winner: Player1"; 
     177 
     178            Winner1.Visible = false; 
     179            Add(Winner1); 
     180 
     181            Winner2 = new TextDisplay(this); 
     182            Winner2.Text = "Winner: Player2"; 
     183            Winner2.Visible = false; 
     184            Add(Winner2); 
     185 
     186            Reloading2 = new TextDisplay(this); 
     187            Reloading2.Text = "Reloading"; 
     188            Reloading2.Visible = false; 
     189            Reloading2.X = -300; 
     190            Reloading2.Y = Level.Top - 10; 
     191            Add(Reloading2); 
    123192 
    124193            // Asetetaan näppäimet 
    125             Controls.Listen(Keys.Left, ButtonPosition.Down, aja1, "Liiku vasemmalle", tankki, Tank.MaxTorque*4); 
    126             Controls.Listen(Keys.Right, ButtonPosition.Down, aja1, "Liiku oikealle", tankki, -Tank.MaxTorque*4); 
     194            Controls.Listen(Keys.Left, ButtonPosition.Down, aja1, "Liiku vasemmalle", tankki, Tank.MaxTorque * 4); 
     195            Controls.Listen(Keys.Right, ButtonPosition.Down, aja1, "Liiku oikealle", tankki, -Tank.MaxTorque * 4); 
    127196            Controls.Listen(Keys.Up, ButtonPosition.Down, kaannaPutkea, "Käännä putkea vastapäivään", tankki, Angle.Degrees(1)); 
    128197            Controls.Listen(Keys.Down, ButtonPosition.Down, kaannaPutkea, "Käännä putkea myötäpäivään", tankki, Angle.Degrees(-1)); 
     
    145214            AddCollisionHandler(tankki, JetPackOFF1); 
    146215            AddCollisionHandler(tankki2, JetPackOFF2); 
     216            tankki2.Hull.HitpointsReachedZero += new EventHandler(Hull_HitpointsReachedZero2); 
     217 
     218            tankki.Hull.HitpointsReachedZero += new EventHandler(Hull_HitpointsReachedZero); 
     219        } 
     220 
     221        void Hull_HitpointsReachedZero(object sender, EventArgs e) 
     222        { 
     223            Winner2.Visible = true; 
     224 
     225        } 
     226 
     227        void Hull_HitpointsReachedZero2(object sender, EventArgs e) 
     228        { 
     229 
     230 
     231            Winner1.Visible = true; 
     232 
    147233        } 
    148234 
     
    155241            } 
    156242            tankki.Cannon.Clip = new Clip(Aseet[Weapon1]); 
    157             return false; 
    158         } 
    159  
     243            tankki.Cannon.FireRate = AseenTulinopeus[Weapon1]; 
     244            Ase1.Text = Aseidennimet[Weapon1]; 
     245            return false; 
     246        } 
    160247        bool BeforeWeapon1(ControlEvent e) 
    161248        { 
     
    165252                Weapon1 = 2; 
    166253            } 
    167              tankki.Cannon.Clip = new Clip(Aseet[Weapon1]); 
     254            tankki.Cannon.Clip = new Clip(Aseet[Weapon1]); 
     255            tankki.Cannon.FireRate = AseenTulinopeus[Weapon1]; 
     256            Ase1.Text = Aseidennimet[Weapon1]; 
    168257            return false; 
    169258        } 
     
    176265            } 
    177266            tankki2.Cannon.Clip = new Clip(Aseet[Weapon2]); 
    178             return false; 
    179         } 
    180  
     267            tankki.Cannon.FireRate = AseenTulinopeus[Weapon2]; 
     268            Ase2.Text = Aseidennimet[Weapon2]; 
     269            return false; 
     270        } 
    181271        bool BeforeWeapon2(ControlEvent e) 
    182272        { 
     
    187277            } 
    188278            tankki2.Cannon.Clip = new Clip(Aseet[Weapon2]); 
     279            tankki.Cannon.FireRate = AseenTulinopeus[Weapon2]; 
     280            Ase2.Text = Aseidennimet[Weapon2]; 
    189281            return false; 
    190282        } 
     
    196288 
    197289            // Kiihdytetään tankin vauhtia 
    198              
    199              
     290 
     291 
    200292            if (JetPackON1 == 0) 
    201             { 
    202                 t.Accelerate(vaanto); 
    203             } 
    204             else 
    205             { 
    206                 if (vaanto > 0.0) 
    207                 { 
    208                   t.Hull.Body.ApplyTorque(1000000);  
    209                 } 
    210                 else 
    211                 { 
    212                   t.Hull.Body.ApplyTorque(-1000000);  
    213                 } 
    214                  
    215             } 
    216  
    217              
    218  
    219             return false; 
    220         } 
    221         bool aja2(ControlEvent e) 
    222         { 
    223             Tank t = e.Parameter0 as Tank; 
    224  
    225             double vaanto = e.Parameter1.ToDouble(); 
    226  
    227             // Kiihdytetään tankin vauhtia 
    228  
    229  
    230             if (JetPackON2 == 0) 
    231293            { 
    232294                t.Accelerate(vaanto); 
     
    249311            return false; 
    250312        } 
     313        bool aja2(ControlEvent e) 
     314        { 
     315            Tank t = e.Parameter0 as Tank; 
     316 
     317            double vaanto = e.Parameter1.ToDouble(); 
     318 
     319            // Kiihdytetään tankin vauhtia 
     320 
     321 
     322            if (JetPackON2 == 0) 
     323            { 
     324                t.Accelerate(vaanto); 
     325            } 
     326            else 
     327            { 
     328                if (vaanto > 0.0) 
     329                { 
     330                    t.Hull.Body.ApplyTorque(1000000); 
     331                } 
     332                else 
     333                { 
     334                    t.Hull.Body.ApplyTorque(-1000000); 
     335                } 
     336 
     337            } 
     338 
     339 
     340 
     341            return false; 
     342        } 
    251343        bool lisaatehoja(ControlEvent e) 
    252344        { 
     
    287379            Angle kulma = t.Hull.Angle + Angle.Degrees(90); 
    288380 
    289             t.Hit(Vector2D.FromLengthAndAngle(1000,kulma.Radian)); 
     381            t.Hit(Vector2D.FromLengthAndAngle(1000, kulma.Radian)); 
    290382            JetPackON1 = 1; 
    291383            return false; 
     
    302394        bool ammupanos(ControlEvent e) 
    303395        { 
    304             Tank t = e.Parameter0 as Tank;      
     396            Tank t = e.Parameter0 as Tank; 
    305397            t.Shoot(); 
    306398            t.Cannon.Power.Value = 0; 
     
    310402        protected override void Update(GameTime gameTime) 
    311403        { 
    312             g1.BindTo(tankki.Cannon.Power); 
    313             g2.BindTo(tankki2.Cannon.Power); 
    314             h1.BindTo(tankki.HitPoints); 
    315             h2.BindTo(tankki2.HitPoints);  
     404            if (tankki.Cannon.CanUse) 
     405            { 
     406                g1.IntValue = tankki.Cannon.Power.ToInt(); 
     407                Reloading1.Visible = false; 
     408            } 
     409            else 
     410            { 
     411                g1.IntValue = 0; 
     412                Reloading1.Visible = true; 
     413            } 
     414            if (tankki2.Cannon.CanUse) 
     415            { 
     416                g2.IntValue = tankki2.Cannon.Power.ToInt(); 
     417                Reloading2.Visible = false; 
     418            } 
     419            else 
     420            { 
     421                g2.IntValue = 0; 
     422                Reloading2.Visible = true; 
     423            } 
    316424            base.Update(gameTime); 
    317425        } 
Note: See TracChangeset for help on using the changeset viewer.