小菜学习Winform(一)贪吃蛇2
前言
上一篇《小菜学习Winform(一)贪吃蛇》中实现了简单版的贪吃蛇,在文章末也提到需要优化的地方,比如使用oo、得分模式、速度加快模式和减少界面重绘。因为是优化篇,实现方式上一篇有,这一篇大家看看代码就行。当然小菜不是搞游戏开发的,程序可能有很多问题,这里点到即止,有时间小菜会加强学习。
实现
说到oo可能一说一大堆,这里面小菜只是简单的把贪吃蛇抽象出来,先来说蛇,具有的属性和行为,属性比如蛇的长度、蛇的宽度、蛇的行动方向等;行为比如是否吃到食物、是否撞墙等,那我们可以抽象一个蛇的类,这样实现:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing; namespace SnakeGame
{
public class Snake
{
public int SnkWidth = ;//蛇的每个点的宽度
public const int SnakeMaxLength = ;//最大长度
public Point[] SnkLct = new Point[SnakeMaxLength];
public int SnkLen;//蛇的长度
public byte SnkDrt = ;//方向 1上 2右 3下 4左 /// <summary>
/// 属性初始化
/// </summary>
public void SnakeInit()
{
int start = ;
this.SnkLen = ;
for (int i = ; i >=; i--)
{
this.SnkLct[i].X = start;
this.SnkLct[i].Y = ;
start += this.SnkWidth;
}
this.SnkDrt = ;//初始方向
}
/// <summary>
/// 判断是否撞到自己
/// </summary>
/// <returns></returns>
public bool CheckSnakeHeadInSnakeBody()
{
return this.CheckInSnakeBody(this.SnkLct[].X, this.SnkLct[].Y, );
}
/// <summary>
/// 检查输入的坐标是否在蛇的身上
/// </summary>
/// <param name="x"></param>
/// <param name="y"></param>
/// <param name="snkHead"></param>
/// <returns></returns>
public bool CheckInSnakeBody(int x, int y, int snkHead)
{
for (int i =snkHead; i <=this.SnkLen; i++)
{
if(x==this.SnkLct[i].X&&y==this.SnkLct[i].Y)
{
return true;
}
}
return false;
}
/// <summary>
/// 判断是否撞墙
/// </summary>
/// <returns></returns>
public bool CheckSnakeBodyInFrm()
{
if (this.SnkLct[].X >= || this.SnkLct[].Y >= || this.SnkLct[].X < || this.SnkLct[].Y < )
return true;
else
return false;
}
/// <summary>
/// 判断是否吃到食物
/// </summary>
/// <param name="FoodLct"></param>
/// <returns></returns>
public bool EatedFoot(Point FoodLct)
{
if (SnkLct[].X == FoodLct.X && SnkLct[].Y == FoodLct.Y)
{
if (SnkLen < SnakeMaxLength)
{
SnkLen++;
SnkLct[SnkLen].X = SnkLct[SnkLen - ].X;
SnkLct[SnkLen].Y = SnkLct[SnkLen - ].Y;
}
return true;
}
else
return false;
}
/// <summary>
/// 设置Point数组坐标
/// </summary>
/// <param name="drc"></param>
public void Forward(int drc)
{
Point tmp = new Point();
tmp.X = SnkLct[].X;
tmp.Y = SnkLct[].Y;
for (int i = SnkLen; i > ; i--)
{//蛇头动,把蛇头的坐标逐个后移(蛇身往蛇头方向位移)
SnkLct[i].X = SnkLct[i - ].X;
SnkLct[i].Y = SnkLct[i - ].Y;
} switch (drc)
{//根据设置的方向,计算蛇头的坐标
case :
SnkLct[].X = tmp.X;
SnkLct[].Y = tmp.Y - SnkWidth;
break; //上
case :
SnkLct[].X = tmp.X + SnkWidth;
SnkLct[].Y = tmp.Y;
break; //右
case :
SnkLct[].X = tmp.X;
SnkLct[].Y = tmp.Y + SnkWidth;
break; //下
case :
SnkLct[].X = tmp.X - SnkWidth;
SnkLct[].Y = tmp.Y;
break; //左
}
}
}
}
抽象完蛇,那我们再说下贪吃蛇游戏,贪吃蛇这个游戏具有的元素有:蛇、食物、得分等,那我们这样来表现:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing; namespace SnakeGame
{
public class Game
{
public Point FoodLct = new Point();//缓存食物的坐标
public int score = ;//得分
public bool pause;//暂停
public Snake snake = new Snake();
/// <summary>
/// 游戏初始化
/// </summary>
public void GameInit()
{
this.pause = false;
this.score = ;
this.snake.SnakeInit();//初始化
}
/// <summary>
/// 随机显示食物
/// </summary>
public void ShowFood()
{
Random rmd = new Random();
int x, y;
x = rmd.Next(, ) * this.snake.SnkWidth;
y = + rmd.Next(, ) * this.snake.SnkWidth;
while (this.snake.CheckInSnakeBody(x,y,))
{
x = rmd.Next(,)*this.snake.SnkWidth;
y = + rmd.Next(, ) * this.snake.SnkWidth;
}
FoodLct.X = x;
FoodLct.Y = y;
}
/// <summary>
/// 分数
/// </summary>
/// <returns></returns>
public bool AddScore()
{
if(this.snake.EatedFoot(FoodLct))
{
this.score += ;
return true;
}
return false;
}
/// <summary>
/// 判断游戏是否结束
/// </summary>
/// <returns></returns>
public bool Dead()
{
return this.snake.CheckSnakeBodyInFrm()||this.snake.CheckSnakeHeadInSnakeBody();
}
}
}
其实使用oo还有很多地方需要细化,这里不是讲oo,所以只是简单的带过下。
然后是得分模式,就是蛇吃到一个食物就加10分,这个在AddScore()方法中有实现:
/// <summary>
/// 分数
/// </summary>
/// <returns></returns>
public bool AddScore()
{
if(this.snake.EatedFoot(FoodLct))
{
this.score += ;
return true;
}
return false;
}
再者是加速模式,蛇吃到一定量的时候后,难度会增加,爬行的速度会更快,这个可以在timer事件里面根据得分设置timer的执行间隔时间:
if (this.game.score < )
{
this.timMove.Interval = ;
}
else if (this.game.score < )
{
this.timMove.Interval = ;
}
else
{
this.timMove.Interval = ;
}
最后是减少界面重绘这个问题,因为小菜不是搞游戏开发的,那我只能减少界面的重绘数量,这边我是这样实现的,食物用label控件,显示用定位来体现,蛇的动作还是用GDI+来绘制。
主程序代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms; namespace SnakeGame
{
public partial class MainFrom : Form
{
public MainFrom()
{
InitializeComponent();
}
public Game game = new Game();
/// <summary>
/// 绘制一个方块
/// </summary>
/// <param name="x"></param>
/// <param name="y"></param>
private void DrawShape(int x, int y)
{
Graphics g = this.CreateGraphics();
Pen pen = new Pen(Color.Green, );
SolidBrush brush = new SolidBrush(Color.GreenYellow);
g.DrawRectangle(pen, x, y, , );
g.FillRectangle(brush, x, y, , );
}
/// <summary>
/// 开始
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsmiGameStart_Click(object sender, EventArgs e)
{
this.tsmiGamePause.Enabled = true;
this.game.GameInit();
this.timMove.Start();
this.game.ShowFood();
this.lblFood.Location = this.game.FoodLct;
}
/// <summary>
/// 暂停
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsmiGamePause_Click(object sender, EventArgs e)
{
if (this.game.pause == false)
{
this.game.pause = true;
this.timMove.Enabled = false;
}
else
{
this.game.pause = false;
this.timMove.Enabled = true;
}
this.tsmiGamePause.Checked = this.game.pause;
}
/// <summary>
/// 退出
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsmiGameExit_Click(object sender, EventArgs e)
{
Application.Exit();
}
/// <summary>
/// 加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void MainFrom_Load(object sender, EventArgs e)
{
this.timMove.Interval = ;
this.tsmiGamePause.Enabled = false;
}
/// <summary>
/// 时间事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void timMove_Tick(object sender, EventArgs e)
{
if (this.game.score < )
{
this.timMove.Interval = ;
}
else if (this.game.score < )
{
this.timMove.Interval = ;
}
else
{
this.timMove.Interval = ;
}
Graphics g = this.CreateGraphics();
g.Clear(Color.DarkKhaki);//清除整个画面
this.game.snake.Forward(this.game.snake.SnkDrt);
for (int i = ; i <= this.game.snake.SnkLen; i++)
{
DrawShape(this.game.snake.SnkLct[i].X, this.game.snake.SnkLct[i].Y);
}
if (this.game.AddScore())
{
this.game.ShowFood();
this.lblFood.Location = this.game.FoodLct;
}
this.Text = this.Text.Substring(, this.Text.IndexOf(" : ") + ) + this.game.score.ToString();
if (this.game.Dead())
{
this.timMove.Enabled = false;
this.tsmiGamePause.Enabled = false;
MessageBox.Show("游戏结束!\n" + "得分:" + this.game.score, "", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
/// <summary>
/// 方向键
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void MainFrom_KeyDown(object sender, KeyEventArgs e)
{
if (this.game.pause == false)
{
string key = e.KeyCode.ToString();
switch (key)
{
// 按 上方向键 或 小键盘的8键时,向上移动一单元格
case "Up":
{
// 正在向下走时,不允许向上;下面相同
if (this.game.snake.SnkDrt != )
this.game.snake.SnkDrt = ;
break;
}
case "Right":
{
if (this.game.snake.SnkDrt != )
this.game.snake.SnkDrt = ;
break;
}
case "Down":
if (this.game.snake.SnkDrt != )
this.game.snake.SnkDrt = ;
break; case "Left":
if (this.game.snake.SnkDrt != )
this.game.snake.SnkDrt = ;
break;
}
}
}
}
}
运行截图:
aaarticlea/png;base64,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" alt="" />
程序下载:贪吃蛇2
后记
这个小程序做到这,可能还有很多的问题,有时间小菜会尽量完善下。当然这个小游戏只是起到引子的作用,下面小菜会整理些winfrom其他相关的,希望大家可以关注下。
小菜学习Winform(一)贪吃蛇2的更多相关文章
- 小菜学习Winform(一)贪吃蛇
前言 说到贪吃蛇,大家可能小时候都玩过,小菜最近在整理Winfrom的学习系列,那我觉得有兴趣才会有学习,就从这个小游戏讲起吧. 实现 其实我刚开始学习编程的时候,感觉写个贪吃蛇的程序会很难,因为涉及 ...
- 小菜学习Winform(七)系统托盘
前言 有些程序在关闭或最小化的时候会隐藏在系统托盘中,双击或右击会重新显示,winform实现其功能很简单,这边就简单的介绍下. 实现 在winform实现托盘使用notifyIcon控件,如果加菜单 ...
- 小菜学习Winform(六)剪切板和拖放复制
前言 在做winform项目的时候有时候会用到复制粘贴,在.net中提供了Clipboard类来操作剪切板,我们来看下. clipbrd.exe clipbrd是系统剪切板程序,但是在vista及以上 ...
- 小菜学习Winform(五)窗体间传递数据
前言 做项目的时候,winfrom因为没有B/S的缓存机制,窗体间传递数据没有B/S页面传递数据那么方便,今天我们就说下winfrom中窗体传值的几种方式. 共有字段传递 共有字段传递实现起来很方便, ...
- 小菜学习Winform(四)MDI窗体(附示例)
前言 在做winfrom项目的时候我们可能会用到嵌套窗体,就是说一个容器中有多个窗体,可以分别管理和应用这些窗体,.net中提供了一种机制就是MDI,可能大家都会用,这边就简单的介绍下. 简单应用 w ...
- 小菜学习Winform(三)Socket点对点通信
前言 Socket的英文原义是“孔”或“插座”,其实在网络编程中Socket就是这个意思,就像我们打电话,要首先知道对方的手机号一样,这个手机号就相当于一个Socket号.一个插座,在网络编程中就是i ...
- 小菜学习Winform(二)WMPLib实现音乐播放器
前言 现在网上有很多的音乐播放器,但好像都不是.net平台做的,在.net中实现音乐文件的播放功能很简单,下面就简单实现下. SoundPlayer类 在.net提供了音乐文件的类:SoundPlay ...
- 小菜学习编程-Winform系列(初学者)
前言 记得上次写<小菜的程序员道路(二)>,这篇文章的时候说过,要把工作以来整理的编程知识分享给大家,因为这半年来的工作实在是忙,现在也在忙着公司产品上线,但是答应的一定要实现,大家看我上 ...
- 贪吃蛇的java代码分析(一)
自我审视 最近自己学习java已经有了一个多月的时间,从一开始对变量常量的概念一无所知,到现在能勉强写几个小程序玩玩,已经有了长足的进步.今天没有去学习,学校里要进行毕业答辩和拍毕业照了,于是请了几天 ...
随机推荐
- Torch7 Tensor切片总结
1.narrow(k,m,n) 这个函数是选中第k维的从m行开始,供选中n行 2.sub(dim1s,dim1e[,dim2s,dim2e,..,dim4s,dim4e]) 功能最强大,可以切任意的一 ...
- dubbo 常见错误
1. Caused by: java.lang.reflect.MalformedParameterizedTypeException 或 Caused by: java.lang.NoSuchMet ...
- CentOS7 编译安装 Git 服务器 Centos 7.0 + Git 2.2.0 + gitosis (实测 笔记)
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7.0-1406-x86_64-DVD.iso 服务器IP:192.168.1.31 域 ...
- webstorm快捷键
webstorm应该是目前最强的js编辑器了,结合sublime text可以很效率的开发项目.今天整理了一些webstorm比较实用的快捷键: Ctrl+/ 或 Ctrl+Shift+/ 注释(// ...
- spring quartz 配置实现定时任务 详解
一. 编写定时任务JAVA类 比如: public class QuartzJob { public QuartzJob(){ System.out.println(" ...
- spring注解配置实例
在spring中使用注解配置前需要先在配置文件指定需要扫描的包. 通过注解的方式依赖注入,可以不用创建set方法,也不用在xml文件中申明注入关系. 实例结构如下: 整个流程是: 先创建好数据库的表对 ...
- *HDU2147 博弈
kiki's game Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 40000/10000 K (Java/Others)Total ...
- 纯css3 Star
<style><!--* { box-sizing: border-box; padding: 0px; margin: 0px; } body, html { height: 10 ...
- Spring缓存框架原理浅谈
运维在上线,无聊写博客.最近看了下Spring的缓存框架,这里写一下 1.Spring 缓存框架 原理浅谈 2.Spring 缓存框架 注解使用说明 3.Spring 缓存配置 + Ehcache(默 ...
- ENode框架Conference案例分析系列之 - 上下文划分和领域建模
前面一片文章,我介绍了Conference案例的核心业务,为了方便后面的分析,我这里再列一下: 业务描述 Conference是这样一个系统,它提供了一个在线创建会议以及预订会议座位的平台.这个系统的 ...