• 大小: 129KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-07-01
  • 语言: C#
  • 标签: 双人  

资源简介

C#实现的比较简单的双人俄罗斯方块C#实现的比较简单的双人俄罗斯方块C#实现的比较简单的双人俄罗斯方块C#实现的比较简单的双人俄罗斯方块,内容简单,也比较容易学

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.Drawing;


namespace Tetris1._0
{
    class Block
    {
        protected Point[] structArr;//存放砖块组成信息的坐标数组
        protected int _xPos;//砖块中心点所在的x坐标
        protected int _yPos;//砖块中心点所在的y坐标
        protected Color _backColor;//砖块的颜色
        protected Color _disapperColor;//擦除颜色
        protected int rectPix;//每单元格像素

        public Block()//默认构造函数,声明此构造函数是为了子类能创建
        {
 
        }
        public Block(Point[] sa Color bColor Color dColor int pix)
        {//重载构造函数,给成员变量赋值
            _backColor = bColor;
            _disapperColor = dColor;
            rectPix = pix;
            structArr = sa; 
        }

        public Point this[int index]//索引器,根据索引访问砖块里的小方块坐标
        {
            get
            {
                return structArr[index];
            }
        }
        public int Length//属性,表示structArr的长度
        {
            get
            {
                return structArr.Length;
            }
        }
        #region
        public int XPos//成员变量相应的属性
        {
            get
            {
                return _xPos;
            }
            set
            {
                _xPos = value;
            }
        }
        public int YPos
        {
            get
            {
                return _yPos;
            }
            set
            {
                _yPos = value;
            }
        }
        public Color BlockColor
        {
            get
            {
                return _backColor;
            }
        }
        #endregion

        public void DeasilRotate()//顺时针旋转
        {
            int temp;//旋转公式为:X1=y y1=-x
            for (int i = 0; i < structArr.Length; i++)
            {
                temp = structArr[i].X;
                structArr[i].X = structArr[i].Y;
                structArr[i].Y = -temp;
            }
 
        }
        public void ContraRotate()//逆时针旋转
        {
            int temp;
            for (int i = 0; i < structArr.Length; i++)
            {
                temp = structArr[i].X;
                structArr[i].X = -structArr[i].Y;
                structArr[i].Y = temp;
            }
 
        }
        private Rectangle PointToRect(Point p)//把一个坐标点转化为画布的坐标值
        {
            return new Rectangle((_xPos + p.X) * rectPix + 1
                                  (_yPos - p.Y) * rectPix + 1
                                  rectPix - 2
                                  rectPix - 2);
 
        }

        public virtual void Paint(Graphics gp)//在指定画板上绘制砖块
        {
            SolidBrush st = new SolidBrush(_backColor);
            foreach( Point p in structArr)
            {
                lock (gp)
                {
                    gp.FillRectangle(st PointToRect(p));
                }

            }
        }
        public void Erase(Gra

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     目录          0  2008-01-18 20:50  Tetris1.0

     目录          0  2008-02-14 11:22  Tetris1.0\Tetris1.0

     目录          0  2008-01-18 20:50  Tetris1.0\Tetris1.0\bin

     目录          0  2008-01-18 20:50  Tetris1.0\Tetris1.0\bin\Debug

     文件       1094  2003-01-01 12:57  Tetris1.0\Tetris1.0\bin\Debug\BlockSet.xml

     文件      65536  2008-02-14 11:22  Tetris1.0\Tetris1.0\bin\Debug\Tetris1.0.exe

     文件     114176  2008-02-14 11:22  Tetris1.0\Tetris1.0\bin\Debug\Tetris1.0.pdb

     文件       5632  2005-12-08 14:51  Tetris1.0\Tetris1.0\bin\Debug\Tetris1.0.vshost.exe

     文件       3465  2003-03-23 20:36  Tetris1.0\Tetris1.0\Block.cs

     文件       1513  2003-03-23 20:32  Tetris1.0\Tetris1.0\BlockGroup.cs

     文件       1288  2003-03-22 14:47  Tetris1.0\Tetris1.0\BlockInfo.cs

     文件       1225  2003-03-21 13:57  Tetris1.0\Tetris1.0\BlockSet.xml

     文件      13655  2003-03-22 17:05  Tetris1.0\Tetris1.0\Config.cs

     文件       2972  2008-01-27 17:14  Tetris1.0\Tetris1.0\FixedBlock.cs

     文件      12995  2003-03-22 20:30  Tetris1.0\Tetris1.0\FrmConfig.cs

     文件      30642  2003-03-22 15:42  Tetris1.0\Tetris1.0\FrmConfig.Designer.cs

     文件      14119  2003-03-22 15:42  Tetris1.0\Tetris1.0\FrmConfig.resx

     文件       8074  2008-01-27 16:59  Tetris1.0\Tetris1.0\FrmTetris.cs

     文件      17239  2008-01-27 16:53  Tetris1.0\Tetris1.0\FrmTetris.Designer.cs

     文件       6185  2008-01-27 16:53  Tetris1.0\Tetris1.0\FrmTetris.resx

     文件       2916  2003-03-22 14:47  Tetris1.0\Tetris1.0\InfoArr.cs

     目录          0  2008-01-18 20:50  Tetris1.0\Tetris1.0\obj

     目录          0  2008-02-14 11:22  Tetris1.0\Tetris1.0\obj\Debug

     目录          0  2008-01-18 20:50  Tetris1.0\Tetris1.0\obj\Debug\Refactor

     目录          0  2008-01-18 20:50  Tetris1.0\Tetris1.0\obj\Debug\TempPE

     文件       4608  2003-01-01 08:39  Tetris1.0\Tetris1.0\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll

     文件        908  2008-01-27 16:53  Tetris1.0\Tetris1.0\obj\Debug\Tetris1.0.csproj.GenerateResource.Cache

     文件      65536  2008-02-14 11:22  Tetris1.0\Tetris1.0\obj\Debug\Tetris1.0.exe

     文件     114176  2008-02-14 11:22  Tetris1.0\Tetris1.0\obj\Debug\Tetris1.0.pdb

     文件       1225  2003-03-21 13:57  Tetris1.0\Tetris1.0\obj\Debug\Tetris1._0.BlockSet.xml

............此处省略20个文件信息

评论

共有 条评论