Changeset 4485 for 2013/27/JoonasM


Ignore:
Timestamp:
2013-07-05 12:30:03 (6 years ago)
Author:
joarmuho
Message:

Talletus.

Location:
2013/27/JoonasM/RnGPlatformShooter/RnGPlatformShooter/RnGPlatformShooter
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • 2013/27/JoonasM/RnGPlatformShooter/RnGPlatformShooter/RnGPlatformShooter/RnGPlatformShooter.cs

    r4437 r4485  
    1313    const int RUUDUN_KOKO = 40; 
    1414 
    15     double VanhaTaso = 0; 
    16     int CameraSpeed = 30; 
     15    double vanhaTaso = 0; 
    1716 
    1817    PlatformCharacter pelaaja1; 
    19  
     18    DoubleMeter etenemisVauhtiMittari; 
    2019    Image pelaajanKuva = LoadImage("norsu"); 
    2120    Image tahtiKuva = LoadImage("tahti"); 
     
    3736    public override void Begin() 
    3837    { 
     38        IsFullScreen = true; 
    3939        Label tekstikentta = new Label("RnGPlatformShooter"); 
    4040        tekstikentta.Font = Font.DefaultLarge; 
     
    5353    { 
    5454        ClearAll(); 
     55        etenemisVauhtiMittari = new DoubleMeter(30, 30, double.MaxValue); 
     56        etenemisVauhtiMittari.AddOverTime(190, 60); 
     57        etenemisVauhtiMittari.Changed += delegate 
     58        { 
     59            Camera.Velocity = new Vector(etenemisVauhtiMittari.Value, 0); 
     60        }; 
    5561        Gravity = new Vector(0, -1500); 
    5662 
    5763        Camera.X = 200; 
    58         Camera.Velocity = new Vector(CameraSpeed, 0); 
     64        Camera.Velocity = new Vector(etenemisVauhtiMittari.Value, 0); 
    5965        Camera.ZoomFactor = 1.5; 
    6066 
     
    6571    void LuoKentta() 
    6672    { 
    67         PhysicsObject SolarS = PhysicsObject.CreateStaticObject(64, 64); 
    68         SolarS.X = 790; 
    69         SolarS.Y = 300; 
    70         SolarS.Image = Solar; 
    71         SolarS.IgnoresCollisionResponse = true; 
    72         SolarS.Velocity = new Vector(CameraSpeed, 0); 
    73         Add(SolarS); 
    74         VanhaTaso = 0; 
     73        Widget solarS = new Widget(82, 82); 
     74        solarS.X = 870; 
     75        solarS.Y = 450; 
     76        solarS.Image = Solar; 
     77        Add(solarS); 
     78        vanhaTaso = 0; 
    7579        PhysicsObject StartingPlatform = PhysicsObject.CreateStaticObject(80, 20); 
    7680        StartingPlatform.Y = 100; 
     
    9195            pisteLaskuri.Value += 1; 
    9296 
    93             if (Camera.Velocity.X < 190) 
    94             { 
    95                 Camera.Velocity *= 1.05; 
    96                 SolarS.Velocity *= 1.05; 
    97             } 
    98              
    9997            if (pelaaja1.Y < -400) 
    10098            { 
     
    145143    void LisaaTaso(bool ensimmainenKerta = false) 
    146144    { 
    147         if (RandomGen.NextInt(1, 10) != 1) 
    148         { 
    149             PhysicsObject taso = PhysicsObject.CreateStaticObject(RandomGen.NextInt(62, 82), 20); 
    150             taso.X = RandomGen.NextInt(150, 280) + VanhaTaso; 
    151             taso.Y = RandomGen.NextInt(-200, 75); 
    152             taso.Color = RandomGen.NextColor(); 
    153             taso.Oscillate(Vector.UnitY, RandomGen.NextInt(85, 250), 0.5); 
    154             VanhaTaso = taso.X; 
    155             taso.MakeOneWay(); 
    156             Add(taso); 
    157  
    158             if (ensimmainenKerta == false) 
    159             { 
    160                 if (RandomGen.NextInt(1, 6) == 1) 
     145        if (vanhaTaso < Camera.ScreenToWorld(new Vector(Screen.Right, 0)).X + 50) 
     146        { 
     147            if (RandomGen.NextInt(1, 10) > 2) 
     148            { 
     149                PhysicsObject taso = PhysicsObject.CreateStaticObject(RandomGen.NextInt(62, 82), 20); 
     150                taso.X = RandomGen.NextInt(150, 280) + vanhaTaso; 
     151                taso.Y = RandomGen.NextInt(-180, 75); 
     152                taso.Color = RandomGen.NextColor(); 
     153                taso.Oscillate(Vector.UnitY, RandomGen.NextInt(85, 250), 0.4); 
     154                vanhaTaso = taso.X; 
     155                taso.MakeOneWay(); 
     156                taso.CollisionIgnoreGroup = 1; 
     157                Add(taso); 
     158 
     159                if (ensimmainenKerta == false) 
    161160                { 
    162                     PhysicsObject vihu = PhysicsObject.CreateStaticObject(32, 32); 
    163                     vihu.X = taso.X; 
    164                     vihu.Y = RandomGen.NextInt(0, 10) + taso.Y; 
    165                     vihu.Image = tahtiKuva; 
    166                     vihu.Tag = "vihu"; 
    167                     vihu.AngularVelocity = 10.0; 
    168                     Add(vihu); 
     161 
     162                    if (RandomGen.NextInt(1, 6) == 1) 
     163                    { 
     164                        PhysicsObject vihu = PhysicsObject.CreateStaticObject(32, 32); 
     165                        vihu.X = taso.X; 
     166                        vihu.Y = RandomGen.NextInt(0, 10) + taso.Y; 
     167                        vihu.Image = tahtiKuva; 
     168                        vihu.Tag = "vihu"; 
     169                        vihu.AngularVelocity = 10.0; 
     170                        Add(vihu); 
     171                    } 
     172                    if (RandomGen.NextInt(1, 20) == 1) 
     173                    { 
     174                        PhysicsObject Helichopter = PhysicsObject.CreateStaticObject(32, 32); 
     175                        Helichopter.X = taso.X + RandomGen.NextInt(40, 100); 
     176                        Helichopter.Y = 340; 
     177                        Helichopter.Image = HeliChapter; 
     178                        PlasmaCannon HeliChopterAse = new PlasmaCannon(30, 10); 
     179                        HeliChopterAse.Angle += Angle.FromDegrees(RandomGen.NextInt(-125, -25)); 
     180                        Timer Asetimer = new Timer(); 
     181                        Asetimer.Interval = 1; 
     182                        Asetimer.Timeout += delegate 
     183                        { 
     184                            PhysicsObject HeliAmmus = HeliChopterAse.Shoot(); 
     185                            HeliAmmus.Tag = "vihu"; 
     186                            HeliAmmus.LifetimeLeft = TimeSpan.FromSeconds(0.8); 
     187                            AddCollisionHandler(HeliAmmus, CollisionHandler.DestroyObject); 
     188                        }; 
     189                        Asetimer.Start(); 
     190                        Helichopter.Add(HeliChopterAse); 
     191                        Helichopter.IgnoresCollisionResponse = true; 
     192                        Helichopter.Tag = "HeliTag"; 
     193                        Add(Helichopter); 
     194 
     195                        Helichopter.Destroyed += Asetimer.Stop; 
     196                        Helichopter.Destroyed += HeliChopterAse.Destroy; 
     197                    } 
     198                    if (RandomGen.NextInt(1, 10) == 1) 
     199                    { 
     200                        PhysicsObject LaavaPallo = new PhysicsObject(32, 32, Shape.Circle); 
     201                        LaavaPallo.X = pelaaja1.X; 
     202                        LaavaPallo.Y = Level.Bottom; 
     203                        LaavaPallo.Image = FireLava; 
     204                        LaavaPallo.Tag = "vihu"; 
     205                        LaavaPallo.IgnoresCollisionResponse = true; 
     206                        Add(LaavaPallo); 
     207                        LaavaPallo.Hit(new Vector(RandomGen.NextInt(-100, 400), RandomGen.NextInt(800, 1600))); 
     208                    } 
     209 
     210                    if (RandomGen.NextInt(1, 15) == 1) 
     211                    { 
     212                        PhysicsObject Pigeon = PhysicsObject.CreateStaticObject(49, 35); 
     213                        Pigeon.X = Camera.ScreenToWorld(new Vector(Screen.Left, 0)).X; 
     214                        Pigeon.Y = pelaaja1.Y + 50; 
     215                        Pigeon.LifetimeLeft = TimeSpan.FromSeconds(5); 
     216                        Pigeon.Image = Lintu; 
     217                        Pigeon.IgnoresCollisionResponse = true; 
     218                        Pigeon.Tag = "vihu"; 
     219                        Pigeon.Velocity = new Vector(500, 0); 
     220                        Add(Pigeon); 
     221                    } 
    169222                } 
    170                 if (RandomGen.NextInt(1, 20) == 1) 
     223 
     224                if (RandomGen.NextInt(1, 3) == 1) 
    171225                { 
    172                     PhysicsObject Helichopter = PhysicsObject.CreateStaticObject(32, 32); 
    173                     Helichopter.X = taso.X + RandomGen.NextInt(40, 100); 
    174                     Helichopter.Y = 340; 
    175                     Helichopter.Image = HeliChapter; 
    176                     PlasmaCannon HeliChopterAse = new PlasmaCannon(30, 10); 
    177                     HeliChopterAse.Angle += Angle.FromDegrees(RandomGen.NextInt(-125, -25)); 
    178                     Timer Asetimer = new Timer(); 
    179                     Asetimer.Interval = 1; 
    180                     Asetimer.Timeout += delegate 
    181                     { 
    182                         PhysicsObject HeliAmmus = HeliChopterAse.Shoot(); 
    183                         HeliAmmus.Tag = "vihu"; 
    184                         HeliAmmus.LifetimeLeft = TimeSpan.FromSeconds(0.8); 
    185                         AddCollisionHandler(HeliAmmus, CollisionHandler.DestroyObject); 
    186                     }; 
    187                     Asetimer.Start(); 
    188                     Helichopter.Add(HeliChopterAse); 
    189                     Helichopter.IgnoresCollisionResponse = true; 
    190                     Helichopter.Tag = "HeliTag"; 
    191                     Add(Helichopter); 
    192  
    193                     Helichopter.Destroyed += Asetimer.Stop; 
    194                     Helichopter.Destroyed += HeliChopterAse.Destroy; 
     226                    PhysicsObject wumpaf = PhysicsObject.CreateStaticObject(32, 32); 
     227                    wumpaf.X = (taso.X + RandomGen.NextInt(50, 100)); 
     228                    wumpaf.Y = taso.Y + RandomGen.NextInt(50, 200); 
     229                    wumpaf.Image = WumpaFruit; 
     230                    wumpaf.Tag = "wumpa"; 
     231                    wumpaf.IgnoresCollisionResponse = true; 
     232                    Add(wumpaf); 
    195233                } 
    196                 if (RandomGen.NextInt(1, 10) == 1) 
     234 
     235                if (RandomGen.NextInt(1, 25) == 1) 
    197236                { 
    198                     PhysicsObject LaavaPallo = new PhysicsObject(32, 32, Shape.Circle); 
    199                     LaavaPallo.X = pelaaja1.X; 
    200                     LaavaPallo.Y = Level.Bottom; 
    201                     LaavaPallo.Image = FireLava; 
    202                     LaavaPallo.Tag = "vihu"; 
    203                     LaavaPallo.IgnoresCollisionResponse = true; 
    204                     Add(LaavaPallo); 
    205                     LaavaPallo.Hit(new Vector(RandomGen.NextInt(-100,400), RandomGen.NextInt(800,1600))); 
     237                    PhysicsObject Health = PhysicsObject.CreateStaticObject(32, 32); 
     238                    Health.X = (taso.X + RandomGen.NextInt(50, 100)); 
     239                    Health.Y = taso.Y + RandomGen.NextInt(50, 200); 
     240                    Health.IgnoresCollisionResponse = true; 
     241                    Health.Image = Sydan; 
     242                    Health.Tag = "Heal"; 
     243                    Add(Health); 
    206244                } 
    207  
    208                 if (RandomGen.NextInt(1, 15) == 1) 
    209                 { 
    210                     PhysicsObject Pigeon = PhysicsObject.CreateStaticObject(49, 35); 
    211                     Pigeon.X = Camera.ScreenToWorld(new Vector(Screen.Left, 0)).X; 
    212                     Pigeon.Y = pelaaja1.Y + 50; 
    213                     Pigeon.LifetimeLeft = TimeSpan.FromSeconds(5); 
    214                     Pigeon.Image = Lintu; 
    215                     Pigeon.IgnoresCollisionResponse = true; 
    216                     Pigeon.Tag = "vihu"; 
    217                     Pigeon.Velocity = new Vector(500, 0); 
    218                     Add(Pigeon); 
    219                 } 
    220             } 
    221  
    222             if (RandomGen.NextInt(1, 3) == 1) 
    223             { 
    224                 PhysicsObject wumpaf = PhysicsObject.CreateStaticObject(32, 32); 
    225                 wumpaf.X = (taso.X + RandomGen.NextInt(50, 100)); 
    226                 wumpaf.Y = taso.Y + RandomGen.NextInt(50, 200); 
    227                 wumpaf.Image = WumpaFruit; 
    228                 wumpaf.Tag = "wumpa"; 
    229                 wumpaf.IgnoresCollisionResponse = true; 
    230                 Add(wumpaf); 
    231             } 
    232  
    233             if (RandomGen.NextInt(1, 25) == 1) 
    234             { 
    235                 PhysicsObject Health = PhysicsObject.CreateStaticObject(32, 32); 
    236                 Health.X = (taso.X + RandomGen.NextInt(50, 100)); 
    237                 Health.Y = taso.Y + RandomGen.NextInt(50, 200); 
    238                 Health.IgnoresCollisionResponse = true; 
    239                 Health.Image = Sydan; 
    240                 Health.Tag = "Heal"; 
    241                 Add(Health); 
    242             } 
    243  
     245            } 
     246 
     247            else if (RandomGen.NextInt(1, 7) == 1) 
     248            { 
     249                Boost boost = new Boost(64, 42, this.etenemisVauhtiMittari); 
     250                boost.LifetimeLeft = TimeSpan.FromSeconds(15.0); 
     251                boost.X = RandomGen.NextInt(50, 100) + vanhaTaso; 
     252                boost.Y = RandomGen.NextInt(-200, 75); 
     253                boost.Color = Color.Green; 
     254                boost.Velocity = new Vector(etenemisVauhtiMittari.Value, 0); 
     255                boost.CollisionIgnoreGroup = 1; 
     256                vanhaTaso = boost.X; 
     257                Add(boost); 
     258            } 
     259 
     260            else 
     261            { 
     262                PhysicsObject TuhoutuvaTaso = PhysicsObject.CreateStaticObject(82, 20); 
     263                TuhoutuvaTaso.X = RandomGen.NextInt(150, 325) + vanhaTaso; 
     264                TuhoutuvaTaso.Y = RandomGen.NextInt(-200, 75); 
     265                TuhoutuvaTaso.Color = Color.Red; 
     266                TuhoutuvaTaso.Oscillate(Vector.UnitY, RandomGen.NextInt(50, 200), 0.5); 
     267                vanhaTaso = TuhoutuvaTaso.X; 
     268                TuhoutuvaTaso.Tag = "TTaso"; 
     269                TuhoutuvaTaso.CollisionIgnoreGroup = 1; 
     270                Add(TuhoutuvaTaso); 
     271            } 
    244272        } 
    245         else 
    246         { 
    247             PhysicsObject TuhoutuvaTaso = PhysicsObject.CreateStaticObject(82, 20); 
    248             TuhoutuvaTaso.X = RandomGen.NextInt(150, 325) + VanhaTaso; 
    249             TuhoutuvaTaso.Y = RandomGen.NextInt(-200, 75); 
    250             TuhoutuvaTaso.Color = Color.Red; 
    251             TuhoutuvaTaso.Oscillate(Vector.UnitY, RandomGen.NextInt(50, 200), 0.5); 
    252             VanhaTaso = TuhoutuvaTaso.X; 
    253             TuhoutuvaTaso.Tag = "TTaso"; 
    254             Add(TuhoutuvaTaso); 
    255         } 
     273 
    256274    } 
    257275 
  • 2013/27/JoonasM/RnGPlatformShooter/RnGPlatformShooter/RnGPlatformShooter/RnGPlatformShooter.csproj

    r4343 r4485  
    111111  </ItemGroup> 
    112112  <ItemGroup> 
     113    <Compile Include="Boost.cs" /> 
    113114    <Compile Include="Ohjelma.cs" /> 
    114115    <Compile Include="RnGPlatformShooter.cs" /> 
Note: See TracChangeset for help on using the changeset viewer.