C#winform 经典小游戏贪吃蛇V1.0(一)

C#winform 经典小游戏贪吃蛇V2.0(二) 关于V2.0 经过上一篇文章 贪吃蛇V1.0 我们的蛇已经能跑能吃,但是还是存在着许多的问题, 没有死亡判定; 不能调节游戏难度; 没有开始界面; 游戏界面太单调。 这里列出来的只是一部分的问题,也是我们这个版本主要解决的问题! 首先针对游戏界面的问题 由于原先的界面为单调的纯白,这样不仅加大了游戏难度,玩家的体验也极差, 所以我在游戏的界面添加了网格线,让玩家可以更加精准的找... 阅读详情

关于V1.0

  为什么我给这个版本定义为V1.0嘞,因为在这个版本中仅仅实现了蛇的自动行进,按键对蛇的行进方向的操作和吃掉食物蛇身的增长等操作。
但是任何事情都必须一步一步来,当我们完成这个乞丐版的贪吃蛇,就为我们版本的更新打下了基础。
##思路
首先我们生成一个空白的的窗体,然后再放一个timer控件,好了我们的游戏界面就建好了。
直接写后台代码。
没错就是这么简陋,
你可能会问:”蛇喃?“,
别急,别急,
我们的蛇体和食物为在后台生成的label控件,
我们通过控制label控件在界面的显示来表示蛇的移动和生长!
这里写图片描述

开整

生成成员变量

代码中Key_Name为记录键盘状态的变量,初始为start
label标签的数组Snake_Boby
随机数R
记录位置的两个变量

        //定义成员变量
        /// <summary>
        /// 键盘状态,初始为   start
        /// </summary>
        string Key_Name = "start";
        /// <summary>
        /// 蛇身数组
        /// </summary>
        Label[] Snake_Boby = new Label[3000];
        /// <summary>
        /// 随机数,用于生成food
        /// </summary>
        Random R = new Random();
        /// <summary>
        /// 记录位置
        /// </summary>
        int Snake_Boby_content_x = 0, Snake_Boby_content_y = 0;

贪吃蛇的初始化

在窗体的初始化事件Form1_Load中添加长度为5个label的蛇身
一个label的初始大小为10*10,并设置其的一些属性。
其中
Timer_Tick为蛇的移动事件,既每隔一次timer.Tick执行一次Timer_Tick
Form1_KeyDown为对键盘的监控
**Snake_food()**为食物的生成事件

        private void Form1_Load(object sender, EventArgs e)
        {
            this.Top = 120;
            this.Left = 120;
            this.Width = 800;
            this.Height = 800;
            this.BackColor = Color.Blue;
            //初始化一个label蛇体,长度为5个label,一个label height= width = 10
            for (int i = 0; i < 8; i++)
            {
                //蛇段
                Label Snake_Boby_content = new Label();
                Snake_Boby_content.Height = 10;
                Snake_Boby_content.Width = 10;
                //蛇段的位置
                Snake_Boby_content.Top = 400;
                Snake_Boby_content.Left = 400 - i * 10;
                //背景色
                this.BackColor = Color.White;
              
C#窗体连连看小游戏(超详细) 文章目录成品链接项目展示全部代码窗体控件命名连连看功能类窗体功能实现各部分功能解释一、项目分析二、项目设计 成品链接 项目展示 全部代码 窗体控件命名 namespace Linkup { partial class MainWindow { /// <summary> /// 必需的设计器变量。 /// </summary> private System.ComponentModel.IContai 阅读详情

相关推荐

C#之winform 猜拳小游戏

c#猜拳小游戏

qq_74405602的博客 2556

WinForm贪吃蛇游戏

在WinForm中使用GDI+编写的贪吃蛇游戏

c#winform贪吃蛇

版本适配: unity2022.3.49, vs2022。 二、主要功能函数         2.1、蛇的操作         2.2、地图和围墙         2.3、生成食物         2.4、吃到食物         2.5、吃到自己        2.6、撞到墙         2.7、控制蛇 三、其他功能函数        3.1、数据功能        3.2、取消默认选择格子        3.3、winform窗体的初始化

C#winform本科毕业设计贪吃蛇源代码.zip

基于vs2019开发

人工智能-项目实践-C#-基于C# Winform窗体应用开发的飞机大战小游戏,包括键盘控制飞机移动(WASD)、发射子弹(J)

基于C# Winform窗体应用开发的飞机大战小游戏,包括键盘控制飞机移动(WASD)、发射子弹(J)、碰撞检测等功能 主要功能 本游戏主要由键盘控制操作 WASD键控制飞机移动 J键发射子弹(可以同时向不同角度发射子弹) 碰撞检测:当玩家子弹击中敌机后,敌机爆炸,并播放爆炸音效 游戏规则 界面上有两个矩形条,分别表示生命值和得分; 被敌机子弹击中则减少1分并减少1点生命值,若我方子弹击中敌机则增加1分; 当生命值或得分减到0,游戏结束。

Cloudflare SaaS 优选IP实战:提升大陆访问速度的配置指南

本文详细介绍了如何通过Cloudflare SaaS优选IP提升中国大陆用户访问速度的配置指南。从基础环境准备到IP筛选方法,再到完整配置流程和效果验证,帮助用户突破免费套餐限制,精准优化网络线路,特别适合跨境电商和面向中国大陆用户的网站优化。

weixin_29231027的博客 683

Goose开源程序本地机上 AI 代理,能够从头到尾自动执行复杂的开发任务。Goose 不仅可以提供代码建议,还可以自主构建整个项目、编写和执行代码、调试故障、编排工作流程以及与外部 API 交互

Goose开源程序 是您的本机上 AI 代理,能够从头到尾自动执行复杂的开发任务。Goose 不仅可以提供代码建议,还可以自主构建整个项目、编写和执行代码、调试故障、编排工作流程以及与外部 API 交互。无论您是在构建想法原型、优化现有代码,还是管理复杂的工程管道,goose 都能适应您的工作流程并精确执行任务。

struggle2025的博客 2040

ROS 2 Jazzy与Gazebo Harmonic仿真实战:从零搭建机器人仿真环境与高级应用

本文详细介绍了如何使用ROS 2 Jazzy和Gazebo Harmonic从零搭建机器人仿真环境,涵盖环境配置、传感器集成、多机器人协同和GPU加速优化等高级应用。通过实战案例和性能调优技巧,帮助开发者高效构建可靠的机器人仿真系统,提升开发效率。

h9j8k7l6m5n的博客 1217

M1/M2 Mac用户看过来:不装VirtualBox,用PD虚拟机也能跑ENSP的保姆级教程

本文为M1/M2 Mac用户提供了一份不依赖VirtualBox,使用Parallels Desktop虚拟机运行ENSP的详细指南。通过ARM架构的Win10镜像选择、组件替代方案和网络配置优化,实现ENSP核心功能的高效运行,特别适合网络工程师在苹果芯片设备上进行网络模拟。

weixin_28683065的博客 411

数理逻辑1 -- 命题演算1

一直对逻辑的东西很感兴趣,尤其最近做的东西和AI相关,因此下定决心系统地学习数理逻辑。这些笔记并不是严谨的描述,只是作为一些概念的快速参考,以及加入一些个人认为好玩的公式、定理和推导。 简单来说,数理逻辑系统是由一串“符号”组成的系统,基本元素是那一堆“符号”,由“符号”组成“式子”。逻辑系统并不关心“式子”是否对错,只关心“式子”是否存在,也即是假定存在某些“式子“,再确定”推导规则“(Rule

Jason渣神的专栏 1830

霍尔电流传感器在新能源汽车中的应用综述

本文旨在全面剖析霍尔电流传感器在新能源汽车领域的应用现状、技术挑战及发展趋势。通过系统梳理其在电池管理系统、电机控制、车载充电等核心系统的应用场景,深入分析面临的技术瓶颈与创新解决方案,并基于最新技术动向展望未来发展方向,为相关领域的技术创新提供参考依据。

m0_46819860的博客 2259

【unity知识】最新的虚拟相机Cinemachine3简单使用介绍

本文介绍了Unity中Cinemachine 3虚拟相机系统的使用方法。相比旧版本,新版功能更强大且参数分类更直观。文章详细讲解了摄像机镜头参数、旋转控制(包括None、目标跟随、样条线推拉、旋转追随等6种模式)和位置控制(跟随、样条轨道、硬锁定等5种模式)。重点演示了样条轨道摄像机的创建与配置,以及如何实现第一人称和第三人称视角。通过丰富的GIF图示,展示了各种模式的运行效果,帮助用户快速掌握Cinemachine 3的核心功能。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 865

芒果YOLOv10改进31:特征融合Neck篇:改进特征融合网络 BiFPN 结构,融合更多有效特征

YOLOv10改进:特征融合Neck篇:改进特征融合网络 BiFPN 结构,融合更多有效特征

包括YOLOv5、YOLOv7、YOLOv8等模型改进 684

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: Arcgis软件应用(四)网络分析
下一篇: WinForm中绘制网格线,Load和Piant事件区别
define_YIDA
博客等级 码龄9年 323粉丝 62原创
评论 34
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值