Changeset 5867 for 2015/23


Ignore:
Timestamp:
2015-06-04 10:11:41 (8 years ago)
Author:
jotapoti
Message:

pelinosia

Location:
2015/23/OskuL/FysiikkaPeli2/FysiikkaPeli2
Files:
3 added
4 edited

Legend:

Unmodified
Added
Removed
  • 2015/23/OskuL/FysiikkaPeli2/FysiikkaPeli2/FysiikkaPeli2/FysiikkaPeli2.cs

    r5863 r5867  
    1111 
    1212    PhysicsObject pelaaja1, pelaaja2; 
    13      
     13    DoubleMeter elamaLaskuri; 
    1414    public override void Begin() 
    1515    { 
     
    1717        LuoKentta(); 
    1818        LuoOhjaimet(); 
    19         Camera.ZoomToAllObjects(); 
     19        //Camera.Position = pelaaja1.Position + new Vector(720, 0); 
     20        Camera.Follow(pelaaja1, pelaaja2); 
     21        Camera.FollowXMargin = 1000; 
     22        Camera.FollowYMargin = 100; 
     23        Camera.StayInLevel = true; 
     24 
    2025         
     26 
    2127        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    2228    } 
     
    2935        ruudut.SetTileMethod(Color.Black, LuoAsteroidi); 
    3036        ruudut.SetTileMethod(Color.Red, LuoReuna); 
     37        //Level.Background.CreateStars(); 
    3138 
     39         
    3240        ruudut.Execute(20, 20); 
     41 
     42        //GameObject tausta = new GameObject(LoadImage("Earth")); 
     43         
     44        //Add(tausta, -3); 
     45        Image taustakuva = LoadImage("earth"); 
     46        GameObject taustaPilvet = new GameObject(Screen.Width * 1.5, Screen.Height * 1.5 ); 
     47        taustaPilvet.Image = taustakuva; 
     48        Add(taustaPilvet, -3); 
     49        Layers[-3].RelativeTransition = new Vector(0.5, 0.5); 
     50 
     51 
     52         
     53        //Level.Background.Scale = 2.0; 
     54        //Level.Size = Level.Size * 2; 
     55        //Level.Background. 
     56    } 
     57 
     58    void LuoElamaLaskuri() 
     59    { 
     60        elamaLaskuri = new DoubleMeter(10); 
     61        elamaLaskuri.MaxValue = 10; 
     62        elamaLaskuri.LowerLimit += ElamaLoppui; 
     63 
     64        ProgressBar elamaPalkki = new ProgressBar(150, 20); 
     65        elamaPalkki.X = Screen.Left + 150; 
     66        elamaPalkki.Y = Screen.Top - 20; 
     67        elamaPalkki.BindTo(elamaLaskuri); 
     68        Add(elamaPalkki); 
     69    } 
     70 
     71    void ElamaLoppui() 
     72    { 
     73        MessageDisplay.Add("Hävisit, paremmin ensikerralla"); 
    3374    } 
    3475    private void LuoOhjaimet() 
    3576    { 
    3677        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, "Liikutetaan pelaajaa", 1, 1); 
     78        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, "käännä oikealle", 1, 2); 
     79        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, "käännä vasemmalle", 1, 3); 
     80        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, "jarru taaksepäin", 1, 4); 
    3781 
     82        Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, "Liikutetaan pelaajaa", 2, 1); 
     83        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, "käännä oikealle", 2, 2); 
     84        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, "käännä vasemmalle", 2, 3); 
     85        Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, "jarru taaksepäin", 2, 4); 
    3886    } 
    3987    private void LiikutaPelaajaa(int pelaajaNro, int liikkeenTyyppi) 
     
    4593                { 
    4694                    case 1: 
    47                         pelaaja1.Push(Vector.FromLengthAndAngle(100.0, pelaaja1.Angle));                         
     95                        pelaaja1.Push(Vector.FromLengthAndAngle(250.0, pelaaja1.Angle));//kaasu eteen                         
    4896                        break; 
    4997                    case 2: 
     98                        pelaaja1.Angle += Angle.FromDegrees(-1.5);//oikealle=myötäpäivään 
    5099                        break; 
    51100                    case 3: 
     101                        pelaaja1.Angle += Angle.FromDegrees(1.5);//vasemmalle=vastapäivään 
    52102                        break; 
    53  
     103                    case 4: 
     104                        pelaaja1.Push(-Vector.FromLengthAndAngle(250.0, pelaaja1.Angle)); 
     105                        break; 
    54106                } 
    55107                 
    56108                break; 
    57109            case 2: 
     110                switch (liikkeenTyyppi) 
     111                { 
     112                    case 1: 
     113                        pelaaja2.Push(Vector.FromLengthAndAngle(250.0, pelaaja2.Angle));//kaasu eteen                         
     114                        break; 
     115                    case 2: 
     116                        pelaaja2.Angle += Angle.FromDegrees(-2.0);//oikealle=myötäpäivään 
     117                        break; 
     118                    case 3: 
     119                        pelaaja2.Angle += Angle.FromDegrees(2.0);//vasemmalle=vastapäivään 
     120                        break; 
     121                    case 4: 
     122                        pelaaja2.Push(-Vector.FromLengthAndAngle(250.0, pelaaja2.Angle)); 
     123                        break; 
     124                } 
    58125                break; 
    59126        } 
     
    64131        PhysicsObject asteroidi = new PhysicsObject(LoadImage("ASTEROIDI")); 
    65132        asteroidi.Position = paikka; 
     133        asteroidi.Tag = "ASTEROIDI"; 
    66134        Add(asteroidi); 
    67135    } 
     
    70138        pelaaja1 = new PhysicsObject(LoadImage("alus")); 
    71139        pelaaja1.Position = paikka; 
     140        pelaaja1.AngularDamping = 0.9; 
    72141        Add(pelaaja1); 
     142        pelaaja1.LinearDamping = 0.98; 
     143        AddCollisionHandler(pelaaja1, "ASTEROIDI", PelaajaOsuu); 
    73144    } 
    74145    private void LuoPelaaja2(Vector paikka, double leveys, double korkeus) 
     
    76147        pelaaja2 = new PhysicsObject(LoadImage("alus")); 
    77148        pelaaja2.Position = paikka; 
     149        pelaaja2.AngularDamping = 0.9; 
    78150        Add(pelaaja2); 
     151        pelaaja2.LinearDamping = 0.98; 
     152        AddCollisionHandler(pelaaja2, "ASTEROIDI", PelaajaOsuu); 
    79153    } 
    80154    private void LuoReuna(Vector paikka, double leveys, double korkeus) 
     
    83157        reuna.Position = paikka; 
    84158        Add(reuna); 
     159        reuna.Color = Color.Transparent; 
    85160    } 
    86161    private void AloitaPeli() 
     
    88163 
    89164    } 
     165 
     166    void PelaajaOsuu(PhysicsObject pelaaja, PhysicsObject kohde) 
     167    { 
     168        if (elamaLaskuri != null) 
     169        { 
     170            elamaLaskuri.Value -= 1; 
     171        } 
     172        kohde.Destroy(); 
     173    } 
     174 
     175  
    90176} 
  • 2015/23/OskuL/FysiikkaPeli2/FysiikkaPeli2/FysiikkaPeli2/FysiikkaPeli2.csproj

    r5863 r5867  
    112112  <ItemGroup> 
    113113    <Compile Include="Ohjelma.cs" /> 
    114     <Compile Include="FysiikkaPeli2.cs" /> 
    115114    <Compile Include="Properties\AssemblyInfo.cs" /> 
     115    <Compile Include="space race.cs" /> 
    116116  </ItemGroup> 
    117117  <ItemGroup> 
  • 2015/23/OskuL/FysiikkaPeli2/FysiikkaPeli2/FysiikkaPeli2Content/FysiikkaPeli2Content.contentproj

    r5863 r5867  
    6464    </Compile> 
    6565  </ItemGroup> 
     66  <ItemGroup> 
     67    <Compile Include="earth.png"> 
     68      <Name>earth</Name> 
     69      <Importer>TextureImporter</Importer> 
     70      <Processor>TextureProcessor</Processor> 
     71    </Compile> 
     72  </ItemGroup> 
     73  <ItemGroup> 
     74    <Compile Include="space.jpg"> 
     75      <Name>space</Name> 
     76      <Importer>TextureImporter</Importer> 
     77      <Processor>TextureProcessor</Processor> 
     78    </Compile> 
     79  </ItemGroup> 
    6680  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    6781  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
Note: See TracChangeset for help on using the changeset viewer.