俄罗斯方块分步程序

原创 2007年10月05日 10:58:00

 按照面向对象方法,对游戏进行细分,可以分为小区域和大块,大块由小区域组成.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Text;
using System.Windows.Forms;

namespace TT
{
    class Square
    {
        //属性
        public Point Location;    //方块出现的位置
        public Size size;         //方块大小
        public Color ForeColor;
        public Color BackColor;

        //构造方法,由于大小和颜色是固定的,所以可以在开始时就初始化
        public Square(Size InitialSize, Color InitialBackColor, Color InitialForeColor)
        {
            size = InitialSize;
            BackColor = InitialBackColor;
            ForeColor = InitialForeColor;
        }

        //用前景色画方块
        public void Show(System.IntPtr WinHandle)
        {
            Graphics GameGraphics;
            GraphicsPath graphPath;
            PathGradientBrush brushSqure;
            Color[] surroundColor;
            Rectangle rectSquare;

            GameGraphics = Graphics.FromHwnd(WinHandle);
            //梯度颜色
            graphPath = new GraphicsPath();
            rectSquare = new Rectangle(Location.X, Location.Y, size.Width, size.Height);
            graphPath.AddRectangle(rectSquare);

            brushSqure = new PathGradientBrush(graphPath);
            brushSqure.CenterColor = ForeColor;
            surroundColor = new Color[] { BackColor };
            brushSqure.SurroundColors = surroundColor;

            GameGraphics.FillPath(brushSqure, graphPath);
        }
        //用背景色画方块
        public void Hide(System.IntPtr WinHandle)
        {
            Graphics GameGraphics;
            Rectangle rectSquare;

            GameGraphics = Graphics.FromHwnd(WinHandle);

            rectSquare = new Rectangle(Location.X, Location.Y, size.Width, size.Height);
            GameGraphics.FillRectangle(new SolidBrush(GameField.BackColor), rectSquare);
        }
    }
}

 

注:这个为最新类,添加了梯度路径画笔,便方块更加美观.

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

用java写的俄罗斯方块小程序

这是java课最后做的课程设计,由于java是初学的,所以做的时候有参考一些技术大牛的博客,在此表示感谢。 发在这里跟大家交流学习一下。

JAVA俄罗斯方块程序 勉强能看懂,但是我写不出来,555

代码贴出如下: package com.zzk.cn; import java.awt.*; import java.awt.event.*; import javax.swing.*; impo...

C语言程序学习之俄罗斯方块

我最先接触的游戏当中就有俄罗斯方块,今天我就百度学习了一下它的思路和源代码: 一.思路 1.  设定小方块的大小和游戏区的坐标 每个俄罗斯方块都是有4个小方块构成的,所以我们要先设定好每个小方块...

原创:老司机为教老婆学Python,星期天用Python写了一个俄罗斯方块程序。现在分享给大家,供大家闲暇时娱乐。

----------------------------------------------------------------------------------------------------...

俄罗斯方块控制台程序C++

俄罗斯控制台程序,使用C++编程和简单的控制台使用。 内附详细的个人笔记,主要是思路的介绍。 此程序简单易学,可作为基础练习小程序。
  • ckzhb
  • ckzhb
  • 2017-04-09 19:58
  • 252

C#程序设计分析之俄罗斯方块

前言:            设计俄罗斯方块程序非常考验程序设计能力,也是学习编程的一个非常好的实践案例。能用设计出这个程序说明对C#语法的掌握基本没有问题了,但是不一定就说明编程能力就很强。我们应...

发布程序,多库俄罗斯方块系列

多库俄罗斯方块,是作者业余时间用多种语言界面库编写的俄罗斯方块小程序的集合,主要有以下特点: 1、开源程序,虽然算法普通,但是有比较详细的注释 2、多语言使用相同的算法,如果您熟悉一种语言,而又想...
  • fim
  • fim
  • 2012-07-08 22:48
  • 1267

单片机控制点阵俄罗斯方块的程序源码

主函数 #include #include "boxfunction.h" #define uchar unsigned char #define uint unsigned int sbit swi...
  • lidec
  • lidec
  • 2014-01-18 15:58
  • 1784

俄罗斯方块程序

import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import j...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)