社区
下载资源悬赏专区
帖子详情
俄罗斯方块游戏下载
weixin_39821746
2019-09-04 04:00:29
俄罗斯方块,用于学习java的基础,初学者都应该学习的一个游戏
相关下载链接:
//download.csdn.net/download/u011672963/7224093?utm_source=bbsseo
...全文
10
回复
打赏
收藏
俄罗斯方块游戏下载
俄罗斯方块,用于学习java的基础,初学者都应该学习的一个游戏 相关下载链接://download.csdn.net/download/u011672963/7224093?utm_source=bbsseo
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
python基于pygame的
俄罗斯方块
小
游戏
源码.zip
python基于pygame的
俄罗斯方块
小
游戏
源码。python基于pygame的
俄罗斯方块
小
游戏
源码。python基于pygame的
俄罗斯方块
小
游戏
源码。python基于pygame的
俄罗斯方块
小
游戏
源码。python基于pygame的
俄罗斯方块
小
游戏
源码。python基于pygame的
俄罗斯方块
小
游戏
源码。python基于pygame的
俄罗斯方块
小
游戏
源码。python基于pygame的
俄罗斯方块
小
游戏
源码。python基于pygame的
俄罗斯方块
小
游戏
源码。python基于pygame的
俄罗斯方块
小
游戏
源码。python基于pygame的
俄罗斯方块
小
游戏
源码。python基于pygame的
俄罗斯方块
小
游戏
源码。python基于pygame的
俄罗斯方块
小
游戏
源码。python基于pygame的
俄罗斯方块
小
游戏
源码。python基于pygame的
俄罗斯方块
小
游戏
源码。python基于pygame的
俄罗斯方块
小
游戏
源码。python基于pygame的
俄罗斯方块
小
游戏
源码。
俄罗斯方块
小
游戏
利用Python编写,pycharm平台,非常简短,很好上手,简单易学
C#版编写的
俄罗斯方块
游戏
C#版
俄罗斯方块
摘要 2008-07-07 09:38 阅读87 评论0 字号: 大大 中中 小小 C++是
游戏
编程的首选语言,但我相信C++能做到的C#也能做到。 本篇介绍用C#编写一个
俄罗斯方块
程序的原理,以及在C#里面播放声音,保存
游戏
设置的方法。
游戏
界面预览: 菜单预览: 自定义每个小方块颜色功能界面:
游戏
主要有四部分组成:Square类,Block类,gameField类,
游戏
引擎 Square类: 这个类描述的对象是组成大方块中的每个小正方形实体。 类设计: class Square { public Point location; //小方块的坐标 public Size size; //小方块大小 public Color foreColor; //小方块前景色 public Color backColor; //小方块背景色 public Square(Size initSize,Color initForeColor,Color initBackColor) //构造函数 { ……} public void Draw(System.IntPtr winHandle) //在指定设备上画方块 { …… } public void Erase(System.IntPtr winHandle)//擦除方块 { …… } } Block类: 这个类描述的对象是某一个大方块的实体。每个大方块由四个小正方形组成,一共有7种组合方式。这个类需要实现一个大方块实体所有的属性和动作。包括:方块的形状,位置,方块左移,右移,下移,旋转等。 类设计: class Block { public Square square1; //组成block的四个小方块 public Square square2; public Square square3; public Square square4; private const int squareSize = GameField.SquareSize; //小方块的边长 public enum BlockTypes { undefined = 0, square = 1, line = 2, J = 3, L = 4, T = 5, Z = 6, S = 7 };//一共有7种形状 public BlockTypes blockType; //方块的形状 //七个小方块的颜色数组 private Color foreColor; private Color backColor; //方块的方向 public enum RotateDirections { North = 1, East = 2, South = 3, West = 4 }; public RotateDirections myRotation = RotateDirections.North; public Block(Point thisLocation,BlockTypes bType) { ……} //含有自定义颜色的重载 public Block(Point thisLocation, BlockTypes bType,Color fc,Color bc) { ……} /*画方块*/ public void Draw(System.IntPtr winHandle) {…… } /*擦方块*/ public void Erase(System.IntPtr winHandle) {…… } /*移动*/ public bool down() {……} public bool left() {……} public bool right() {……} /*旋转block*/ public void Rotate() {……} /*检测是否到顶*/ public int Top() {……} } GameField类: 这个类描述的对象是
游戏
场景实体,包括场景的背景色,大小,方块是否还可以移动,以及场景中填满一行的检测等。 类设计: class GameField { public const int width = 20; //场景的宽,以方块个数为单位 public const int height = 30; public const int SquareSize = 15; //每个四分之一小方块的边长 public static Color BackColor; //场景的背景色 public static System.IntPtr winHandle; //场景的handle public static Color[] BlockForeColor ={ Color.Blue, Color.Beige, Color.DarkKhaki, Color.DarkMagenta, Color.DarkOliveGreen, Color.DarkOrange, Color.DarkRed }; public static Color[] BlockBackColor ={ Color.LightCyan, Color.DarkSeaGreen, Color.Beige, Color.Beige, Color.Beige, Color.Beige, Color.Beige }; public static bool isChanged=false; //设置是否被更改的标志位 public static SoundPlayer sound = new SoundPlayer(); //播放声音 public static Square[,] arriveBlock = new Square[width, height]; //保存已经不能再下落了的方块 public static int[] arrBitBlock=new int[height]; //位数组:当某个位置有方块时,该行的该位为1 private const int bitEmpty = 0x0; //0000 0000 0000 0000 0000 private const int bitFull = 0xFFFFF; //1111 1111 1111 1111 1111 /*检测某个位置是否为空*/ public static bool isEmpty(int x, int y) {……} /*将方块停住*/ public static void stopSquare(Square sq, int x, int y) {……} /*检测行是否满 * 返回:成功消除的行数和 (方便统计分数) */ public static int CheckLines() { ……} /*播放声音*/ public static void PlaySound(string soundstr) {……} /*重画*/ public static void Redraw() { …… } //结束 }
游戏
引擎:
游戏
引擎正如其名,就像一个发动机一样让
游戏
不间断运行。本
游戏
中就是让方块以一定的速度下落。并响应键盘事件,实行左右移动,和向下加速功能。(代码见源码) 声音播放: 音效是
游戏
不可缺少的一部分。在.Net2.0中已经提供了一个类来播放声音。在using System.Media;命名空间。 本
游戏
中播放声音的代码如下:(在 GameField类中) using System.Media; public static SoundPlayer sound = new SoundPlayer(); /*播放声音*/ public static void PlaySound(string soundstr) { switch (soundstr) { case "FinishOneLine": //消除一行的声音 if (!File.Exists("FinishOneLine.wav")) return; sound.SoundLocation = "FinishOneLine.wav"; break; case "CanNotDo": //当无法操作时 if (!File.Exists("CanNotDo.wav")) return; sound.SoundLocation = "CanNotDo.wav"; break; } sound.Play(); } 要播放的时候调用PlaySound()方法即可。 其实步骤很简单,先引用System.Media空间,然后创建一个SoundPlayer 对象,用SoundLocation 属性设置声音文件的地址,然后调用Play()方法即可播放。不过注意,这个类可以播放的声音格式只有Wav文件。 保存
游戏
设置: 在
游戏
中经常要保存用户自定义的设置。本
游戏
通过写进ini文件来保存。 主要代码如: /*加载窗体时从配置文件Setting.ini中读取
游戏
设置*/ private void getSettings() { if (!File.Exists("Setting.ini")) return; FileStream fs = new FileStream("Setting.ini", FileMode.OpenOrCreate, FileAccess.ReadWrite); StreamReader sr = new StreamReader(fs); string line1=sr.ReadLine(); string line2=sr.ReadLine(); string line3=sr.ReadLine(); if (line1 != null && line1.Split('=').Length > 1) { GameField.BackColor = Color.FromArgb(int.Parse(line1.Split('=')[1])); picBackGround.BackColor = GameField.BackColor; } if (line2 != null && line2.Split('=').Length > 1) GameField.BlockForeColor = strToColor(line2.Split('=')[1]); if (line3 != null && line3.Split('=').Length > 1) GameField.BlockBackColor = strToColor(line3.Split('=')[1]); sr.Close(); fs.Close(); } /*如果
游戏
设置被更改,将新的设置保存到Setting.ini*/ private void saveSettings() { FileStream fs = new FileStream("Setting.ini", FileMode.Create, FileAccess.ReadWrite); StreamWriter sw = new StreamWriter(fs); sw.WriteLine("GameFieldColor="+GameField.BackColor.ToArgb()); sw.WriteLine("BlockFroeColor=" + colorToStr(GameField.BlockForeColor)); sw.WriteLine("BlockBackColor=" + colorToStr(GameField.BlockBackColor)); sw.Flush(); sw.Close(); fs.Close(); }
令人惊奇的EXCEL版
俄罗斯方块
游戏
用EXCEL VBA编写的
俄罗斯方块
游戏
C#
俄罗斯方块
游戏
源码
C#
俄罗斯方块
游戏
源码
下载资源悬赏专区
12,694
社区成员
12,200,525
社区内容
发帖
与我相关
我的任务
下载资源悬赏专区
CSDN 下载资源悬赏专区
复制链接
扫一扫
分享
社区描述
CSDN 下载资源悬赏专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章