WPF 2048游戏的实现
来源:互联网 发布:算法的乐趣 下载 编辑:程序博客网 时间:2024/06/05 23:47
前几天空闲的时候,实现了一个2048游戏。除了可以设置行数和列数之外,支持修改显示名称,比如下面,改成神雕侠侣中的角色名称:
游戏逻辑比较简单,大家都应该玩过。
这里主要实现了四个类:Game、GameBoard还有ColorBlock和BoardGridLine。
Game类主要用来实现游戏的控制,比如初始化、添加新的色块、移除色块、控制色块上下左右移动、改变积分,触发游戏结束等。
GameBoard继承自Canvas,实现了色块的合并、检测每个格子的状态等,另外提供了Game控制色块移动的接口。
ColorBlock类继承自Shape类,用于自定义色块的显示,包含XY坐标、颜色、显示文字等依赖属性,可以进行动画,另外还实现了具体的上下左右移动的方法。最初几个颜色是手动设置,等到色块越来越多,就随机生成一种颜色。
BoardGridLine也继承自Shape类,用于绘制Canvas底部的网格。
另外,游戏使用一个简单的文本文件保存设置,包括行数与列数,以及显示文字及其对应颜色,具体操作在Settings类中。
最后,按键事件封装在KeysNavigation中。
图标使用Expression Design制作:
游戏效果如下:
源码下载地址:
http://download.csdn.net/detail/xiangshimoni/8278267
0 0
- WPF 2048游戏的实现
- 游戏2048的实现
- WPF多线程的实现
- WPF的热键实现
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十一)地图遮罩层的实现
- WPF开发的ARPG游戏引擎(WPF Game Engine)
- [WPF]WPF实现MDI窗体的方法
- WPF写的斗地主游戏源码
- 2048游戏的Java实现
- 2048游戏实现的回顾
- Android游戏2048的实现
- C#入门学习-----推箱子游戏(WPF技术实现)
- C#入门学习-----推箱子游戏(WPF技术实现)
- WPF自定义窗体的实现
- wpf DataGrid的分页实现
- WPF的动画实现方式
- WPF旋转的界面实现
- WPF下ImageButton的实现
- SAP UI5 VS WebDynpro
- Apache 配置虚拟目录
- 庖丁系统的分词原理
- C变量重复定义错误
- C++学习笔记 | 第二章 变量和基本类型 | (1)
- WPF 2048游戏的实现
- vaadin之Servlet 与 URL 模式的映射
- svg动画实现弹性侧栏菜单
- Javase基础学习笔记之IO流(4)
- 《TCP/IP详解卷2:实现》笔记--TCP的定时器
- TAB_CANVAS使用总结(转)
- 一些常用常忘的LaTeX命令备份
- Pat(Basic Level)Practice--1026(程序运行时间)
- 一个挺不错的mysql锁表的说明,页级锁,表级锁,行级锁