C# Winform贪吃蛇小游戏源码


文章目录

作者:xcLeigh

文章地址:https://blog.csdn.net/weixin_43151418/article/details/144062503


C# Winform贪吃蛇小游戏源码,贪吃蛇小游戏源码,窗体应用程序贪吃蛇小游戏源码,界面风格干净整洁,内容条理清晰,贪吃蛇小游戏分为四个等级,一般难度,中等难度,困难难度,疯狂模式难度。难度越大,小蛇跑的越快,还记录游戏最高分,快来体验吧,这个源码让你快速搭建自己的应用程序,注释完整,代码规范,各种风格都有,代码上手简单,代码独立,可以直接用程序打开,运行使用。也可直接点击EXE运行程序。

1.设计来源

本文章是分类专栏下的【C#实战案例

】里面的一篇,专栏里面包括网站,窗体应用程序的源码,技术点解析等案列源码,让你更加掌握C#。持续更新中,欢迎大家关注,一起学习交流。

✂ 点击快速进入专栏

贪吃蛇小游戏讲解

游戏规则:

《贪食蛇》(也叫贪吃蛇)是1976年推出的一款街机游戏游戏。

‌‌《贪食蛇》中玩家控制一条不断移动的蛇,在屏幕上吃掉出现的食物。每吃掉一个食物,蛇的身体就会变长。游戏的目标是尽可能长时间地生存下去,同时避免蛇头撞到自己的身体或屏幕边缘。游戏最初是像素风格,后来发展出了3D版本和多人对战模式。玩家需要灵活操作,利用策略在有限的空间内避免碰撞,挑战高分。

1.1 主界面

贪吃蛇小游戏游戏开始效果,展示自己的logo和标题(这里可以自定义,可以扩展自己想要的风格),点击开始游戏图标进入游戏界面,头部导航菜单分为常规操作(里面有开始游戏,游戏说明等相关操作),难度配置(里面有一般难度,中等难度,困难难度,疯狂模式难度四种模式),最高分(里面有清除最高分和查看最高分操作)三个大项,通过WASD或者上下左右箭头操作蛇的方向。

1.2 难度配置演示

贪吃蛇小游戏游戏开始效果,展示自己的logo和标题(这里可以自定义,可以扩展自己想要的风格),点击开始游戏图标进入游戏界面,头部导航菜单分为常规操作(里面有开始游戏,游戏说明等相关操作),难度配置(里面有一般难度,中等难度,困难难度,疯狂模式难度四种模式),最高分(里面有清除最高分和查看最高分操作)三个大项,通过WASD或者上下左右箭头操作蛇的方向。

1.3 游戏开始效果

贪吃蛇小游戏游戏开始效果,展示自己的logo和标题(这里可以自定义,可以扩展自己想要的风格),点击开始游戏图标进入游戏界面,头部导航菜单分为常规操作(里面有开始游戏,游戏说明等相关操作),难度配置(里面有一般难度,中等难度,困难难度,疯狂模式难度四种模式),最高分(里面有清除最高分和查看最高分操作)三个大项,通过WASD或者上下左右箭头操作蛇的方向。

1.4 游戏结束效果

贪吃蛇小游戏游戏游戏结束效果,展示自己的logo和标题(这里可以自定义,可以扩展自己想要的风格),点击开始游戏图标进入游戏界面,头部导航菜单分为常规操作(里面有开始游戏,游戏说明等相关操作),难度配置(里面有一般难度,中等难度,困难难度,疯狂模式难度四种模式),最高分(里面有清除最高分和查看最高分操作)三个大项,通过WASD或者上下左右箭头操作蛇的方向。

2.效果和源码

2.1 动态效果

这里是完整的效果演示,可在此代码基础上更加完善功能,支持扩展自己的风格,可以删减内容,打造属于自己的贪吃蛇小游戏。

C# Winform贪吃蛇小游戏源码

2.2 源代码

这里是部分技术点的代码演示,更多代码,资源文件,见下面的 源码下载 ,里面有所有代码资源和相关说明。或者直接在这里 下载源码,如有其他技术问题,请私信博主,博主看到后第一时间回复。

  • Snake 绘制蛇

    复制代码
    //定义颜色大小坐标
    private Color color;
    private int size;
    private Point point;
    //实例化类时的初始化数值
    public snake(Color color, int size, Point p)
    {
        this.color = color;
        this.size = size;
        this.point = p;
    }
    //获取坐标的方法
    public Point getpoint
    {
        get
        {
            return point;
        }
    }
    //绘制蛇身体的长方体块
    public virtual void Paint(Graphics g)
    {
        SolidBrush sb = new SolidBrush(color);
        lock (g)
        {
            try
            {
                g.FillRectangle(sb, point.X * size, point.Y * size, size - 1, size - 1);
            }
            catch { }
        }
    }
  • 按键操作处理

    //wasd或上下左右控制移动方向
    if(e.KeyCode==Keys.W||e.KeyCode==Keys.Up)
    {
    p.Direction = palette.directions.up;
    }
    else if(e.KeyCode==Keys.S||e.KeyCode==Keys.Down)
    {
    p.Direction = palette.directions.down;
    }
    else if(e.KeyCode==Keys.A||e.KeyCode==Keys.Left)
    {
    p.Direction = palette.directions.left;
    }
    else if(e.KeyCode==Keys.D||e.KeyCode==Keys.Right)
    {
    p.Direction = palette.directions.right;
    }
    label2.Text = "当前得分:" + Convert.ToString(p.score)+" 分";
    if(p.score>highest_score)
    {
    highest_score = p.score;
    RegistryKey regkey = Registry.CurrentUser.CreateSubKey("new_high_score");//注册表记录最高分
    regkey.SetValue("highscore", Convert.ToString(highest_score));
    regkey.Close();
    }


源码下载

注:源码下载在文章头部也可以点击下载,跟这里的是一样的

C# Winform贪吃蛇小游戏源码(源码) 点击下载

万套模板,程序开发,在线开发,在线沟通


--------------- 业精于勤,荒于嬉 ---------------


--------------- 行成于思,毁于随 ---------------


💢 关注博主 带你实现畅游前后端

🏰 大屏可视化 带你体验酷炫大屏

💯 神秘个人简介 带你体验不一样得介绍

💘 为爱表白 为你那个TA,体验别致的浪漫惊喜

🎀 酷炫邀请函 带你体验高大上得邀请


① 🉑提供云服务部署 (有自己的阿里云);

② 🉑提供前端、后端、应用程序、H5、小程序、公众号、大作业等相关业务;

如🈶合作请联系我,期待您的联系。

:本文撰写于CSDN平台,作者:xcLeigh(所有权归作者所有),https://blog.csdn.net/weixin_43151418,如果相关下载没有跳转,请查看这个地址,相关链接没有跳转,皆是抄袭本文,转载请备注本文原地址。


亲,码字不易,动动小手,欢迎 点赞 ➕ 收藏 ,如 🈶 问题请 留言(私信或评论),博主看见后一定及时给您答复,💌💌💌


原文地址:https://blog.csdn.net/weixin_43151418/article/details/144062503(防止抄袭,原文地址不可删除)

相关推荐
虾球xz2 小时前
CppCon 2016 学习:GAME ENGINE USING C++11
大数据·开发语言·c++·学习
Jet45052 小时前
第100+42步 ChatGPT学习:R语言实现阈值调整
开发语言·学习·chatgpt·r语言
虾球xz2 小时前
CppCon 2016 学习:fixed_point Library
开发语言·c++·学习
希希不嘻嘻~傻希希2 小时前
CSS 字体与文本样式笔记
开发语言·前端·javascript·css·ecmascript
寄思~3 小时前
Python学习笔记:错误和异常处理
开发语言·笔记·python·学习
clmm1233 小时前
Java动态生成Nginx服务配置
java·开发语言·nginx
夜空晚星灿烂3 小时前
C# 关于LINQ语法和类型的使用
windows·c#·linq
lzb_kkk3 小时前
【MFC】编辑框、下拉框、列表控件
c语言·开发语言·c++·mfc·1024程序员节
繢鴻3 小时前
Python环境搭建
开发语言·python
code bean3 小时前
【C#】 C#中 nameof 和 ToString () 的用法与区别详解
android·java·c#