private void DrawEarth(SpriteBatch spriteBatch) { //Draw latteral for (int i = 1; i <= 10; i++) { EarthBlocks[i.ToString()].Draw(spriteBatch); EarthBlocks[i.ToString() + "R"].Draw(spriteBatch); } //Draw central //Block 8 starts the 12,13 chain //Block 9 starts the 11, 14 chain int w = EarthBlock.Width; int beginX = (int)EarthBlocks["8"].Position.X; int beginY = (int)EarthBlocks["8"].Position.Y; EarthBlock block; for (int i = 0; i < CentralCount; i++) { string key = (12 + (i % 2)).ToString(); block = EarthBlocks[key]; block.Position = new Vector2(beginX + (i + 1) * w, beginY); EarthBlock.Draw(spriteBatch, block); } beginX = (int)EarthBlocks["10"].Position.X; beginY = (int)EarthBlocks["10"].Position.Y; for (int i = 0; i < CentralCount; i++) { string key = (i % 2 == 0 ? 11 : 14).ToString(); block = EarthBlocks[key]; block.Position = new Vector2(beginX + (i + 1) * w, beginY); EarthBlock.Draw(spriteBatch, block); } //Draw last for (int i = 0; i < GetRealWidth() / w; i++) { block = EarthBlocks["0"]; block.Position = new Vector2(i * w, GetRealHeight() - EarthBlock.Height); EarthBlock.Draw(spriteBatch, block); } DrawEarthBackground(spriteBatch); }
private void DrawEarthBackground(SpriteBatch spriteBatch) { EarthBlock block; /* * //Block 1 * block = EarthBlocks["1B"]; * block.Position = Vector2.Zero; * * EarthBlock.Draw(spriteBatch, block); * * * block.Position = new Vector2(GetRealWidth() - EarthBlock.Width, 0); * * EarthBlock.Draw(spriteBatch, block); * * //Block 2 * block = EarthBlocks["2B"]; * block.Position = new Vector2(EarthBlock.Width, 0); * * EarthBlock.Draw(spriteBatch, block); * * * block.Position = new Vector2(GetRealWidth() - 2 * EarthBlock.Width, 0); * * EarthBlock.Draw(spriteBatch, block); * */ //Chains (3-4 chain starts at block 4, 5-6 chain starts at block 6) int startX = (int)EarthBlocks["3"].Position.X; int startY = (int)EarthBlocks["3"].Position.Y; for (int i = 0; i < CentralCount + 2; i++) //One for each latteral side { string key = (3 + (i % 2)).ToString() + "B"; block = EarthBlocks[key]; block.Position = new Vector2(startX + (i + 1) * EarthBlock.Width, startY); EarthBlock.Draw(spriteBatch, block); } startX = (int)EarthBlocks["5"].Position.X; startY = (int)EarthBlocks["5"].Position.Y; for (int i = 0; i < CentralCount + 2; i++) //One for each latteral side { string key = (5 + (i % 2)).ToString() + "B"; block = EarthBlocks[key]; block.Position = new Vector2(startX + (i + 1) * EarthBlock.Width, startY); EarthBlock.Draw(spriteBatch, block); } startX = (int)EarthBlocks["8"].Position.X; startY = (int)EarthBlocks["8"].Position.Y; for (int i = 0; i < CentralCount; i++) { string key = (7 + (i % 2)).ToString() + "B"; block = EarthBlocks[key]; block.Position = new Vector2(startX + (i + 1) * EarthBlock.Width, startY); EarthBlock.Draw(spriteBatch, block); } }