一、砖块样式配置窗体

第一步 双击lbl的paint事件

第二步 双击lblMode的MouseClick

自定义界面反思:

  1. 要想改变Label的大小,AutoSize属性必须改。
  2. 不能在第一步后将Graphics Dispose掉,会报没有参数的错。
  3. 数组实例化 int[ , ] arr=new int[5,5];   //表示声明一个五行五列的二维数组(数组使用前需实例化)
  4. 调用数组时用arr[x,y]
  5. int[ , ] arr=new int[5,5];   这个一定要是全局变量
  6. 第二步i提供一个方法:将屏幕像素转化为砖块数组下标,以至可以用数组存放这25个砖块,达到用数组下标调用砖块的目的。

   这样做出来后,还不是完美的。当你最小化页面时,这些你选择的变色了的方块会全部消失。我们还需做第三步来补充。

第三步 在Paint事件中再加入如下代码

   

  总结: 以完成数组中保存的各个方块的bool值,能够让每次重绘时再现我们之前选好的方块

第四步 实现砖块颜色自定义

  1. 拖入一个ColorDialog
  2. 拖入一个lblColor,修改属性AutoSize,BorderStyle--Fixed3D,
  3. 双击lblColor的Click事件。写入如下代码:

  总结:

  1. 要将方块的颜色定义成一个全局变量BlockColor.(第二步已经定义好了)。
  2. 最后一行代码要写,如果不写,那么你改变颜色时,已选好的砖块仍是上次的颜色,不会立即改变;改变的方块只是你执行颜色操作之后选择的方块。

第五步 实现将方块的信息储存,并显示在ListView控件上。

  1. 拖入一个ListView控件lsvBlockSet,修改属性View--Details,MultiSelect(一次选中多行)--False,GridLine(显示格子)--True,Columns--加两列(编码与颜色),FullRowSelect(全行选择)--True.
  2. 拖入一个Button控件btnAdd(添加),双击写代码:

  总结:

  1. 用一个blockString存储方块信息。eg:0010010110010001000000000
  2. 使用大量字符串连接时用StringBuilder类,而不是String类。最后再转化成String类,存放在blockString中。
  3. StringBuilder的Append方法是向sb对象中添加一个子字符。
  4. 数组遍历的方向是从上到下,而后从左到右。

第六步 实现切换listview选项,lblMode可以更新显示。

  1. 双击listview的ItemSelectionChanged事件:

  总结:

  1. 字符串也是可以索引的,s[i]表示字符串的第i个元素,i从0开始。
  2. 将字符串下标,转化为数组下标。

第七步 实现删除按钮功能,删除listview中的选项。

第八步 实现lblMode的清空(第七步将listView中删除一个条目,可lblMode中还存在该方块的形象)

  1. 拖入一个清空的按钮btnClear
  2. 双击按钮写如下事件:

  3. 在第七步的最后加一行代码,执行这个按钮的单击:

  总结:

  1. 用代码模仿按钮单击事件:btnClear.PerformClick();

第九步 添加编辑 “已存储方块”的按钮

  附: 第五步那个判断图案是否已经存在的代码也可以加进去。

转载于:https://www.cnblogs.com/xiaobaihappy/archive/2010/11/11/1874930.html

俄罗斯方块游戏笔记(一)——砖块样式配置窗体相关推荐

  1. wxPython 笔记(8)设定窗体的样式

    在前面的学习笔记中,我们已经学习过了wx.Frame 初始化函数的几个参数,现在来回顾一下,分别是: 第一个参数 parent:父窗体的引用,如果没有则传入None: 第二个参数 id:窗口的 id ...

  2. C++编写简单的俄罗斯方块游戏

    代码地址如下: http://www.demodashi.com/demo/14593.html C++编写简单的俄罗斯方块游戏 使用C++编写一个简单的俄罗斯方块游戏. 1 环境要求 使用C++图形 ...

  3. 基于java的俄罗斯方块游戏系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)

    基于Java的俄罗斯方块游戏的设计与实现 俄罗斯方块是一款风靡全球,从一开始到现在都一直经久不衰的电脑.手机.掌上游戏机产品,是一款游戏规则简单,但又不缺乏乐趣的简单经典小游戏,上手容易,适用范围广泛 ...

  4. 安卓开发: Jetpack compose + kotlin 实现 俄罗斯方块游戏

    文章目录 前言 俄罗斯方块开发文档 1.摘要 2.开发工具选取 2.1.Compose 的自身优点 2.2.数据驱动界面 3.设计需求 3.1.功能需求 3.1.1.基本游戏功能 3.1.2.拓展功能 ...

  5. EasyX实现俄罗斯方块游戏

    文章目录 1 启动页面 1.1 启动页面分析 1.2 启动界面代码实现 2 初始化游戏环境 2.1 界面效果及分析 2.2 代码实现 3 新方块 3.1 显示效果 3.2 分析 3.3 代码实现 4 ...

  6. 【java毕业设计】基于java+swing+Eclipse的俄罗斯方块游戏GUI设计与实现(毕业论文+程序源码)——俄罗斯方块游戏

    基于java+swing+Eclipse的俄罗斯方块游戏GUI设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+swing+Eclipse的俄罗斯方块游戏GUI设计与实现,文章末尾 ...

  7. 用andengine做一款俄罗斯方块游戏

    andengine 入门 AndEngine初步 作者: Me 日期: 2010/12/16 发表评论 (1)查看评论 AndEngine 是一个Android平台下基于OpenGL ES的免费(LG ...

  8. 500行代码写一个俄罗斯方块游戏

    导读:本文我们要制作一个俄罗斯方块游戏. 01 俄罗斯方块 Tetris 俄罗斯方块游戏是世界上最流行的游戏之一.是由一名叫Alexey Pajitnov的俄罗斯程序员在1985年制作的,从那时起,这 ...

  9. java实现俄罗斯方块游戏

    1.功能需求 2.软件功能架构图 3.界面设计 4.程序逻辑图 5.实现代码 创建控制面板并添加按钮 初始化界面 添加事件监听 创建方块 实现对方块操作 游戏主类,实现游戏控制 功能需求 1. 在二维 ...

最新文章

  1. verify https android,信任https
  2. Python数据可视化——使用Matplotlib创建散点图
  3. idea提交spark任务,内存不足,指定JVM内存的解决方法
  4. Linux:编译生成内核模块(来自国嵌的视频教学)
  5. 包包的结构制图_15种常见领型的结构制图
  6. 计算机网络传媒介,2.3 网络传输媒介 - 第2章 计算机网络硬件基础 - 《计算机网络技术与应用》 - 倾心驿站 - 恰教程网...
  7. leaks will report false positives while the environment variable NSZombiesEnable is active
  8. 【手写数字识别】基于matlab GUI BP神经网络手写数字识别(手写+带面板)【含Matlab源码 1196期】
  9. 网络安全系列-X: TCP/IP协议及报文格式详解
  10. 取字模软件的资源与链接
  11. Java如何使用JDOM解析XML呢?
  12. 看厌了官方皮肤,快试试微信QQ半透明主题!不仅会动还有声音!
  13. 计算机课情感态度与价值观,浅谈信息技术课中情感态度价值观的培养
  14. QT中窗口置顶失效问题解决方案
  15. Linux gzip压缩输出
  16. python 安装CV2
  17. 二次曲面的绘制函数(一)
  18. 阿拉巴数字转化为中文大写
  19. 大数据可视化陈为智慧树_智慧树知到_大数据可视化_答案章节单元测试答案
  20. 想成为一名数据库工程师,你必须知道这些

热门文章

  1. 用YACC/LEX 设计计算机语言
  2. 经典Golang语法50问!
  3. golang中的指针
  4. golang中的strings.SplitN
  5. 以太坊(Ethereum ETH)是如何计算难度的
  6. jvm二:类加载,连接,初始化
  7. linux之ifconfig、ifup、ifdown
  8. swift的可选值(optional)
  9. McAfee ENS
  10. 离散数学--二元关系总结