コード例 #1
0
ファイル: Game1.cs プロジェクト: brandonxchang/Tetrominous
        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();
        }
コード例 #2
0
ファイル: GamePlayScreen.cs プロジェクト: Entalyan/EntTetris
        /// <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();
        }
コード例 #3
0
    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);
        }
    }
コード例 #4
0
ファイル: BlocksManager.cs プロジェクト: ghosty3d/Arcanoid
    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;
        }
    }
コード例 #5
0
ファイル: ColorSpaceUtility.cs プロジェクト: NGnius/Pixi
 public static Color UnquantizeToColor(BlockColors color, byte darkness = 0)
 {
     return(UnquantizeToColor(new BlockColor
     {
         Color = color,
         Darkness = darkness,
     }));
 }
コード例 #6
0
ファイル: Block.cs プロジェクト: WVI/PuzzleLeagueMAYHEM
 public Block(BlockColors bc)
 {
     BlockColor = bc;
     spriteSize = new Vector2(16, 16);
     layerDepth = 0.5f;
     animationByFrame = true;
     framesPerSprite = 1;
 }
コード例 #7
0
ファイル: ColorSpaceUtility.cs プロジェクト: NGnius/Pixi
 public static float[] UnquantizeToArray(BlockColors color, byte darkness = 0)
 {
     return(UnquantizeToArray(new BlockColor
     {
         Color = color,
         Darkness = darkness,
     }));
 }
コード例 #8
0
 public static SKBitmap GetUnsetImage(BlockColors source)
 {
     if (!CachedUnsetImages.ContainsKey(source))
     {
         var CreateImage = DrawUnSetImage(source);
         CachedUnsetImages.Add(source, CreateImage);
     }
     return(CachedUnsetImages[source]);
 }
コード例 #9
0
 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]);
 }
コード例 #10
0
ファイル: Block.cs プロジェクト: WVI/PuzzleLeagueMAYHEM
 public Block()
 {
     BlockColor = (BlockColors)RNG.Next(1,6);
     autoAnimate = true;
     spriteSize = new Vector2(16, 16);
     layerDepth = 0.5f;
     animationByFrame = true;
     framesPerSprite = 1;
 }
コード例 #11
0
 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;
 }
コード例 #12
0
ファイル: Block.cs プロジェクト: WVI/PuzzleLeagueMAYHEM
 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;
 }
コード例 #13
0
ファイル: Block.cs プロジェクト: WVI/PuzzleLeagueMAYHEM
 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;
 }
コード例 #14
0
        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;
            }
        }
コード例 #15
0
 /// <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],
         });
     }
 }
コード例 #16
0
        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);
        }
コード例 #17
0
        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);
            }
        }
コード例 #18
0
    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;
            }
        }
    }
コード例 #19
0
ファイル: BlocksManager.cs プロジェクト: ghosty3d/Arcanoid
    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);
            }
        }
    }
コード例 #20
0
 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);
         }
     }
 }
コード例 #21
0
ファイル: GamePlayScreen.cs プロジェクト: Entalyan/EntTetris
        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();
        }
コード例 #22
0
ファイル: Block.cs プロジェクト: WVI/PuzzleLeagueMAYHEM
        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)];
        }
コード例 #23
0
ファイル: GamePiece.cs プロジェクト: cheezballs/mattris
        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;
            }
            }
        }
コード例 #24
0
        public static Image GetSetImageGDI(int LevelNumber, char TetrominoType)
        {
            BlockColors usebc = GetBlockColors(LevelNumber, TetrominoType);

            return(GetSetImageGDI(usebc));
        }
コード例 #25
0
        public static SKBitmap GetUnsetImage(int LevelNumber, char TetrominoType)
        {
            BlockColors usebc = GetBlockColors(LevelNumber, TetrominoType);

            return(GetUnsetImage(usebc));
        }
コード例 #26
0
 private static SKBitmap DrawUnSetImage(BlockColors basis)
 {
     return(DrawArrayImage(basis, UnSetByNumbers));
 }
コード例 #27
0
ファイル: scroll.cs プロジェクト: vizio360/colours
 // Use this for initialization
 void Start()
 {
     block = GetComponent<BlockColors>();
     Init();
 }