Changeset 1190 for 2010/27


Ignore:
Timestamp:
2010-07-08 14:55:53 (9 years ago)
Author:
frjolehm
Message:

Viimeistelin yhden mapin ja lisäsin lataus palkin.

Location:
2010/27/frjolehm
Files:
16 added
2 edited

Legend:

Unmodified
Added
Removed
  • 2010/27/frjolehm/The King of the island/The King of the island/Content/Content.contentproj

    r1178 r1190  
    9191    </Compile> 
    9292  </ItemGroup> 
     93  <ItemGroup> 
     94    <Compile Include="Lataa.png"> 
     95      <Name>Lataa</Name> 
     96      <Importer>TextureImporter</Importer> 
     97      <Processor>TextureProcessor</Processor> 
     98    </Compile> 
     99  </ItemGroup> 
    93100</Project> 
  • 2010/27/frjolehm/The King of the island/The King of the island/Peli.cs

    r1178 r1190  
    2323    Boolean Pelaajan1JuoksuAskel; 
    2424    Boolean Pelaajan2JuoksuAskel; 
    25     const double Juoksunopeus = 100;//20 
     25    const double Juoksunopeus = 20;//20 
    2626    const double Juoksunkiihtyvyys = 2.5; 
    2727    double Pelaajan1Juoksunopeus = Juoksunopeus; 
     
    3333    DoubleMeter alaspainLaskuri; 
    3434 
     35    ImageDisplay lataus; 
     36 
     37    int VoitonValinta; 
     38 
     39 
    3540    protected override void Begin() 
    3641    { 
     
    3843    } 
    3944 
     45    void LataaLatausKuva()  
     46    { 
     47        lataus = new ImageDisplay(); 
     48        lataus.Image = LoadImage("Lataa"); 
     49        lataus.IsVisible = false; 
     50        Add(lataus); 
     51    } 
     52 
     53 
    4054    void Aloitapikkupeli() 
    4155    { 
     56        VoitonValinta = 0; 
     57        peliMuoto++; 
     58        ClearAll(); 
     59        LataaLatausKuva(); 
     60 
    4261        //Kuoleman juoksu 
    4362        if (peliMuoto == 1) 
    4463        { 
     64            Camera.Reset(); 
     65 
    4566            LuoKenttä(800,700); 
    4667            Camera.ZoomToLevel(); 
     
    5071            pelaaja1 = LuoUkko(Level.Left + 30,Level.Bottom + 75,85, 75,"Tipu1"); 
    5172            pelaaja2 = LuoUkko(Level.Left+ 30,Level.Bottom + 200,85, 75,"Tipu2"); 
     73 
    5274            LuoAikaLaskuri(); 
    5375        } 
    5476        else if (peliMuoto == 2) 
    5577        { 
     78         
     79            Camera.Reset(); 
     80 
    5681            LuoKenttä(30000, 1000); 
    5782            LuoTausta(30000, Level.Bottom+75); 
    5883 
    59             pelaaja1 = LuoUkko(Level.Left + 150, Level.Bottom + 75, 85, 75, "Tipu1"); 
    60             pelaaja2 = LuoUkko(Level.Left + 10, Level.Bottom + 75, 85, 75, "Tipu2"); 
     84            lisääTaso(Level.Left, Level.Bottom + 400, 30000, 30); 
     85            LuoTausta(30000, Level.Bottom + 475); 
     86 
     87            pelaaja1 = LuoUkko(Level.Left + 10, Level.Bottom + 75, 85, 75, "Tipu1"); 
     88            pelaaja2 = LuoUkko(Level.Left + 10, Level.Bottom + 475, 85, 75, "Tipu2"); 
    6189            Pelaajan1Juoksunopeus = 5000; 
    6290            Pelaajan2Juoksunopeus = 5000; 
     
    6593 
    6694            LuoElämät(); 
     95 
     96            LuoAikaLaskuri(); 
     97         
     98        } 
     99        else if (peliMuoto == 3) 
     100        { 
     101            Camera.Reset(); 
     102 
     103            LuoKenttä(800, 700); 
     104            Camera.ZoomToLevel(); 
     105            Camera.Y = 0; 
     106 
     107            LuoElämät(); 
     108 
     109            pelaaja1 = LuoUkko(Level.Left + 100, Level.Bottom + 75, 85, 75, "Tipu1"); 
     110            pelaaja2 = LuoUkko(Level.Left + 30, Level.Bottom + 75, 85, 75, "Tipu2"); 
     111 
     112            Gravity = new Vector(0, -600); 
     113 
    67114            LuoAikaLaskuri(); 
    68115        } 
     
    81128        PhysicsObject ukko = new PhysicsObject(w,h,Shapes.Rectangle); 
    82129        ukko.Image = LoadImage(nimi); 
     130        AddCollisionHandler(ukko, Voitto); 
    83131        ukko.Restitution = 0; 
    84132        ukko.X = x; 
     
    107155    } 
    108156 
     157    void lisääTaso(double x, double y, double w, double h) 
     158    { 
     159        PhysicsObject taso = PhysicsObject.CreateStaticObject(w, h); 
     160        taso.Color = Color.Green; 
     161        taso.X = x; 
     162        taso.Y = y; 
     163        Add(taso); 
     164    } 
     165 
    109166    void HyppyOhjaimet() 
    110167    { 
    111168        Keyboard.Listen(Key.W, ButtonState.Pressed, LuoHyppy, "Pelaaja1 hyppää", pelaaja1, false); 
    112         Keyboard.Listen(Key.Up, ButtonState.Pressed, LuoHyppy, "Pelaaja1 hyppää", pelaaja2, true); 
     169        Keyboard.Listen(Key.Up, ButtonState.Pressed, LuoHyppy, "Pelaaja2 hyppää", pelaaja2, true); 
    113170    } 
    114171 
     
    183240    } 
    184241 
     242    void VäistelyOhjaimet()  
     243    { 
     244        Keyboard.Listen(Key.A, ButtonState.Down, pelaaja1.Walk, "Liiku vasemmalle", -(Juoksunopeus*6)); 
     245        Keyboard.Listen(Key.D, ButtonState.Down, pelaaja1.Walk, "Liiku oikealle", Juoksunopeus*6); 
     246        Keyboard.Listen(Key.W, ButtonState.Pressed, LuoHyppy, "Hyppää", pelaaja1, false); 
     247 
     248        Keyboard.Listen(Key.Left, ButtonState.Down, pelaaja2.Walk, "Liiku vasemmalle", -(Juoksunopeus*6)); 
     249        Keyboard.Listen(Key.Right, ButtonState.Down, pelaaja2.Walk, "Liiku oikealle", Juoksunopeus*6); 
     250        Keyboard.Listen(Key.Up, ButtonState.Pressed, LuoHyppy, "Hyppää", pelaaja2, true); 
     251    } 
     252 
     253    void LuoVoittaja(PlatformCharacter voittaja, PlatformCharacter hävijäjä) 
     254    { 
     255        ClearControls(); 
     256 
     257        Gravity = new Vector(0, 0); 
     258        voittaja.IgnoresCollisionResponse = true; 
     259        hävijäjä.IgnoresCollisionResponse = true; 
     260 
     261        Keyboard.Listen(Key.Enter, ButtonState.Pressed, LuoLataus, "Jatka"); 
     262        voittaja.Width = 170; 
     263        voittaja.Height = 150; 
     264 
     265 
     266    } 
     267    void LuoLataus() 
     268    { 
     269        Timer ajastin = new Timer(); 
     270        ajastin.Interval = 1; 
     271        ajastin.Trigger += AjastinLoppu; 
     272 
     273        lataus.IsVisible = true; 
     274 
     275        Add(ajastin); 
     276        ajastin.Start(); 
     277    } 
     278 
     279    void AjastinLoppu(Timer sender) 
     280    { 
     281         
     282        Aloitapikkupeli(); 
     283    } 
     284 
    185285    void Voitto(PhysicsObject maali, PhysicsObject kohde)  
    186     {  
    187         if(kohde == pelaaja1) 
    188         { 
    189             if (peliMuoto == 1) 
    190             { 
    191                 ClearAll(); 
    192                 Pelaajan2joukkue--; 
    193                 peliMuoto++; 
    194                 Aloitapikkupeli(); 
    195             } 
    196             else if (peliMuoto == 2) 
    197             { 
    198                 ClearAll(); 
    199                 Pelaajan1joukkue--; 
    200                 peliMuoto++; 
    201                 Aloitapikkupeli(); 
    202             } 
    203         } 
    204         else if (kohde == pelaaja2)  
    205         { 
    206             if (peliMuoto == 1) 
    207             { 
    208                 ClearAll(); 
    209                 Pelaajan1joukkue--; 
    210                 peliMuoto++; 
    211                 Aloitapikkupeli(); 
    212             } 
    213             else if (peliMuoto == 2) 
    214             { 
    215                 ClearAll(); 
    216                 Pelaajan2joukkue--; 
    217                 peliMuoto++; 
    218                 Aloitapikkupeli(); 
     286    { 
     287        if (VoitonValinta == 0) 
     288        { 
     289            if (kohde == pelaaja1) 
     290            { 
     291                VoitonValinta = 1; 
     292                if (peliMuoto == 1) 
     293                { 
     294                    Pelaajan2joukkue--; 
     295                    LuoVoittaja(pelaaja1, pelaaja2); 
     296                } 
     297                else if (peliMuoto == 2) 
     298                { 
     299                    Pelaajan1joukkue--; 
     300                    LuoVoittaja(pelaaja2, pelaaja1); 
     301                } 
     302            } 
     303            else if (kohde == pelaaja2) 
     304            { 
     305                VoitonValinta = 1; 
     306                if (peliMuoto == 1) 
     307                { 
     308                    Pelaajan1joukkue--; 
     309                    LuoVoittaja(pelaaja2, pelaaja1); 
     310                } 
     311                else if (peliMuoto == 2) 
     312                { 
     313                    Pelaajan2joukkue--; 
     314                    LuoVoittaja(pelaaja1, pelaaja2); 
     315                } 
    219316            } 
    220317        } 
     
    283380            { 
    284381                HyppyOhjaimet(); 
     382            }else if (peliMuoto == 3) 
     383            { 
     384                VäistelyOhjaimet(); 
    285385            } 
    286386             
     
    304404        } 
    305405    } 
    306  
    307406 
    308407    void Liikuta(PlatformCharacter ukko, double nopeus) 
     
    330429            pelaaja1.Push(new Vector(Pelaajan1Juoksunopeus, 0)); 
    331430            pelaaja2.Push(new Vector(Pelaajan2Juoksunopeus, 0)); 
    332             Camera.X = (pelaaja1.X + pelaaja2.X) / 2; 
     431            if (pelaaja1.X > pelaaja2.X) 
     432            { 
     433                Camera.X = pelaaja1.X; 
     434            } 
     435            else 
     436            { 
     437                Camera.X = pelaaja2.X; 
     438            } 
    333439        } 
    334440    } 
Note: See TracChangeset for help on using the changeset viewer.