俄罗斯方块游戏笔记(一)——砖块样式配置窗体
一、砖块样式配置窗体
第一步 双击lbl的paint事件
第二步 双击lblMode的MouseClick
自定义界面反思:
- 要想改变Label的大小,AutoSize属性必须改。
- 不能在第一步后将Graphics Dispose掉,会报没有参数的错。
- 数组实例化 int[ , ] arr=new int[5,5]; //表示声明一个五行五列的二维数组(数组使用前需实例化)
- 调用数组时用arr[x,y]
- int[ , ] arr=new int[5,5]; 这个一定要是全局变量
- 第二步i提供一个方法:将屏幕像素转化为砖块数组下标,以至可以用数组存放这25个砖块,达到用数组下标调用砖块的目的。
这样做出来后,还不是完美的。当你最小化页面时,这些你选择的变色了的方块会全部消失。我们还需做第三步来补充。
第三步 在Paint事件中再加入如下代码
总结: 以完成数组中保存的各个方块的bool值,能够让每次重绘时再现我们之前选好的方块
第四步 实现砖块颜色自定义
- 拖入一个ColorDialog
- 拖入一个lblColor,修改属性AutoSize,BorderStyle--Fixed3D,
- 双击lblColor的Click事件。写入如下代码:
总结:
- 要将方块的颜色定义成一个全局变量BlockColor.(第二步已经定义好了)。
- 最后一行代码要写,如果不写,那么你改变颜色时,已选好的砖块仍是上次的颜色,不会立即改变;改变的方块只是你执行颜色操作之后选择的方块。
第五步 实现将方块的信息储存,并显示在ListView控件上。
- 拖入一个ListView控件lsvBlockSet,修改属性View--Details,MultiSelect(一次选中多行)--False,GridLine(显示格子)--True,Columns--加两列(编码与颜色),FullRowSelect(全行选择)--True.
- 拖入一个Button控件btnAdd(添加),双击写代码:
总结:
- 用一个blockString存储方块信息。eg:0010010110010001000000000
- 使用大量字符串连接时用StringBuilder类,而不是String类。最后再转化成String类,存放在blockString中。
- StringBuilder的Append方法是向sb对象中添加一个子字符。
- 数组遍历的方向是从上到下,而后从左到右。
第六步 实现切换listview选项,lblMode可以更新显示。
- 双击listview的ItemSelectionChanged事件:
总结:
- 字符串也是可以索引的,s[i]表示字符串的第i个元素,i从0开始。
- 将字符串下标,转化为数组下标。
第七步 实现删除按钮功能,删除listview中的选项。
第八步 实现lblMode的清空(第七步将listView中删除一个条目,可lblMode中还存在该方块的形象)
- 拖入一个清空的按钮btnClear
- 双击按钮写如下事件:
- 在第七步的最后加一行代码,执行这个按钮的单击:
总结:
- 用代码模仿按钮单击事件:btnClear.PerformClick();
第九步 添加编辑 “已存储方块”的按钮
附: 第五步那个判断图案是否已经存在的代码也可以加进去。
转载于:https://www.cnblogs.com/xiaobaihappy/archive/2010/11/11/1874930.html
俄罗斯方块游戏笔记(一)——砖块样式配置窗体相关推荐
- wxPython 笔记(8)设定窗体的样式
在前面的学习笔记中,我们已经学习过了wx.Frame 初始化函数的几个参数,现在来回顾一下,分别是: 第一个参数 parent:父窗体的引用,如果没有则传入None: 第二个参数 id:窗口的 id ...
- C++编写简单的俄罗斯方块游戏
代码地址如下: http://www.demodashi.com/demo/14593.html C++编写简单的俄罗斯方块游戏 使用C++编写一个简单的俄罗斯方块游戏. 1 环境要求 使用C++图形 ...
- 基于java的俄罗斯方块游戏系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)
基于Java的俄罗斯方块游戏的设计与实现 俄罗斯方块是一款风靡全球,从一开始到现在都一直经久不衰的电脑.手机.掌上游戏机产品,是一款游戏规则简单,但又不缺乏乐趣的简单经典小游戏,上手容易,适用范围广泛 ...
- 安卓开发: Jetpack compose + kotlin 实现 俄罗斯方块游戏
文章目录 前言 俄罗斯方块开发文档 1.摘要 2.开发工具选取 2.1.Compose 的自身优点 2.2.数据驱动界面 3.设计需求 3.1.功能需求 3.1.1.基本游戏功能 3.1.2.拓展功能 ...
- EasyX实现俄罗斯方块游戏
文章目录 1 启动页面 1.1 启动页面分析 1.2 启动界面代码实现 2 初始化游戏环境 2.1 界面效果及分析 2.2 代码实现 3 新方块 3.1 显示效果 3.2 分析 3.3 代码实现 4 ...
- 【java毕业设计】基于java+swing+Eclipse的俄罗斯方块游戏GUI设计与实现(毕业论文+程序源码)——俄罗斯方块游戏
基于java+swing+Eclipse的俄罗斯方块游戏GUI设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+swing+Eclipse的俄罗斯方块游戏GUI设计与实现,文章末尾 ...
- 用andengine做一款俄罗斯方块游戏
andengine 入门 AndEngine初步 作者: Me 日期: 2010/12/16 发表评论 (1)查看评论 AndEngine 是一个Android平台下基于OpenGL ES的免费(LG ...
- 500行代码写一个俄罗斯方块游戏
导读:本文我们要制作一个俄罗斯方块游戏. 01 俄罗斯方块 Tetris 俄罗斯方块游戏是世界上最流行的游戏之一.是由一名叫Alexey Pajitnov的俄罗斯程序员在1985年制作的,从那时起,这 ...
- java实现俄罗斯方块游戏
1.功能需求 2.软件功能架构图 3.界面设计 4.程序逻辑图 5.实现代码 创建控制面板并添加按钮 初始化界面 添加事件监听 创建方块 实现对方块操作 游戏主类,实现游戏控制 功能需求 1. 在二维 ...
最新文章
- verify https android,信任https
- Python数据可视化——使用Matplotlib创建散点图
- idea提交spark任务,内存不足,指定JVM内存的解决方法
- Linux:编译生成内核模块(来自国嵌的视频教学)
- 包包的结构制图_15种常见领型的结构制图
- 计算机网络传媒介,2.3 网络传输媒介 - 第2章 计算机网络硬件基础 - 《计算机网络技术与应用》 - 倾心驿站 - 恰教程网...
- leaks will report false positives while the environment variable NSZombiesEnable is active
- 【手写数字识别】基于matlab GUI BP神经网络手写数字识别(手写+带面板)【含Matlab源码 1196期】
- 网络安全系列-X: TCP/IP协议及报文格式详解
- 取字模软件的资源与链接
- Java如何使用JDOM解析XML呢?
- 看厌了官方皮肤,快试试微信QQ半透明主题!不仅会动还有声音!
- 计算机课情感态度与价值观,浅谈信息技术课中情感态度价值观的培养
- QT中窗口置顶失效问题解决方案
- Linux gzip压缩输出
- python 安装CV2
- 二次曲面的绘制函数(一)
- 阿拉巴数字转化为中文大写
- 大数据可视化陈为智慧树_智慧树知到_大数据可视化_答案章节单元测试答案
- 想成为一名数据库工程师,你必须知道这些