- Timestamp:
- 2014-07-23 15:01:17 (9 years ago)
- Location:
- 2014/30/ToukoA
- Files:
-
- 5 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
2014/30/ToukoA/AssassinsOfNight/AssassinsOfNight/AssassinsOfNight/AssassinsOfNight.cs
r5543 r5594 12 12 const double hyppyNopeus = 750; 13 13 const int RUUDUN_KOKO = 40; 14 15 14 PlatformCharacter pelaaja1; 16 17 PhysicsObject kohde; 18 PhysicsObject tappoTrigger; 19 15 PhysicsObject pahis; 16 PhysicsObject toinenFakeTaso; 17 bool kenttaLapi = false; 18 bool tapettuJo = false; 19 List<Label> valikonKohdat; 20 20 Image kohteenKuva = LoadImage("kohde"); 21 21 Image pelaajanKuva = LoadImage("puukkomies"); 22 22 Image tahtiKuva = LoadImage("tahti"); 23 23 Image pelaajaPuukottaaKuva = LoadImage("puukkomiespuukottaa"); 24 24 SoundEffect maaliAani = LoadSoundEffect("maali"); 25 25 26 IntMeter pisteLaskuri; 27 26 28 public override void Begin() 27 29 { 30 Valikko(); 31 } 32 void LuoKentta2() 33 { 34 ClearAll(); 35 TileMap kentta = TileMap.FromLevelAsset("kentta2"); 36 kentta.SetTileMethod('#', LisaaTaso); 37 kentta.SetTileMethod('*', LisaaTahti); 38 kentta.SetTileMethod('K', LisaaKohde); 39 kentta.SetTileMethod('N', LisaaPelaaja); 40 kentta.SetTileMethod('%', LisaaFakeTaso); 41 kentta.SetTileMethod('&', LisaaTappoTrigger); 42 kentta.SetTileMethod('/', LisaaToinenFakeTaso); 43 kentta.SetTileMethod('!', LisaaVoitto1); 44 kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 45 Level.CreateBorders(); 46 Level.Background.CreateGradient(Color.White, Color.Blue); 47 48 LuoPisteLaskuri(); 49 28 50 Gravity = new Vector(0, -1000); 29 30 LuoKentta();31 LisaaNappaimet();32 33 51 Camera.Follow(pelaaja1); 34 52 Camera.ZoomFactor = 1.2; 35 53 Camera.StayInLevel = true; 36 }37 54 Mouse.IsCursorVisible = false; 55 } 38 56 void LuoKentta() 39 57 { 58 ClearAll(); 40 59 TileMap kentta = TileMap.FromLevelAsset("kentta1"); 41 60 kentta.SetTileMethod('#', LisaaTaso); … … 45 64 kentta.SetTileMethod('%', LisaaFakeTaso); 46 65 kentta.SetTileMethod('&', LisaaTappoTrigger); 66 kentta.SetTileMethod('/', LisaaToinenFakeTaso); 67 kentta.SetTileMethod('!', LisaaVoitto1); 47 68 kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 48 69 Level.CreateBorders(); 49 70 Level.Background.CreateGradient(Color.White, Color.Blue); 50 } 51 71 72 LuoPisteLaskuri(); 73 74 Gravity = new Vector(0, -1000); 75 Camera.Follow(pelaaja1); 76 Camera.ZoomFactor = 1.2; 77 Camera.StayInLevel = true; 78 Mouse.IsCursorVisible = false; 79 } 80 void LuoPisteLaskuri() 81 { 82 pisteLaskuri = new IntMeter(0); 83 Label pisteNaytto = new Label(); 84 pisteNaytto.X = Screen.Left + 100; 85 pisteNaytto.Y = Screen.Top - 100; 86 pisteNaytto.TextColor = Color.Blue; 87 pisteNaytto.Color = Color.White; 88 pisteNaytto.BindTo(pisteLaskuri); 89 Add(pisteNaytto); 90 } 91 void LisaaVoitto1(Vector paikka, double leveys, double korkeus) 92 { 93 PhysicsObject voittoTrigger1 = PhysicsObject.CreateStaticObject(leveys, korkeus); 94 voittoTrigger1.IgnoresCollisionResponse = true; 95 voittoTrigger1.Tag = "voittoTrigger1"; 96 voittoTrigger1.Position = paikka; 97 voittoTrigger1.Color = Color.Gold; 98 Add(voittoTrigger1); 99 } 52 100 void LisaaTaso(Vector paikka, double leveys, double korkeus) 53 101 { … … 59 107 void LisaaTappoTrigger(Vector paikka, double leveys, double korkeus) 60 108 { 61 tappoTrigger = PhysicsObject.CreateStaticObject(leveys, korkeus);109 PhysicsObject tappoTrigger = PhysicsObject.CreateStaticObject(leveys, korkeus); 62 110 tappoTrigger.IgnoresCollisionResponse = true; 111 tappoTrigger.Tag = "tappoTrigger"; 63 112 tappoTrigger.Position = paikka; 64 tappoTrigger.Color = Color. Transparent;113 tappoTrigger.Color = Color.Green; 65 114 Add(tappoTrigger); 66 115 } 67 68 116 void LisaaFakeTaso(Vector paikka, double leveys, double korkeus) 69 117 { 70 PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 71 taso.IgnoresCollisionResponse = true; 72 taso.Position = paikka; 73 taso.Color = Color.Green; 74 Add(taso); ; 118 PhysicsObject fakeTaso = PhysicsObject.CreateStaticObject(leveys, korkeus); 119 fakeTaso.IgnoresCollisionResponse = true; 120 fakeTaso.Position = paikka; 121 fakeTaso.Color = Color.Green; 122 Add(fakeTaso); ; 123 } 124 void LisaaToinenFakeTaso(Vector paikka, double leveys, double korkeus) 125 { 126 toinenFakeTaso = PhysicsObject.CreateStaticObject(leveys, korkeus); 127 toinenFakeTaso.IgnoresCollisionResponse = true; 128 toinenFakeTaso.Position = paikka; 129 toinenFakeTaso.Color = Color.Gold; 130 Add(toinenFakeTaso); ; 75 131 } 76 132 void LisaaTahti(Vector paikka, double leveys, double korkeus) … … 83 139 Add(tahti); 84 140 } 85 86 141 void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 87 142 { 88 143 pelaaja1 = new PlatformCharacter(leveys, korkeus); 144 Keyboard.Listen(Key.Space, ButtonState.Pressed, Puukota, "Pelaaja1 puukottaa", pelaaja1); 89 145 pelaaja1.Position = paikka; 90 146 pelaaja1.Mass = 4.0; 91 147 pelaaja1.Image = pelaajanKuva; 92 148 AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 149 AddCollisionHandler(pelaaja1, "tappoTrigger", TappoTrigger); 150 AddCollisionHandler(pelaaja1, "voittoTrigger1", voittoTrigger1); 93 151 Add(pelaaja1); 94 152 } 153 void voittoTrigger1(PhysicsObject pelaaja1, PhysicsObject voittoTrigger1) 154 { 155 if (kenttaLapi == true) 156 { 157 MessageDisplay.Add("Testi"); 158 maaliAani.Play(); 159 LuoKentta2(); 160 } 161 } 162 void Puukota(PlatformCharacter pelaaja1) 163 { 164 pelaaja1.Image = pelaajaPuukottaaKuva; 165 if(Vector.Distance(pelaaja1.Position, pahis.Position) < 50) 166 { 167 TappoPuukolla(pelaaja1, pahis); 168 } 169 Timer ajastin = new Timer(); 170 ajastin.Interval = 1.0; 171 ajastin.Timeout += ressaaPelaaja; 172 ajastin.Start(); 173 } 174 void ressaaPelaaja() 175 { 176 pelaaja1.Image = pelaajanKuva; 177 } 178 void TappoPuukolla(PhysicsObject pelaaja1, PhysicsObject pahis) 179 { 180 if (tapettuJo == true) return; 181 MessageDisplay.Add("Onnistuit murhaamaan kohteen!"); 182 pisteLaskuri.Value += 1; 183 tapettuJo = true; 184 pahis.Destroy(); 185 } 95 186 void LisaaKohde(Vector paikka, double leveys, double korkeus) 96 187 { 97 PhysicsObject kohde= new PhysicsObject(leveys, korkeus);98 kohde.Position = paikka;99 kohde.Mass = 4.0;100 kohde.Image = kohteenKuva;101 AddCollisionHandler(kohde, "tahti", TormaaTahteen);102 Add( kohde);188 pahis = new PhysicsObject(leveys, korkeus); 189 pahis.Position = paikka; 190 pahis.Mass = 4.0; 191 pahis.Tag = "pahis"; 192 pahis.Image = kohteenKuva; 193 Add(pahis); 103 194 } 104 195 void LisaaNappaimet() … … 115 206 ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus); 116 207 ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 117 ControllerOne.Listen(Button.BigButton, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);118 208 119 209 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 120 210 } 121 122 211 void Liikuta(PlatformCharacter hahmo, double nopeus) 123 212 { 124 213 hahmo.Walk(nopeus); 125 214 } 126 127 215 void Hyppaa(PlatformCharacter hahmo, double nopeus) 128 216 { 129 217 hahmo.Jump(nopeus); 130 218 } 131 132 219 void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti) 133 220 { … … 136 223 tahti.Destroy(); 137 224 } 138 void TappoTrigger(PhysicsObject hahmo, PhysicsObject tappoTrigger) 139 { 225 void TappoTrigger(PhysicsObject pelaaja1, PhysicsObject tappoTrigger) 226 { 227 if (kenttaLapi == true) return; 140 228 maaliAani.Play(); 141 229 MessageDisplay.Add("Tapoit hyvin salavihkaisesti kohteen!"); 142 kohde.Destroy(); 143 } 144 230 kenttaLapi = true; 231 pahis.Destroy(); 232 } 233 void Valikko() 234 { 235 ClearAll(); // Tyhjennetään kenttä kaikista peliolioista 236 237 valikonKohdat = new List<Label>(); // Alustetaan lista, johon valikon kohdat tulevat 238 239 Label kohta1 = new Label("Aloita peli"); // Luodaan uusi Label-olio, joka toimii uuden pelin aloituskohtana 240 kohta1.Position = new Vector(0, 40); // Asetetaan valikon ensimmäinen kohta hieman kentän keskikohdan yläpuolelle 241 valikonKohdat.Add(kohta1); // Lisätään luotu valikon kohta listaan jossa kohtia säilytetään 242 Label kohta2 = new Label("Parhaat Pisteet"); 243 kohta2.Position = new Vector(0, 0); 244 valikonKohdat.Add(kohta2); 245 Label kohta3 = new Label("Lopeta peli"); 246 kohta3.Position = new Vector(0, -40); 247 valikonKohdat.Add(kohta3); 248 249 // Lisätään kaikki luodut kohdat peliin foreach-silmukalla 250 foreach (Label valikonKohta in valikonKohdat) 251 { 252 Mouse.IsCursorVisible = true; 253 Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null); 254 Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, ParhaatPisteet, null); 255 Mouse.ListenOn(kohta3, MouseButton.Left, ButtonState.Pressed, LopetaPeli, null); 256 Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 257 258 259 Add(valikonKohta); 260 } 261 } 262 void ValikossaLiikkuminen(AnalogState hiirenTila) 263 { 264 foreach (Label kohta in valikonKohdat) 265 { 266 if (Mouse.IsCursorOn(kohta)) 267 { 268 kohta.TextColor = Color.Red; 269 } 270 else 271 { 272 kohta.TextColor = Color.Black; 273 } 274 275 } 276 } 277 void AloitaPeli() 278 { 279 LuoKentta(); 280 LisaaNappaimet(); 281 } 282 void ParhaatPisteet() 283 { 284 //... 285 } 286 void LopetaPeli() 287 { 288 Exit(); 289 } 145 290 } -
2014/30/ToukoA/AssassinsOfNight/AssassinsOfNight/AssassinsOfNight/AssassinsOfNight.csproj.Debug.cachefile
r5543 r5594 5 5 Content\kentta1.xnb 6 6 Content\kohde.xnb 7 Content\puukkomiespuukottaa.xnb 8 Content\kentta2.xnb -
2014/30/ToukoA/AssassinsOfNight/AssassinsOfNight/AssassinsOfNight/obj/x86/Debug/AssassinsOfNight.csproj.FileListAbsolute.txt
r5543 r5594 13 13 C:\MyTemp\ToukoA\AssassinsOfNight\AssassinsOfNight\AssassinsOfNight\obj\x86\Debug\AssassinsOfNight.pdb 14 14 C:\MyTemp\ToukoA\AssassinsOfNight\AssassinsOfNight\AssassinsOfNight\bin\x86\Debug\Content\kohde.xnb 15 C:\MyTemp\ToukoA\AssassinsOfNight\AssassinsOfNight\AssassinsOfNight\bin\x86\Debug\Content\puukkomiespuukottaa.xnb 16 C:\MyTemp\ToukoA\AssassinsOfNight\AssassinsOfNight\AssassinsOfNight\bin\x86\Debug\Content\kentta2.xnb -
2014/30/ToukoA/AssassinsOfNight/AssassinsOfNight/AssassinsOfNight/obj/x86/Debug/ContentPipeline-{801CB1F2-3638-4DF6-930A-53EB90C10C39}.xml
r5543 r5594 45 45 <Options>None</Options> 46 46 <Output>C:\MyTemp\ToukoA\AssassinsOfNight\AssassinsOfNight\AssassinsOfNight\bin\x86\Debug\Content\kentta1.xnb</Output> 47 <Time>2014-07-2 2T14:41:52.9241638+03:00</Time>47 <Time>2014-07-23T14:38:07.4751381+03:00</Time> 48 48 </Item> 49 49 <Item> … … 55 55 <Output>C:\MyTemp\ToukoA\AssassinsOfNight\AssassinsOfNight\AssassinsOfNight\bin\x86\Debug\Content\kohde.xnb</Output> 56 56 <Time>2014-07-22T14:44:59.1177813+03:00</Time> 57 </Item> 58 <Item> 59 <Source>puukkomiespuukottaa.png</Source> 60 <Name>puukkomiespuukottaa</Name> 61 <Importer>TextureImporter</Importer> 62 <Processor>TextureProcessor</Processor> 63 <Options>None</Options> 64 <Output>C:\MyTemp\ToukoA\AssassinsOfNight\AssassinsOfNight\AssassinsOfNight\bin\x86\Debug\Content\puukkomiespuukottaa.xnb</Output> 65 <Time>2014-07-23T13:21:06.8631231+03:00</Time> 66 </Item> 67 <Item> 68 <Source>kentta2.txt</Source> 69 <Name>kentta2</Name> 70 <Importer>TextFileImporter</Importer> 71 <Processor>TextFileContentProcessor</Processor> 72 <Options>None</Options> 73 <Output>C:\MyTemp\ToukoA\AssassinsOfNight\AssassinsOfNight\AssassinsOfNight\bin\x86\Debug\Content\kentta2.xnb</Output> 74 <Time>2014-07-23T14:29:04.9308891+03:00</Time> 57 75 </Item> 58 76 <BuildSuccessful>true</BuildSuccessful> -
2014/30/ToukoA/AssassinsOfNight/AssassinsOfNight/AssassinsOfNight/obj/x86/Debug/cachefile-{801CB1F2-3638-4DF6-930A-53EB90C10C39}-targetpath.txt
r5543 r5594 5 5 Content\kentta1.xnb 6 6 Content\kohde.xnb 7 Content\puukkomiespuukottaa.xnb 8 Content\kentta2.xnb -
2014/30/ToukoA/AssassinsOfNight/AssassinsOfNight/AssassinsOfNightContent/AssassinsOfNightContent.contentproj
r5543 r5594 81 81 </Compile> 82 82 </ItemGroup> 83 <ItemGroup> 84 <Compile Include="puukkomiespuukottaa.png"> 85 <Name>puukkomiespuukottaa</Name> 86 <Importer>TextureImporter</Importer> 87 <Processor>TextureProcessor</Processor> 88 </Compile> 89 </ItemGroup> 90 <ItemGroup> 91 <Compile Include="kentta2.txt"> 92 <Name>kentta2</Name> 93 <Importer>TextFileImporter</Importer> 94 <Processor>TextFileContentProcessor</Processor> 95 </Compile> 96 </ItemGroup> 83 97 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 84 98 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. -
2014/30/ToukoA/AssassinsOfNight/AssassinsOfNight/AssassinsOfNightContent/kentta1.txt
r5543 r5594 1 1 2 ####################### 3 #%%%%%%%%%%%%%%% %%#####4 #%%#############%%##### 5 #.........#..... &&...##6 # N ............K....##7 ####################### 2 ############################# 3 #%%%%%%%%%%%%%%%&&########### 4 #%%#############%%########### 5 #.........#.........#.......# 6 #.N.............K...!.......# 7 #############################
Note: See TracChangeset
for help on using the changeset viewer.