Changeset 1650 for 2010


Ignore:
Timestamp:
2010-08-06 10:31:52 (9 years ago)
Author:
arhetaka
Message:

uusi peli, PUUSILIMÄ!

Location:
2010/24/arhetaka
Files:
34 added
5 edited
2 moved

Legend:

Unmodified
Added
Removed
  • 2010/24/arhetaka/AcesHigh/AcesHigh/Peli.cs

    r1244 r1650  
    402402        base.Update(time); 
    403403    } 
     404    IntMeter pisteLaskuri; 
     405 
     406    void LuoLaskuri() 
     407    { 
     408        pisteLaskuri = new IntMeter(0); 
     409 
     410        Label pisteNaytto = new Label(); 
     411        pisteNaytto.X = Screen.Left + 100; 
     412        pisteNaytto.Y = Screen.Top - 100; 
     413        pisteNaytto.TextColor = Color.Red; 
     414 
     415        if (kone1pommi.IsAddedToGame) 
     416        { 
     417            pisteNaytto.BindTo(pisteLaskuri); 
     418        } 
     419        Add(pisteNaytto); 
     420    } 
     421 
    404422 
    405423} 
  • 2010/24/arhetaka/EyeOfTheCommonRoach/EyeOFWood.sln

    r1538 r1650  
    22Microsoft Visual Studio Solution File, Format Version 10.00 
    33# Visual Studio 2008 
    4 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EyeOfTheCommonRoach", "EyeOfTheCommonRoach\EyeOfTheCommonRoach.csproj", "{52336A4E-1391-48FE-892D-8D3EA9C237BB}" 
     4Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EyeOfWood", "EyeOfTheCommonRoach\EyeOfWood.csproj", "{52336A4E-1391-48FE-892D-8D3EA9C237BB}" 
    55EndProject 
    66Global 
  • 2010/24/arhetaka/EyeOfTheCommonRoach/EyeOfTheCommonRoach/Content/Content.contentproj

    r1538 r1650  
    6060    </Compile> 
    6161  </ItemGroup> 
     62  <ItemGroup> 
     63    <Compile Include="kk.wav"> 
     64      <Name>kk</Name> 
     65      <Importer>WavImporter</Importer> 
     66      <Processor>SoundEffectProcessor</Processor> 
     67    </Compile> 
     68  </ItemGroup> 
     69  <ItemGroup> 
     70    <Compile Include="nuoli.png"> 
     71      <Name>nuoli</Name> 
     72      <Importer>TextureImporter</Importer> 
     73      <Processor>TextureProcessor</Processor> 
     74    </Compile> 
     75  </ItemGroup> 
     76  <ItemGroup> 
     77    <Compile Include="kimmoke2.wav"> 
     78      <Name>kimmoke2</Name> 
     79      <Importer>WavImporter</Importer> 
     80      <Processor>SoundEffectProcessor</Processor> 
     81    </Compile> 
     82  </ItemGroup> 
     83  <ItemGroup> 
     84    <Compile Include="kimmoke3.wav"> 
     85      <Name>kimmoke3</Name> 
     86      <Importer>WavImporter</Importer> 
     87      <Processor>SoundEffectProcessor</Processor> 
     88    </Compile> 
     89  </ItemGroup> 
    6290</Project> 
  • 2010/24/arhetaka/EyeOfTheCommonRoach/EyeOfTheCommonRoach/EyeOfWood.csproj

    r1538 r1650  
    77    <OutputType>WinExe</OutputType> 
    88    <AppDesignerFolder>Properties</AppDesignerFolder> 
    9     <RootNamespace>EyeOfTheCommonRoach</RootNamespace> 
    10     <AssemblyName>EyeOfTheCommonRoach</AssemblyName> 
     9    <RootNamespace>EyeOfWood</RootNamespace> 
     10    <AssemblyName>EyeOfWood</AssemblyName> 
    1111    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> 
    1212    <XnaFrameworkVersion>v3.1</XnaFrameworkVersion> 
  • 2010/24/arhetaka/EyeOfTheCommonRoach/EyeOfTheCommonRoach/Peli.cs

    r1538 r1650  
    33using Jypeli.Widgets; 
    44using Jypeli.Assets; 
     5using Jypeli.Effects; 
    56 
    67public class Peli : PhysicsGame 
     
    1011        PhysicsObject Takatahtain; // takatähtäin 
    1112 
    12         double tahtaimenKoko = 50; 
     13        double taulunkoko = 100; // jatkossa riippuu etäisyydestä 
     14        double taulurenkaidenLukumaara = 10; 
     15     
     16        double tahtaimenKoko = 100; 
    1317        double VirheKerroin = 2; //miten paljon tähtäysvirhe vaikuuttaa osumaan, jatkossa riippuu ampumamatkasta 
    1418 
    15         bool punaPistePaalla = false; 
     19        int tulinopeus = 600; //vaikuttaa sarjatuleen ei toimi vielä hyvin 
     20        int tulinopeuden_temp = 0; //apumuuttuja 
     21 
     22        bool zoom = false; 
     23 
     24        bool tulostaulu = true; 
     25            double tulostaulunkoko = 200; 
     26            double TulostaulunX = -250; 
     27            double TulostaulunY = -150; 
     28 
     29        bool sarjatuli = false; 
     30        bool punaPistePaalla = true; 
     31        bool savut = true; 
    1632        bool debug = true; 
    1733        bool hairiot = true; 
     
    2844        double tuulenMaxVoima = 10; //tätä suurempaa tuulta ei tulekkaan 
    2945        DoubleMeter tuulenVoima = new DoubleMeter(0); //arvotaan tuulen teossa jos tuuli on päällä 
     46        double tuulenSavuKerroin = 5; // tällä säädetään tuulen vaikutusta savuihin 
    3047         
    3148        //ohjaimet 
     
    3451        double OhjaimenEdellinenX = 0; //hiiren edellinen X koordinaatti 
    3552        double OhjaimenEdellinenY = 0; //hiiren edellinen Y koordinaatti 
    36         double ohjauksenNopeus = 0.1; //kerroin miten nopeasti hiiren liike liikuttaa tähtäintä 
    37         double hiirenHerkkyys = 1; 
     53        double ohjauksenNopeus = 1.0; //kerroin miten nopeasti hiiren liike liikuttaa tähtäintä 
     54        double hiirenHerkkyys = 0.01; 
    3855        double TahtaimenKitka = 0.95; 
    3956        bool tahtayssuunta = true; //true liike pelikuva, false arcade 
    4057 
    41         double tahtaintenMaxEtaisyys = 50; //tämän kauemmas etutähtäin ei liiku takatähtäimestä 
     58        double tahtaintenMaxEtaisyys = 200; //tämän kauemmas etutähtäin ei liiku takatähtäimestä 
     59 
     60        Smoke savu; 
     61        Smoke savu2; 
     62 
     63        SoundEffect kk; 
     64        SoundEffect kimmoke3; 
     65        SoundEffect kimmoke2; 
     66 
     67        Label tulosNaytto; 
     68        DoubleMeter pistelaskuri; 
    4269 
    4370        //debug kamaa 
     
    4976        DoubleMeter hiirenYlaskuri = new DoubleMeter(0); //debug 
    5077        DoubleMeter tahtaintenEtaisyysMittari = new DoubleMeter(0); //debug 
    51         GameObject PunaPiste = new GameObject(5, 5); 
     78        GameObject PunaPiste = new GameObject(3, 3); 
     79        GameObject ohjainNuoli = new GameObject(10, 100); 
    5280         
    5381   
     
    6189            } 
    6290            TeeKentta(); 
     91            if (tulostaulu) 
     92            { 
     93                TeeTulostaulu(); 
     94            } 
    6395            TeeTaulu(); 
    6496            TeeTahtain(); 
     
    6799        void TeeTaulu() 
    68100        { 
    69             for (double a = 200; a > 10; a = a - 20) 
    70             { 
    71                 TeeRengas(a, RandomGen.NextColor(), 0, 0); 
     101            for (double a = taulunkoko; a >= (taulunkoko / taulurenkaidenLukumaara); a = a - (taulunkoko / taulurenkaidenLukumaara)) 
     102            { 
     103                TeeRengas(a, RandomGen.NextColor(), 0, 0);             
    72104            } 
    73105 
     
    82114            Add(rengas); 
    83115        } 
    84  
     116         
     117        void TeeTulostaulu() 
     118        { 
     119            for (double a = tulostaulunkoko; a >= (tulostaulunkoko / taulurenkaidenLukumaara); a = a - (tulostaulunkoko / taulurenkaidenLukumaara)) 
     120            { 
     121                TeeRengas(a, RandomGen.NextColor(), TulostaulunX, TulostaulunY); 
     122            }             
     123        } 
    85124        void TeeDebug() 
    86125        { 
     
    112151                TeePunapiste(); 
    113152            } 
     153            ohjainNuoli.Color = Color.Red; 
     154            ohjainNuoli.Image = LoadImage("nuoli"); 
     155            ohjainNuoli.X = -200; 
     156            Add(ohjainNuoli); 
    114157     
    115158        } 
     
    124167        { 
    125168            Level.Background.Image = LoadImage("tausta"); 
     169            kk = LoadSoundEffect("kk"); 
     170            kimmoke3 = LoadSoundEffect("kimmoke3"); 
     171            kimmoke2 = LoadSoundEffect("kimmoke2"); 
     172 
     173            pistelaskuri = new DoubleMeter(0); 
     174         
     175            tulosNaytto = new Label(); 
     176            tulosNaytto.BindTo(pistelaskuri); 
     177            tulosNaytto.X = 0; 
     178            tulosNaytto.Y = Screen.Top - 100; 
     179            Add(tulosNaytto); 
     180 
     181            if (tuuli) 
     182            { 
     183                TeeTuuli(); 
     184            } 
     185            if (savut) 
     186            { 
     187                savu = new Smoke(tuulenVoima.Value * tuulenSavuKerroin); 
     188                savu.Position = new Vector(Screen.Left + 300, 0); 
     189                Add(savu); 
     190                savu2 = new Smoke(tuulenVoima.Value * tuulenSavuKerroin); 
     191                savu2.Position = new Vector(Screen.Right - 300, 0); 
     192                Add(savu2); 
     193            } 
    126194            Camera.ZoomToLevel(); 
    127195        } 
     
    129197        void TeeTahtain() 
    130198        { 
     199             
    131200            Etutahtain = new PhysicsObject(tahtaimenKoko, tahtaimenKoko); 
    132201            Etutahtain.Shape = Shapes.Rectangle; 
     
    137206            Etutahtain.CanRotate = false; 
    138207            Add(Etutahtain); 
    139  
     208             
    140209            Takatahtain = new PhysicsObject(tahtaimenKoko, tahtaimenKoko); 
    141210            Takatahtain.Shape = Shapes.Rectangle; 
     
    147216            Add(Takatahtain); 
    148217        } 
     218    void TuhoaTahtaimet() 
     219    { 
     220        Remove(Etutahtain); 
     221        Remove(Takatahtain); 
     222    } 
    149223        void TeeVapinaa() 
    150224        { 
     
    181255            Mouse.IsCursorVisible = true; 
    182256            Mouse.ListenMovement(hiirenHerkkyys, KuunteleLiiketta, null); 
    183             Mouse.Listen(MouseButton.Left, ButtonState.Pressed, Laukaise, null); 
     257            if (sarjatuli) 
     258            { 
     259                Mouse.Listen(MouseButton.Left, ButtonState.Down, Laukaise, null); 
     260            } 
     261            else 
     262            { 
     263                Mouse.Listen(MouseButton.Left, ButtonState.Pressed, Laukaise, null); 
     264            } 
    184265 
    185266            //näppäimistö 
     
    188269            Keyboard.Listen(Key.S, ButtonState.Down, LiikutaTahtainta, null, new Vector(0, -nappimistonOhjausNopeus)); 
    189270            Keyboard.Listen(Key.W, ButtonState.Down, LiikutaTahtainta, null, new Vector(0, nappimistonOhjausNopeus)); 
     271             
     272            Keyboard.Listen(Key.Z, ButtonState.Pressed, ToogleZoom, null); 
     273 
     274            Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, null); 
    190275 
    191276        } 
    192277        void Laukaise() 
    193278        { 
    194             Vector suunta = LaskeLaukauksenSuunta(); 
    195             Vector osumakohta = LaskeOsumaKohta(suunta); 
    196             TeeOsuma(osumakohta.X, osumakohta.Y); 
     279            if (sarjatuli) 
     280            { 
     281                 
     282                if (RandomGen.NextDouble(0, 30) < (tulinopeus / 30) ) 
     283                { 
     284                    Vector suunta = LaskeLaukauksenSuunta(); 
     285                    Vector osumakohta = LaskeOsumaKohta(suunta); 
     286                    TeeOsuma(osumakohta.X, osumakohta.Y); 
     287                    kk.Play(); 
     288                } 
     289            } 
     290            else 
     291            { 
     292                Vector suunta = LaskeLaukauksenSuunta(); 
     293                Vector osumakohta = LaskeOsumaKohta(suunta); 
     294                double tulos = tarkistaPisteet(osumakohta); 
     295                ilmoitaTulos(tulos); 
     296                //tehdään reikä tauluun tai tulostauluun 
     297                if (tulostaulu) 
     298                { 
     299                    osumakohta.X = osumakohta.X * (tulostaulunkoko / taulunkoko); 
     300                    osumakohta.Y = osumakohta.Y * (tulostaulunkoko / taulunkoko); 
     301                    osumakohta.X = osumakohta.X + TulostaulunX; 
     302                    osumakohta.Y = osumakohta.Y + TulostaulunY; 
     303                    Vector osumanEtaisyys = new Vector(osumakohta.X - TulostaulunX, osumakohta.Y - TulostaulunY); 
     304                    //double etaisyys = osumanEtaisyys.Magnitude; 
     305                    if (osumanEtaisyys.Magnitude < (tulostaulunkoko / 2)) 
     306                    { 
     307                        TeeOsuma(osumakohta.X, osumakohta.Y); 
     308                    } 
     309                } 
     310                else 
     311                { 
     312                    TeeOsuma(osumakohta.X, osumakohta.Y); 
     313                }                 
     314                 
     315 
     316                kk.Play(); 
     317                if (RandomGen.NextDouble(0, 20) < 1) 
     318                { 
     319                    kimmoke3.Play(); 
     320                } 
     321                else if (RandomGen.NextDouble(0, 20) < 1) 
     322                { 
     323                    kimmoke2.Play(); 
     324                } 
     325                 
     326            } 
     327             
    197328        } 
    198329        Vector LaskeOsumaKohta(Vector suunta) 
    199330        { 
    200331            Vector Osumakohta = new Vector(); 
    201             Osumakohta.X = suunta.X * VirheKerroin; 
     332            Osumakohta.X = Takatahtain.X + (suunta.X * VirheKerroin); 
    202333            //Osumakohta.Y = (suunta.Y + Takatahtain.Y) * VirheKerroin + (tahtaimenKoko / 2);//tähtäimen korkeudesta lisätään puolet, jotta osuma olisi oikealla korkeudella 
    203             Osumakohta.Y = suunta.Y * VirheKerroin;//tähtäimen korkeudesta lisätään puolet, jotta osuma olisi oikealla korkeudella 
     334            Osumakohta.Y = Takatahtain.Y + (suunta.Y * VirheKerroin);//tähtäimen korkeudesta lisätään puolet, jotta osuma olisi oikealla korkeudella 
    204335            return Osumakohta; 
    205336        } 
    206337        void TeeOsuma(double osumanX, double osumanY) 
    207338        { 
    208             GameObject osuma = new GameObject(10, 10); 
     339            GameObject osuma = new GameObject(3, 3); 
    209340            osuma.Shape = Shapes.Circle;             
    210             osuma.Color = RandomGen.NextColor(); 
     341            //osuma.Color = RandomGen.NextColor(); 
     342            osuma.Color = Color.Black; 
    211343            osuma.X = osumanX; 
    212             osuma.Y = osumanY; 
     344            osuma.Y = osumanY;             
    213345            Add(osuma); 
    214346        } 
     
    250382                if (OhjaimenEdellinenX == 0 && OhjaimenEdellinenY == 0) 
    251383                { 
    252                     OhjaimenEdellinenX = Mouse.PositionOnWorld.X; 
    253                     OhjaimenEdellinenY = Mouse.PositionOnWorld.Y; 
     384                    OhjaimenEdellinenX = Mouse.PositionOnScreen.X; 
     385                    OhjaimenEdellinenY = Mouse.PositionOnScreen.Y; 
    254386                } 
    255387                else 
     
    258390                    if (tahtayssuunta) //liike hiiren peilikuvana 
    259391                    { 
    260                         liikutus = new Vector((OhjaimenEdellinenX - Mouse.PositionOnWorld.X) * ohjauksenNopeus, (OhjaimenEdellinenY - Mouse.PositionOnWorld.Y) * ohjauksenNopeus); 
     392                        liikutus = new Vector((OhjaimenEdellinenX - Mouse.PositionOnScreen.X) * ohjauksenNopeus, (OhjaimenEdellinenY - Mouse.PositionOnScreen.Y) * ohjauksenNopeus); 
    261393 
    262394                    } 
    263395                    else //liike samaan suuntaan kun hiirikin 
    264396                    { 
    265                         liikutus = new Vector((Mouse.PositionOnWorld.X - OhjaimenEdellinenX) * ohjauksenNopeus, (Mouse.PositionOnWorld.Y - OhjaimenEdellinenY) * ohjauksenNopeus); 
     397                        liikutus = new Vector((Mouse.PositionOnScreen.X - OhjaimenEdellinenX) * ohjauksenNopeus, (Mouse.PositionOnScreen.Y - OhjaimenEdellinenY) * ohjauksenNopeus); 
    266398                    } 
    267399                    //Takatahtain.Hit(liikutus); 
     400                    ohjainNuoli.Angle = liikutus.Angle - Angle.RightAngle; 
    268401                    Etutahtain.Hit(liikutus); // hiiri liikuttaa vain etutähtäintä 
    269402                }                  
     
    302435                  //  OhjaimenEdellinenY = 0; 
    303436                } 
     437            OhjaimenEdellinenX = Mouse.PositionOnScreen.X; 
     438            OhjaimenEdellinenY = Mouse.PositionOnScreen.Y; 
    304439            } 
    305440        void TeeTuuli() 
     
    322457                    } 
    323458                } 
     459                if (savu != null && savu2 != null) 
     460                { 
     461                    Wind = new Vector(tuulenVoima.Value * tuulenSavuKerroin, 0); 
     462                } 
     463                 
    324464            } 
    325465        } 
     
    331471            PunaPiste.Y = osumakohta.Y; 
    332472        } 
    333  
     473        double tarkistaPisteet(Vector osumaKohta) 
     474        { 
     475            //tähän taulun paikan tarkistus 
     476            double tulos = osumaKohta.Magnitude; 
     477            tulos = 10 - (tulos / (taulunkoko / 20)); 
     478            if (tulos < 0) 
     479            { 
     480                tulos = 0; 
     481            } 
     482            return tulos; 
     483        } 
     484        void ilmoitaTulos(double tulos) 
     485        { 
     486            pistelaskuri.Value = tulos; 
     487        } 
     488 
     489        void ToogleZoom() 
     490        { 
     491            if (zoom) 
     492            { 
     493                tahtaimenKoko = tahtaimenKoko / 2; 
     494                TuhoaTahtaimet(); 
     495                TeeTahtain(); 
     496                zoom = false; 
     497            } 
     498            else 
     499            { 
     500                tahtaimenKoko = tahtaimenKoko * 2; 
     501                TuhoaTahtaimet(); 
     502                TeeTahtain(); 
     503                zoom = true; 
     504            } 
     505        } 
     506         
    334507        protected override void Update(Time time) 
    335508        { 
Note: See TracChangeset for help on using the changeset viewer.