void Awake() { PopUpController.init(); popUpTextCanvas = GameObject.Find("popUpTextCanvas"); myCamera = Camera.main.GetComponent <CameraController>(); blockColor = Camera.main.GetComponent <BlockColor>(); score = Camera.main.GetComponent <Score>(); Mesh mesh = block.GetComponent <MeshFilter>().sharedMesh; Bounds bounds = mesh.bounds; blockSide = bounds.size.x; blockSideY = bounds.size.y * block.transform.localScale.y; mesh = player.GetComponent <MeshFilter>().mesh; bounds = mesh.bounds; playerSide = bounds.size.x * player.GetComponent <Transform>().localScale.x; mesh = pointUp.GetComponent <MeshFilter>().sharedMesh; bounds = mesh.bounds; pointUpSide = bounds.size.x; mesh = blockCover.GetComponent <MeshFilter>().sharedMesh; bounds = mesh.bounds; coverLength = bounds.size.x; playerJumpHeight = player.jumpHeight; mesh = newBlock.GetComponent <MeshFilter>().sharedMesh; bounds = mesh.bounds; float side = bounds.size.x; float scale = blockSide / side; print("scale " + scale); }
public override string ToString() { StringBuilder builder = new StringBuilder(rowCount * (columnCount + 1)); for (int i = 0; i < rowCount; i++) { builder.Append(i).Append(" "); for (int j = 0; j < columnCount; j++) { BlockColor blockColor = blocks[i, j].color; string firstLetter = blockColor.ToString().Substring(0, 1); builder.Append(firstLetter); } builder.AppendLine(); } builder.AppendLine(); builder.Append(" "); for (int i = 0; i < columnCount; i++) { builder.Append(i); } builder.AppendLine(); return(builder.ToString()); }
void CreateRandomColorOfBlock(int newX, int newY, string newSpecial = "None") //Decide a random block then call CreateBlock() { BlockColor random = RandomBlockColor(); switch (random) { case BlockColor.Red: CreateBlock(redBlockPrefab, newX, newY); break; case BlockColor.Yellow: CreateBlock(yellowBlockPrefab, newX, newY); break; case BlockColor.Green: CreateBlock(greenBlockPrefab, newX, newY); break; case BlockColor.Blue: CreateBlock(blueBlockPrefab, newX, newY); break; case BlockColor.Purple: CreateBlock(purpleBlockPrefab, newX, newY); break; case BlockColor.Pink: CreateBlock(pinkBlockPrefab, newX, newY); break; } }
private void PutBlock(BlockColor color, Point[] sqs) { foreach (var sq in sqs) { Field[sq.Y, sq.X] = color; } }
public Screen(int height = 20, int width = 10) // デフォルト引数は公式のテトリスに則った数値。 { Height = height; Width = width; Field = new BlockColor[height, width]; PutStartPos(); }
public Block(BlockColor color, Game myGame) : base(myGame) { if (color == BlockColor.Red) { textureName = "block_red"; } if (color == BlockColor.Yellow) { textureName = "block_yellow"; } if (color == BlockColor.Blue) { textureName = "block_blue"; } if (color == BlockColor.Green) { textureName = "block_green"; } if (color == BlockColor.Purple) { textureName = "block_purple"; } if (color == BlockColor.GreyHi) { textureName = "block_grey_hi"; } if (color == BlockColor.Grey) { textureName = "block_grey"; } }
protected void LoadLevel(string levelName) { using (FileStream fs = File.OpenRead("Levels/" + levelName)) { XmlSerializer serializer = new XmlSerializer(typeof(Level)); level = (Level)serializer.Deserialize(fs); } // TODO: Generate blocks based on level.layout array for (int row = 0; row < level.layout.Length; row++) { for (int col = 0; col < level.layout[row].Length; col++) { BlockColor newColor = (BlockColor)level.layout[row][col]; if (level.layout[row][col] == 9) { continue; } Block tempBlock = new Block(newColor, this); tempBlock.LoadContent(); tempBlock.position = new Vector2(64 + col * 64, 100 + row * 32); blocks.Add(tempBlock); } } speedMult = levelNum--; // Ball speed multiplier level.nextLevel = "Level" + (levelNum > 5 ? levelNum % 5 : levelNum) + ".xml"; // if levelNum > 5 then return levelNum mod 5 else return levelnum }
public BlockColor[] GetPermittedColors(BlockColor currentColor) { switch (currentColor) { case BlockColor.RED: return(redAllowedBeside); case BlockColor.BLUE: return(blueAllowedBeside); case BlockColor.YELLOW: return(yellowAllowedBeside); case BlockColor.GREEN: return(greenAllowedBeside); case BlockColor.PURPLE: return(purpleAllowedBeside); case BlockColor.ORANGE: return(orangeAllowedBeside); case BlockColor.GREY: return(greyAllowedBeside); case BlockColor.RAINBOW: return(rainbowAllowedBeside); default: return(null); } }
} // einde methode public override void Activate() // de abstracte die we bij activatable hebben gemaakt wordt hier nu aangemaakt { if (!IsActivated) // is niet geactiveerd --> is dus nog niet gebruikt, de lever moet nog gebruikt worden { area = new List <Block>(); // aanmaken van een list van blocks -- hierin staan alle blokjes van u 1 kleur van waar je opstaat // | hieronder geeft een 2D array van blocks terug | BlockColor color = GameController.CurrentLevel.GetPartOfGrid(Position, 1, 1)[0, 0].Color; // dit geeft de kleur van u blokje weer waar u lever op staat // (1,1) [0,0] er kan dus maar 1 ding in en we zetten 0,0 en daar nemen we de kleur van // je start op het blokje waar de lever op staat, en je moet alle blokjes van u kleur waar je opstaat (en waar de lever is) in u list krijgen ScanForAdjacentBlocks(GameController.CurrentLevel.GetPartOfGrid(Position, 1, 1)[0, 0], color); //nu zouden alle blockjes in de list moeten zitten foreach (Block block in area) // voor elke blok in de list area (waar alle blokjes in gezet worden die dezelfde kleur hebben) wordt het volgende uitgevoerd: { block.Color = ColorSpectrum.GetComplementColor(block.Color); // de kleur van de block(jes) wordt omgezet naar hun complementaire kleur } IsActivated = true; // en op die manier zijn ze dan dus ook geactiveerd. } }
protected void LoadLevel(string levelName) { using (FileStream fs = File.OpenRead("Levels/" + levelName)) { XmlSerializer serializer = new XmlSerializer(typeof(Level)); level = (Level)serializer.Deserialize(fs); } for (int i = 0; i < level.layout.Length; i++) { for (int j = 0; j < level.layout[i].Length; j++) { if (level.layout[i][j] == 9) { } else { BlockColor color = (BlockColor)level.layout[i][j]; Block tempBlock = new Block(color, this); tempBlock.LoadContent(); tempBlock.position = new Vector2(64 + j * 64, 100 + i * 32); blocks.Add(tempBlock); } } ; } ; }
public override List <Block> GetChain(BlockColor color) { toCheck = false; List <Block> ResultList = new List <Block>(); return(ResultList); }
// Use this for initialization void Start() { Instance = this; foundationObject = GameObject.Find("Foundation"); blockOffset = (Vector3.one * 0.5f) / 4; selectedColor = BlockColor.White; }
public Block(BlockColor color, Game myGame) : base(myGame) { this.color = color; switch (color) { case BlockColor.Red: textureName = "block_red"; break; case BlockColor.Yellow: textureName = "block_yellow"; break; case BlockColor.Blue: textureName = "block_blue"; break; case BlockColor.Green: textureName = "block_green"; break; case BlockColor.Purple: textureName = "block_purple"; break; case BlockColor.GreyHi: textureName = "block_grey_hi"; break; case BlockColor.Grey: textureName = "block_grey"; break; } ; }
public Block(int xPosition, int yPosition, BlockColor blockColor) { this.x = xPosition; this.y = yPosition; this.color = blockColor; }
public void Recolor(BlockColor c) { color = c; foreach (MapBlock b in blocks) b.Recolor(); }
public Block(BlockColor myColor, Game myGame) : base(myGame) { color = myColor; switch (color) { case (BlockColor.Red): textureName = "block_red"; break; case (BlockColor.Yellow): textureName = "block_yellow"; break; case (BlockColor.Blue): textureName = "block_blue"; break; case (BlockColor.Green): textureName = "block_green"; break; case (BlockColor.Purple): textureName = "block_purple"; break; case (BlockColor.GreyHi): textureName = "block_grey_hi"; break; case (BlockColor.Grey): textureName = "block_grey"; break; } }
public void SetColor(BlockColor color) { this.image = GetComponent <Image>(); this.Color = color; var spriteList = Resources.LoadAll <Sprite>("Sprites/spritesheet"); Sprite sprite = null; switch (color) { case BlockColor.RED: sprite = spriteList[5]; break; case BlockColor.GREEN: sprite = spriteList[8]; break; case BlockColor.BLUE: sprite = spriteList[0]; break; } this.image.sprite = sprite; // TODO: Insert sprite banana }
/// <summary> /// Takes data from CurrentPiece.Piece (a 2-D List of char, which represents piece orientation), /// and copies it to the Board, centered around the coordinated defined by "pieceCenter" /// </summary> /// <param name="fuzaChar">The character to write to the Board</param> public void DrawPiece(FuzaPiece currentPiece, Coordinate pieceCenter) { const int CENTER = FuzaPiece.PIECE_SIZE / 2; BlockColor color = currentPiece.Piece[CENTER][CENTER].Color; for (int row = 0; row < FuzaPiece.PIECE_SIZE; row++) { for (int col = 0; col < FuzaPiece.PIECE_SIZE; col++) { GridSpace block = new GridSpace(currentPiece.Piece[row][col]); // Find piece position in the playfield int colCoord = pieceCenter.xPos - (CENTER) + col; int rowCoord = pieceCenter.yPos - (CENTER) + row; // Update playfield if (colCoord >= 0 && colCoord < BOARD_WIDTH && rowCoord >= 0 && rowCoord < BOARD_HEIGHT) { if (block.Color != BlockColor.Background) { Board[rowCoord][colCoord] = block; } // Overwrite any potential ghost trails else if (block.Color == BlockColor.Background && !Board[rowCoord][colCoord].IsLockedDownBlock) { Board[rowCoord][colCoord] = block; } } } } }
private BlockView GetBlockViewByBlockColor(BlockColor blockColor) { switch (blockColor) { case BlockColor.Red: return(RedBlock); case BlockColor.Blue: return(BlueBlock); case BlockColor.Green: return(GreenBlock); case BlockColor.LightBlue: return(LightBlueBlock); case BlockColor.Orange: return(OrangeBlock); case BlockColor.Purple: return(PurpleBlock); case BlockColor.Yellow: return(YellowBlock); } return(null); }
public Color getColor(BlockColor blockColor) { switch (blockColor) { case BlockColor.RED: return(redColor); case BlockColor.BLUE: return(blueColor); case BlockColor.YELLOW: return(yellowColor); case BlockColor.GREEN: return(greenColor); case BlockColor.PURPLE: return(purpleColor); case BlockColor.ORANGE: return(orangeColor); case BlockColor.GREY: return(greyColor); default: return(Color.white); } }
public void SwapColors() { int index = 0; BlockController previousBlock = null; foreach (Transform child in transform) { BlockController block = child.GetComponent <BlockController>(); if (block != null) { if (index == 0) { previousBlock = block; } else { BlockColor color = block.blockColor; block.UpdateColor(previousBlock.blockColor); previousBlock.UpdateColor(color); previousBlock = block; } index++; } } }
/// <summary> /// Starts the Game /// </summary> private void Start() { InstanceGameManager = this; mFoundationObject = GameObject.Find("Foundation"); mBlockOffset = Vector3.one * (0.5f / 4); SelectedColor = BlockColor.White; }
public BlockColor[,] GetBlocks() { var t = new BlockColor[Width, Height]; for (var i = 0; i < Width; i++) { for (var j = 0; j < Height; j++) { t[i, j] = stateBlocks[i, j]; } } if (mino == null) { return(t); } foreach (var block in mino.Blocks) { t[block.X, block.Y] = block.Color; } return(t); }
public void TestRemovalMatches_ShouldAlterSomeCells() { var simpleBoardContentsAfterRemoval = new BlockColor[, ] { { BlockColor.Red, BlockColor.Empty, BlockColor.Green, BlockColor.Red }, { BlockColor.Green, BlockColor.Empty, BlockColor.Blue, BlockColor.Green }, { BlockColor.Blue, BlockColor.Empty, BlockColor.Green, BlockColor.Red }, { BlockColor.Empty, BlockColor.Empty, BlockColor.Empty, BlockColor.Red } }; var match3Game = new Match3Game(Simple, AllowedTypes); List <SpecialBlockActivation> blockActivation = new List <SpecialBlockActivation>(); List <BlockRemoval> removedBlocks2 = new List <BlockRemoval>(); List <BlockAndPosition> createdBlocks = new List <BlockAndPosition>(); match3Game.RemoveMatches(blockActivation, removedBlocks2, createdBlocks); for (int row = 0; row < match3Game.RowCount; row++) { for (int column = 0; column < match3Game.ColumnCount; column++) { Assert.That(match3Game[row, column].color == simpleBoardContentsAfterRemoval[row, column]); } } }
public void QueueColor(BlockColor color) { switch (color) { case BlockColor.blue: blueBlocks.Items.ForEach(block => { QueueBlockToBreak(block); }); break; case BlockColor.green: greenBlocks.Items.ForEach(block => { QueueBlockToBreak(block); }); break; case BlockColor.red: redBlocks.Items.ForEach(block => { QueueBlockToBreak(block); }); break; case BlockColor.yellow: yellowBlocks.Items.ForEach(block => { QueueBlockToBreak(block); }); break; } }
// Spawn a block with a certain color public void Spawn(Vector3 pos, BlockColor color) { if (color != BlockColor.RED) { GameObject block = Instantiate(Tetromino[(int)color - 1], pos, Quaternion.identity); } }
public Block(int startX, int startY, BlockColor color) { X = startX; Y = startY; this.color = color; brush = brushColor[(int)color]; }
protected void InitializeColor() { mColor = (BlockColor)rnd.Next(0, 6); switch (mColor) { case BlockColor.RED: spriteRenderer.color = Color.red; break; case BlockColor.BLUE: spriteRenderer.color = Color.blue; break; case BlockColor.GREEN: spriteRenderer.color = Color.green; break; case BlockColor.YELLOW: spriteRenderer.color = Color.yellow; break; case BlockColor.VIOLET: spriteRenderer.color = Color.magenta; break; case BlockColor.ORANGE: spriteRenderer.color = _orange; break; } }
public ClutterBlock(BlockColor color, int width, int height) { Color = color; Width = width; Height = height; Depth = -5; }
private bool CheckColorPair(BlockColor current, BlockColor adjoining) { switch (current) { case BlockColor.RED: return(redAllowedBeside.Contains(adjoining)); case BlockColor.BLUE: return(blueAllowedBeside.Contains(adjoining)); case BlockColor.YELLOW: return(yellowAllowedBeside.Contains(adjoining)); case BlockColor.GREEN: return(greenAllowedBeside.Contains(adjoining)); case BlockColor.PURPLE: return(purpleAllowedBeside.Contains(adjoining)); case BlockColor.ORANGE: return(orangeAllowedBeside.Contains(adjoining)); case BlockColor.RAINBOW: return(rainbowAllowedBeside.Contains(adjoining)); default: return(false); } }
} // einde IsInArea // aanmaken van scanForAdjacentBlocks (focusblok = u main blokje waarrond je gaat kijken) private void ScanForAdjacentBlocks(Block focusBlock, BlockColor color) { if (focusBlock.Color == color && // hier gaat hij nakijken of de focusblokje en u kleur hetzelfde zijn. Op een bepaald punt gaat dit niet meer zo zijn als je aan de rand komt !IsInArea(focusBlock) // volgende voorwaarde waaraan het moet voldoen (met parameters) ) { // begin if area.Add(focusBlock); // als hij inderdaad dezelfde kleur heeft dan mag hij in de list if (focusBlock.Coordinate.YPosition > 0) { ScanForAdjacentBlocks( // heeft 3 parameters (GameController/focusblock , color , area) GameController.CurrentLevel.GetPartOfGrid( // getPartOfGrid geeft een 2D array terug en heeft 2 parameters new Coordinates(focusBlock.Coordinate.XPosition, focusBlock.Coordinate.YPosition - 1), //Linkerboven co-ordinaten 1, // breedte van array //Ypos - 1 = gaat in u grid 1 naar boven gaan. bv als hij p 12 staat --> 12-1=11 1 // hoogte van array )[0, 0], // dit is de focusblock die linksboven in de array(van 1) staat color ); // block er boven // wanneer deze is afgelopen en alle bovenstaande blokken zitten in de lijst, gaan we verder naar hieronder } if (focusBlock.Coordinate.YPosition < GameController.CurrentLevel.Height - 1) //checked of de focusblok niet op de onderste rij zit. je doet de hoogte van het actieve level -1 om de index van de onderste rij te bekomen // hier start je verder in de laatste focusblock { ScanForAdjacentBlocks( // heeft 3 parameters (GameController/focusblock , color , area) GameController.CurrentLevel.GetPartOfGrid( // getPartOfGrid geeft een 2D array terug en heeft 2 parameters new Coordinates(focusBlock.Coordinate.XPosition, focusBlock.Coordinate.YPosition + 1), 1, //Ypos + 1 = gaat in u grid 1 naar onder gaan. bv als hij p 12 staat --> 12+1=13 1 )[0, 0], // dit is de focusblock die linksboven in de array(van 1) staat color ); // block er onder } if (focusBlock.Coordinate.XPosition > 0) { ScanForAdjacentBlocks( // heeft 3 parameters (GameController/focusblock , color , area ) GameController.CurrentLevel.GetPartOfGrid( // getPartOfGrid geeft een 2D array terug en heeft 2 parameters new Coordinates(focusBlock.Coordinate.XPosition - 1, focusBlock.Coordinate.YPosition), 1, //Xpos - 1 = gaat in u grid 1 naar links gaan. bv als hij p 12 staat --> 12-1=11 1 )[0, 0], // dit is de focusblock die linksboven in de array(van 1) staat color ); // block er links van } if (focusBlock.Coordinate.XPosition < GameController.CurrentLevel.Width - 1) { ScanForAdjacentBlocks( // heeft 3 parameters (GameController/focusblock , color , area) GameController.CurrentLevel.GetPartOfGrid( // getPartOfGrid geeft een 2D array terug en heeft 2 parameters new Coordinates(focusBlock.Coordinate.XPosition + 1, focusBlock.Coordinate.YPosition), 1, //Xpos + 1 = gaat in u grid 1 naar rechts gaan. bv als hij p 12 staat --> 12+1=13 1 ) [0, 0], // dit is de focusblock die linksboven in de array(van 1) staat color ); // block er rechts van } }// einde if } // einde methode
public Block(BlockLocation location, BlockColor color) { this.Location = location; this.Color = color; this.IsEmpty = false; }