protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); GlobalContent = Content; //background = Content.Load<Texture2D>(@"Background Screens/SmithDynasty"); currentBackground = new SplashBackground(); menu = new Menu(); menu.SetOverlordReference(this); BlockColors.Initialize(); //Initialize Game Score Textures Level.ScoreTextures[0] = Content.Load <Texture2D>(@"Score Board Numbers/Red_Numbers"); Level.ScoreTextures[1] = Content.Load <Texture2D>(@"Score Board Numbers/Blue_Numbers"); LineEmUp.colorChances[0] = .20; LineEmUp.colorChances[1] = .20; LineEmUp.colorChances[2] = .20; LineEmUp.colorChances[3] = .20; LineEmUp.colorChances[4] = .10; LineEmUp.colorChances[5] = .10; GameGraphicsDevice = GraphicsDevice; isMuted = false; //initialize the default set of controls Input.SetDefaultControls(); }
/// <summary> /// Draws the gameplay area to the RenderTarget. /// </summary> protected void DrawLevel() { //Set up drawing pass to the RenderTarget ScreenManager.GraphicsDevice.SetRenderTarget(gameField); ScreenManager.GraphicsDevice.Clear(Color.Black); SpriteBatch spriteBatch = ScreenManager.SpriteBatch; spriteBatch.Begin(); int[,] levelMatrix = currentLevel.LevelGrid(); //Loop through all registered blocks in the LevelGrid for (int x = 0; x < levelWidth; x++) { for (int y = 0; y < levelHeight; y++) { if (levelMatrix[x, y] > 0) { //Draw the block spriteBatch.Draw(blockTexture, new Rectangle((x * blockSize), (y * blockSize), blockSize, blockSize), BlockColors.GetColor(levelMatrix[x, y])); } } } //End the drawing pass spriteBatch.End(); }
void Switch() { currentColor++; if (currentColor > System.Enum.GetValues(typeof(BlockColors)).Length - 1) { currentColor = 0; } color = (BlockColors)currentColor; foreach (Light light in lights) { switch (color) { case BlockColors.Green: light.color = Color.green; break; case BlockColors.Red: light.color = Color.red; break; case BlockColors.Blue: light.color = Color.blue; break; } } foreach (Disable block in blocks) { block.Switch(block.color == color); } }
public void BlocksFactory(GameObject blockPrefab, Vector3 newPosition, BlockColors newBlockColor) { GameObject newBlock = Instantiate(blockPrefab, newPosition, Quaternion.identity) as GameObject; newBlock.transform.localScale = BlockSize; switch(newBlockColor) { case BlockColors.Blue: newBlock.GetComponent<Block>().NewBlockColor = Color.blue; newBlock.GetComponent<Block>().BlockScores = 10; newBlock.tag = "Blue"; break; case BlockColors.Red: newBlock.GetComponent<Block>().NewBlockColor = Color.red; newBlock.GetComponent<Block>().BlockScores = 30; newBlock.tag = "Red"; break; case BlockColors.Yellow: newBlock.GetComponent<Block>().NewBlockColor = Color.yellow; newBlock.GetComponent<Block>().BlockScores = 5; newBlock.tag = "Yellow"; break; } }
public static Color UnquantizeToColor(BlockColors color, byte darkness = 0) { return(UnquantizeToColor(new BlockColor { Color = color, Darkness = darkness, })); }
public Block(BlockColors bc) { BlockColor = bc; spriteSize = new Vector2(16, 16); layerDepth = 0.5f; animationByFrame = true; framesPerSprite = 1; }
public static float[] UnquantizeToArray(BlockColors color, byte darkness = 0) { return(UnquantizeToArray(new BlockColor { Color = color, Darkness = darkness, })); }
public static SKBitmap GetUnsetImage(BlockColors source) { if (!CachedUnsetImages.ContainsKey(source)) { var CreateImage = DrawUnSetImage(source); CachedUnsetImages.Add(source, CreateImage); } return(CachedUnsetImages[source]); }
public static Image GetUnsetImageGDI(BlockColors source) { if (!CachedUnsetImages_GDI.ContainsKey(source)) { var SKresult = GetUnsetImage(source); CachedUnsetImages_GDI.Add(source, SkiaSharp.Views.Desktop.Extensions.ToBitmap(SKresult)); } return(CachedUnsetImages_GDI[source]); }
public Block() { BlockColor = (BlockColors)RNG.Next(1,6); autoAnimate = true; spriteSize = new Vector2(16, 16); layerDepth = 0.5f; animationByFrame = true; framesPerSprite = 1; }
public LevelColors(BlockColors pT, BlockColors pJ, BlockColors pZ, BlockColors pO, BlockColors pS, BlockColors pL, BlockColors pI) { TColor = pT; JColor = pJ; ZColor = pZ; OColor = pO; SColor = pS; LColor = pL; IColor = pI; }
public Block(bool darkBlueOn) { if (darkBlueOn) BlockColor = (BlockColors)RNG.Next(1,7); else BlockColor = (BlockColors)RNG.Next(1,6); autoAnimate = true; spriteSize = new Vector2(16, 16); layerDepth = 0.5f; animationByFrame = true; framesPerSprite = 1; }
public Block(Block b) { BlockColor = b.BlockColor; BlockTexture = b.BlockTexture; PixelTexture = b.PixelTexture; spriteSheet = b.spriteSheet; spriteSize = new Vector2(16, 16); autoAnimate = true; layerDepth = 0.5f; animationByFrame = true; framesPerSprite = 1; }
protected void SetBoardBlock(Vector2 position, BlockColors color) { int xIndex, yIndex; xIndex = (int)((position.X - Position.X) / 25); yIndex = (int)((position.Y - Position.Y) / 25); if (xIndex < UNITS_W && yIndex < UNITS_H) { BlockGrid[xIndex, yIndex].BlockColor = color; BlockGrid[xIndex, yIndex].Type = BlockTypes.Static; } }
/// <summary> /// 色を指定してブロックを取得します。 /// </summary> public Image GetBlock(BlockColors color) { if (color == BlockColors.Nothing) { return(new Image() { Source = block_img_table[BlockColors.None], }); } else { // WPFに描画するためにオブジェクトへ設定する return(new Image() { Source = block_img_table[color], }); } }
private static SKBitmap DrawArrayImage(BlockColors basis, PT[][] ArraySrc) { SKBitmap drawimage = new SKBitmap(blockinfo, SKBitmapAllocFlags.ZeroPixels); SKCanvas skc = new SKCanvas(drawimage); for (int y = 0; y < 8; y++) { for (int x = 0; x < 8; x++) { var PixelType = ArraySrc[y][x]; BCColor ChosenColor = SelectColor(PixelType, basis); SKColor useChosen = ChosenColor; skc.DrawPoint(new SKPoint(x, y), ChosenColor); //drawimage.SetPixel(x, y, ChosenColor); } } skc.Flush(); return(drawimage); }
private static BCColor SelectColor(PT Type, BlockColors basis) { switch (Type) { case PT.Light: return(basis.LightColor); case PT.Glint: return(basis.GlintColor); case PT.Center: return(basis.CenterColor); case PT.Shaded: return(basis.ShadedColor); default: return(basis.CenterColor); } }
void UpdateColor(BlockColors color) { if (!Marked) { switch (color) { case BlockColors.Red: LeftRing.GetComponent <Renderer>().material = Materials[0]; break; case BlockColors.Green: RightRing.GetComponent <Renderer>().material = Materials[1]; break; case BlockColors.Blue: Table.material = Materials[2]; break; } } }
public void CreateLevel(int rows, int cols) { for(int i = 0; i < rows; i++) { for(float j = (-FreeSpace * 0.5f); j < cols; j++) { if(i == 0) { CurrentBlockColor = BlockColors.Red; } else { CurrentBlockColor = (BlockColors)Random.Range(1, 3); } Vector3 newBlocPos = new Vector3((j + Offset), (3.5f - i), 0); BlocksFactory(BlockPrefab, newBlocPos, CurrentBlockColor); } } }
void Toggle(BlockColors inColor) { if (isMain) { Debug.Log(collectedColors.Green); Debug.Log(collectedColors.Red); Debug.Log(collectedColors.Blue); if (collectedColors.Green && collectedColors.Red && collectedColors.Blue) { inactive.SetActive(false); active.SetActive(true); } } else if (!isMain) { if (inColor == color) { inactive.SetActive(false); active.SetActive(true); } } }
protected void DrawPreviewField() { //Get the block that should be put in the previewfield. Block nextBlock = currentLevel.NextBlock; //Because we want this preview block to be centered, we will not observe the matrix for drawing it. //Instead we will calculate an offset for it to be centered. int offSetX = (4 - nextBlock.Width) * (blockSize / 2); int offSetY = (4 - nextBlock.Height) * (blockSize / 2); //Set up drawing pass to the RenderTarget ScreenManager.GraphicsDevice.SetRenderTarget(previewField); ScreenManager.GraphicsDevice.Clear(Color.Black); SpriteBatch spriteBatch = ScreenManager.SpriteBatch; spriteBatch.Begin(); //Loop through all the individual blocks within the next shape. for (int x = 0; x < nextBlock.Width; x++) { for (int y = 0; y < nextBlock.Height; y++) { if (nextBlock.Shape[x, y] > 0) { //Draw the square block spriteBatch.Draw(blockTexture, new Rectangle(offSetX + (x * blockSize), offSetY + (y * blockSize), blockSize, blockSize), BlockColors.GetColor(nextBlock.Shape[x, y])); } } } //End the drawing pass. spriteBatch.End(); }
public void AssignExcept(bool darkBlue, BlockColors bc) { // Changes block color to a random value with special exceptions. List<BlockColors> possibleColors = new List<BlockColors> (); possibleColors.Add(BlockColors.Red); possibleColors.Add(BlockColors.Yellow); possibleColors.Add(BlockColors.Purple); possibleColors.Add(BlockColors.Green); possibleColors.Add(BlockColors.LightBlue); if (darkBlue) possibleColors.Add(BlockColors.DarkBlue); possibleColors.Remove(bc); // Removes from the list the index specified. this.BlockColor = possibleColors[RNG.Next(possibleColors.Count)]; }
public GamePiece(PieceShape shape, BlockColors color, Vector2 position, int blockSize, Texture2D squares) { Position = position; Shape = shape; rotationCounter = 0; squaresTexture = squares; PieceBlocks = new Block[ARRAY_SIZE, ARRAY_SIZE]; for (int a = 0; a < ARRAY_SIZE; a++) { for (int b = 0; b < ARRAY_SIZE; b++) { PieceBlocks[a, b] = new Block(); PieceBlocks[a, b].Type = BlockTypes.Empty; PieceBlocks[a, b].Width = blockSize; PieceBlocks[a, b].Height = blockSize; PieceBlocks[a, b].Position = new Vector2(a * blockSize + position.X, b * blockSize + Position.Y); PieceBlocks[a, b].Rectangle = new Rectangle((int)(a * blockSize + Position.X), (int)(b * blockSize + Position.Y), blockSize, blockSize); PieceBlocks[a, b].SquareTextures = squares; PieceBlocks[a, b].BlockColor = color; } } switch (shape) { case PieceShape.I: { PieceBlocks[2, 1].Type = BlockTypes.Moving; PieceBlocks[2, 1].BlockColor = color; PieceBlocks[2, 2].Type = BlockTypes.Moving; PieceBlocks[2, 2].BlockColor = color; PieceBlocks[2, 3].Type = BlockTypes.Moving; PieceBlocks[2, 3].BlockColor = color; PieceBlocks[2, 4].Type = BlockTypes.Moving; PieceBlocks[2, 4].BlockColor = color; break; } case PieceShape.J: { PieceBlocks[2, 1].Type = BlockTypes.Moving; PieceBlocks[2, 1].BlockColor = color; PieceBlocks[2, 2].Type = BlockTypes.Moving; PieceBlocks[2, 2].BlockColor = color; PieceBlocks[2, 3].Type = BlockTypes.Moving; PieceBlocks[2, 3].BlockColor = color; PieceBlocks[1, 3].Type = BlockTypes.Moving; PieceBlocks[1, 3].BlockColor = color; break; } case PieceShape.L: { PieceBlocks[2, 1].Type = BlockTypes.Moving; PieceBlocks[2, 1].BlockColor = color; PieceBlocks[2, 2].Type = BlockTypes.Moving; PieceBlocks[2, 2].BlockColor = color; PieceBlocks[2, 3].Type = BlockTypes.Moving; PieceBlocks[2, 3].BlockColor = color; PieceBlocks[3, 3].Type = BlockTypes.Moving; PieceBlocks[3, 3].BlockColor = color; break; } case PieceShape.S: { PieceBlocks[1, 3].Type = BlockTypes.Moving; PieceBlocks[1, 3].BlockColor = color; PieceBlocks[2, 2].Type = BlockTypes.Moving; PieceBlocks[2, 2].BlockColor = color; PieceBlocks[2, 3].Type = BlockTypes.Moving; PieceBlocks[2, 3].BlockColor = color; PieceBlocks[3, 2].Type = BlockTypes.Moving; PieceBlocks[3, 2].BlockColor = color; break; } case PieceShape.Z: { PieceBlocks[1, 2].Type = BlockTypes.Moving; PieceBlocks[1, 2].BlockColor = color; PieceBlocks[2, 2].Type = BlockTypes.Moving; PieceBlocks[2, 2].BlockColor = color; PieceBlocks[2, 3].Type = BlockTypes.Moving; PieceBlocks[2, 3].BlockColor = color; PieceBlocks[3, 3].Type = BlockTypes.Moving; PieceBlocks[3, 3].BlockColor = color; break; } case PieceShape.Square: { PieceBlocks[1, 1].Type = BlockTypes.Moving; PieceBlocks[1, 1].BlockColor = color; PieceBlocks[1, 2].Type = BlockTypes.Moving; PieceBlocks[1, 2].BlockColor = color; PieceBlocks[2, 2].Type = BlockTypes.Moving; PieceBlocks[2, 2].BlockColor = color; PieceBlocks[2, 1].Type = BlockTypes.Moving; PieceBlocks[2, 1].BlockColor = color; break; } case PieceShape.T: { PieceBlocks[1, 2].Type = BlockTypes.Moving; PieceBlocks[1, 2].BlockColor = color; PieceBlocks[2, 2].Type = BlockTypes.Moving; PieceBlocks[2, 2].BlockColor = color; PieceBlocks[2, 3].Type = BlockTypes.Moving; PieceBlocks[2, 3].BlockColor = color; PieceBlocks[3, 2].Type = BlockTypes.Moving; PieceBlocks[3, 2].BlockColor = color; break; } } }
public static Image GetSetImageGDI(int LevelNumber, char TetrominoType) { BlockColors usebc = GetBlockColors(LevelNumber, TetrominoType); return(GetSetImageGDI(usebc)); }
public static SKBitmap GetUnsetImage(int LevelNumber, char TetrominoType) { BlockColors usebc = GetBlockColors(LevelNumber, TetrominoType); return(GetUnsetImage(usebc)); }
private static SKBitmap DrawUnSetImage(BlockColors basis) { return(DrawArrayImage(basis, UnSetByNumbers)); }
// Use this for initialization void Start() { block = GetComponent<BlockColors>(); Init(); }