C#贪吃蛇游戏之--游戏信息存取(四)

c语言五子棋 添加提示信息:当玩家落子后,可以输出一些提示信息,例如告诉玩家他们的棋子已经胜利了或者游戏已经结束了。添加AI对手:可以使用简单的AI算法来让计算机自动进行游戏,这样玩家就可以和计算机进行对战了。改进输入验证:在读入玩家输入的时候,可以使用更严谨的验证方法,以确保玩家输入的是合法的位置。添加声音效果:可以使用声音效果来增强游戏的体验,例如在玩家获胜时播放欢快的音乐。添加游戏规则的说明:在游戏开始前,可以打印出游戏规则,让玩家知道如何进行游戏。 阅读详情

 游戏如果没有存档,每次都从零开始,那将会很没意思。为了提高游戏的可玩性,我这里添加了信息的存取功能,主要包括游戏积分、游戏角色的存取和排行榜,这样每次打开游戏就可以看到最高分者!这样才有挑战性,挑战最高分并把你的大名记录在英雄榜上!

    我用积分;玩家- 格式保存游戏信息在本地磁盘的记事本上 @"D:/SnakeGameInfo.txt";这样启动游戏后便可以读取和存储信息了。

    

    并按积分高低排列英雄榜:

    

SaveGameInfo.cs

  1. public class SaveGameInfo  
  2. {  
  3.     private string filePath = @"D:/SnakeGameInfo.txt";  
  4.     //保存信息  
  5.     public bool SaveInfo(string score, string player)  
  6.     {  
  7.         try  
  8.         {  
  9.             //如果没有信息存档文件,则新键文件,否则在现有文件尾追加信息  
  10.             FileStream fileStream;  
  11.             if (!File.Exists(filePath))  
  12.                 fileStream = new FileStream(filePath, FileMode.Create);  
  13.             else  
  14.                 fileStream = new FileStream(filePath, FileMode.Append);  
  15.             StreamWriter streamWriter = new StreamWriter(fileStream);  
  16.             streamWriter.Write(score + ";" + player+"-");  
  17.             streamWriter.Close();  
  18.             return true;  
  19.         }  
  20.         catch { return false; }  
  21.   
  22.     }  
  23.     //读取信息  
  24.     public string[] ReadInfo()  
  25.         {  
  26.         if (!File.Exists(filePath))  
  27.             return null;  
  28.         else  
  29.         {  
  30.             string[] scores = new string[] { };//分数和玩家  
  31.             try  
  32.             {  
  33.   
  34.                 string str = "";  
  35.                 FileStream fileStream = new FileStream(filePath, FileMode.Open);  
  36.                 StreamReader streamReader = new StreamReader(fileStream);  
  37.                 str = streamReader.ReadToEnd();  
  38.                 scores = str.Split('-');  
  39.                 streamReader.Close();  
  40.             }  
  41.             catch { }  
  42.             return scores;  
  43.         }  
  44.     }  
  45. }  

C#贪吃蛇游戏(全代码) C#贪吃蛇游戏Form方法100毫秒刷新秒刷新(蛇的移动速度由此决定)画蛇创建食物画食物吃掉食物生存还是毁灭游戏结束button点击事件链其他静态变量游戏主体类蛇食物 这是本人第一篇博客,感谢收看,之后对游戏做出的修改,将以方法代码块放在最后 Form方法 100毫秒刷新 private void timer1_Tick(object sender, EventArgs e) { ... 阅读详情

相关推荐

C# 贪吃蛇大作战

作为一个一款儿时常玩的经典小游戏,贪吃蛇的设计简单,实用和娱乐性高,提玩法早已人尽皆知。为了重温这一小游戏,本组对贪吃蛇进行了复原一级相应的优化,吃的食物,蛇的身体会增加长度,同时,关卡不相同,蛇的移动速度也会不同。...

m0_53550060的博客 5105

C++实现安全性极高的游戏数据存档/读档(附源码)

之前,我们使用传统C语言写了一个游戏的存档、读档程序。这么写很容易就会漏掉或使数据错位,导致读写不一致。因此,我们就可以使用强大的C++文件读写库!

起床气233的博客 2838

利用C#实现简单的贪吃蛇

C#生存简单的贪吃蛇游戏 功能实现: 贪吃蛇的左右上下移动; 贪吃蛇吃食物; 贪吃蛇碰到墙或者身体死亡; 效果如图: 如下是 详细的代码: 1. 主函数 Program.cs using System; using System.Threading; namespace CmdSnake { class Program { static void Main(string[] args) { /// <summary

bigb的博客 6212

C语言实现贪吃蛇(四)----游戏存档读档(文件操作)

前言:对于C语言的初学者来说,可能会觉得文件操作是一个比较陌生的领域,但实际上无论编写怎样的程序文件操作都是必需的。在操作系统中,所有的外围设备(包括键盘和显示器)都被看作是文件系统中的文件,因此所有的输入/输出都要通过读文件/写文件完成。启动一个C语言程序时,操作环境负责打开标准输入,标准输出,标准错误3个文件,并将这3个文件的指针提供给该程序。而我们熟知的 getchar 函数 putchar

LSGOZJ的博客 2万+

c#编写的贪吃蛇游戏

     前几天和同事聊天,同事说他的一个朋友去某公司面式,公司出题目要一下午编写一个贪吃蛇游戏,结果没有写出来,没有应聘上,我仔细想了想觉得算法也不是很复杂,就在空闲的时候试着写了一下,当然没有到网上去看别人写的程序,完全是想自我测试的意思,并没有想写一个特别完善的东西,只是拿来练习联系吧,主要是想锻炼锻炼面向对象的编程的方法,一下午应该是可以写出来的,不过我人比较懒*^_^*只是写了个架子就不

prince_y的专栏 2929

C#做贪吃蛇(含窗体)——可穿墙

设置贪吃蛇的步骤: step1:设置贪吃蛇的界面,包含一个menustrip,timer,panel和两个label,如下图所示。 menustrip的属性中有item,设置为 如下图所示 setp2:Form1窗体的代码为: using System; using System.Collections.Generic; using System.Compo...

weixin_44162158的博客 3650

C语言实现安全性极高的游戏存档并读档

粽锁粥汁,存档码是游戏中必不可少的存在。如果没有了它,也许打王者时花了一天时间升的段位在下次登陆时全部清空,又或是氪金买的皮肤又不能用了。今天,小编就教大家如何用传统C语言写一个安全性极高的游戏存档(普通玩家无法访问或修改)...

起床气233的博客 3593

【C#】贪吃蛇小游戏

自学了几天C#,尝试写了一个贪吃蛇小游戏,比较详细地做了注释,实现: (1)贪吃蛇基本功能 (2)长按加速 (3)计分板 XAML代码及界面 <Window x:Class="贪吃蛇.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" ...

某C姓工程师傅 1449

开发C++游戏常用功能:读/导出存档

玩游戏时,我们总能看到存档这个东西,它将我们的游戏记录/战绩写在文件里。那么它是怎么实现的呢?今天本人就来用C++实现一个(简易的)。

nei35833962的博客 1821

C# Winform贪吃蛇小游戏源码

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

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 2212

步进电机驱动算法——梯形加减速算法

目录步进电机梯形加减速梯形加减速算法原理分析算法实现 步进电机梯形加减速 电机的控制方式一般分为开环控制与闭环控制两种控制方式,其中开环控制原理框图如下: 这种种控制方式的特点是:控制简单、实现容易、价格较低,这种开环控制方式,负载位置对控制电路没有反馈。 对于步进电机,控制脉冲的输入并不依赖于转子的位置,而是按一固定的规律发出控制脉冲,如果励磁变化太快,电机不能移动到新的位置,那么实际负载位置与理想位置就会产生一个偏差,就有可能出现失步或者过冲现象,所以需要使用加减速算法。 梯形加减速算法,S加减速算法等

aaa376070331的博客 3万+

C#小游戏——贪吃蛇~详细过程+全部代码

文章目录一、介绍1)背景2)环境3)演示游戏过程文件格式4)基本逻辑概述i 游戏主体ii 刷新iii 控制蛇的移动iiii 保存最高记录iiiii 吃食物iiiiii 记录用户的输入(很重要)二、步骤1)ControlFrm窗体2)GameFrm窗体:游戏窗体i 变量ii 窗体加载事件iii 玩家敲击键盘的事件iiii timer1 tick事件:iiiii 相关方法蛇移动的方法擦除蛇身生成食物判断是否吃到食物从磁盘文件中获取历史最高分播放音乐死之前判断是否打破了记录iiii

weixin_44996090的博客 2万+

AES攻击方法 :差分密码分析 boomerang attack飞去来器攻击

AES具有123比特的分组长度,三种可选的密钥长度(128,192,256) AES是一个迭代型密码,轮数依赖于密钥长度。如果密钥长度为128比特,则轮数为10;如果密钥长度为192比特,则轮数为12;如果密钥长度为256比特,则轮数为14; 混淆(Confusion) 混淆是为了让密钥与密文的统计信息之间的关系变得复杂,从而增加通过统计方法进行攻击的难度。混淆可以通过各种代换算法实现,如S盒、乘法(加)与异或等运算组合,为非线性部件。 扩散(Diffusion) 扩散是为了让明文的单个比特影像到

m0_67105022的博客 3492

C#编程挑战:从零开始构建贪吃蛇游戏

在编程的世界里,贪吃蛇游戏是一个经典且广受欢迎的入门级项目,它不仅能够锻炼编程基础,还能加深对游戏开发的理解。本文将带你从零开始,使用C#语言和.NET框架,一步步构建一个简单的贪吃蛇游戏。

Unity打怪升级 2951

用Multisim和74HC系列芯片,手把手教你搭建一个能“算数”的简易CPU模型

本文详细介绍了如何使用Multisim仿真软件和74HC系列芯片搭建一个简易CPU模型,重点解析了74HC194寄存器和74HC283加法器的核心功能与连接方法。通过分步图解和实战调试,帮助读者理解CPU工作原理,掌握数字电路设计的基本技能,适合计算机组成原理初学者和电子爱好者实践学习。

weixin_26843605的博客 139

告别IIS折腾!用.NET8+Kestrel在Windows上5分钟搞定Web API部署

本文介绍了如何使用.NET8和Kestrel在Windows上快速部署Web API,告别繁琐的IIS配置。通过5分钟实战教程,开发者可以轻松实现高性能、跨平台的API服务部署,显著提升开发效率和系统性能。

weixin_42528780的博客 246

c#用控制台实现贪吃蛇小游戏

写在前面: 有一天突发奇想,如果我只用算法实现基本逻辑,让控制台输出图像,不用任何组件,只用一门编程语言,能否实现一个可以人机交互的小游戏,抱着试一试的想法,博主用c#控制台程序复原了贪吃蛇玩法的小游戏。 目录 一、可视化界面 二、贪吃蛇基本逻辑 1.游戏玩法 一、可视化界面 众所周知,控制台程序通常没有可视化的界面,只是通过字符串来显示或者监控程序,在使用控制台写程序时,我们只关心数据,不在乎界面。但是,如果我们偏偏反其道而行之,用控制台可视化形式将游戏界面...

sinsted的博客 1万+

IC验证 AHB-RAM 项目(二)——接口与事务代码的编写

本文介绍了准备工作及接口、事务相关代码编写要点。在接口部分,重点说明了lvc_ahb_if.sv、rkv_ahbram_if.sv和rkv_ahbram_tb.sv三个关键文件的功能,其中rkv_ahbram_if.sv通过动态任务实现复位信号控制。事务部分则涉及lvc_ahb_types.sv中的枚举类型定义和lvc_ahb_transaction.sv中的随机化变量设置,用于构建AHB传输激励。整个验证环境采用模块化设计,通过接口实现TB与DUT的通信,为后续验证工作奠定基础。

weixin_45926435的博客 405

用C#实现贪吃蛇游戏

先说了,如果不会GDI+,类的定义这些基础东西的,请先搜索相关贴子学习。 这次教大家用C#做一个简单的贪吃蛇游戏。先介绍用到的技术:GDI+定义类枚举 因为C#是一门面向对象的语言,我们不用把所有代码都写在一个窗体上,应该有一个分层思想(界面还界面,数据处理还数据处理),如果还要网上对战的话,搞个三层吧(界面层,数据处理或逻辑层,Socket层),这样不仅方便维护,

lijt1987的专栏 1万+

YOLOv11改进 - C3k2融合 | C3k2融合CBSA 收缩 - 广播自注意力:轻量级设计实现高效特征压缩,优化处理效率 | NeurIPS 2025

本文介绍收缩 - 广播自注意力(CBSA)((Contract-and-Broadcast Self-Attention))机制,并将其集成到YOLOv11中。传统注意力机制存在黑盒难理解、计算复杂度高的问题,CBSA通过算法展开推导出本质上可解释且高效的注意力机制。它先从输入数据中选出少量代表性tokens,接着对代表进行收缩计算,再将结果广播给所有原始数据。该机制计算量线性增长,具有明确数学解释,还能统一多种注意力机制。我们将CBSA代码集成到YOLOv11的C3k2模块中。实验证明,改进后的YOLOv

魔改工程师的博客 852

使用 MATLAB/Simulink 构建一个 核电站汽轮机与发电机协调控制系统 的仿真模型

在核电机组中,汽轮机-发电机系统是将核能最终转化为电能的关键环节。与火电机组不同,核反应堆的热惯性大、功率调节慢,因此汽轮机的控制策略需与反应堆特性相匹配,实现安全、稳定、高效的能量转换。维持发电机输出功率/频率稳定(响应电网调度)调节汽轮机进汽压力(匹配一回路蒸汽供应)实现“堆-机协调控制”保障机组在启停、变负荷、甩负荷等工况下的安全性本教程将带你使用构建一个核电站汽轮机与发电机协调控制系统汽轮机调速系统(调门控制)建模发电机与电网接口建模(同步机)

xiaoheshang_123的博客 188

C#做一个贪吃蛇小游戏

之前一直想写一个贪吃蛇小游戏,上个周末终于有时间写了一下,现在和大家分享一下。 首先公布一下界面,界面比较简单,一个按钮和一个积分器组成 具体代码如下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Fo

笔下无书生的博客 4872

复现《水化硅铝酸钙微结构和性能的分子动力学模拟研究》的分子动力学模拟

本文详细复现了杨军博士论文中关于水化硅铝酸钙(C-A-S-H)凝胶的分子动力学模拟方法。研究内容包括:1)基于11Å Tobermorite构建C-A-S-H分子模型,通过缺陷引入和Al掺杂调节Ca/Si比;2)使用ReaxFF力场模拟交联C-A-S-H的结构与力学性能;3)采用ClayFF力场研究纳米孔道中水和离子传输行为。研究提供了完整的LAMMPS输入脚本、Python分析代码和力场参数设置,为水泥基材料纳米尺度模拟提供可复现的技术方案。

huanghm88的专栏 106

C#贪吃蛇教程

原文地址:C#贪吃蛇教程 概况 理解贪吃蛇游戏 配置项目 添加必要的类 游戏循环 处理用户输入 游戏逻辑 游戏渲染 本教程或许有点长,但希望你能耐心看完。 源代码下载:贪吃蛇源代码。 理解贪吃蛇游戏 想必大家都玩过贪吃蛇这款游戏,因此游戏规则就不用我多做解释了。贪吃蛇是一款简单容易理解的游戏,但麻雀虽小五脏俱全,这款游戏已

我要变强 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

[C#学习记录]C#实现简单类似贪吃蛇游戏

通过C#实现类似贪吃蛇的游戏及延伸想法

LumosDXH的博客 2332

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

C# 制作贪吃蛇小游戏,最简单的实现

C# 制作贪吃蛇小游戏 目录 画蛇 实现蛇的上下左右移动 随机生成目标物 开始游戏 计分 重新开始 增加难度 死亡判定 1.1 画蛇的一节 Class Element() Graphics g; public void SnakeElement(Form form,float x,float y) { g= form.CreateGraphics(); Pen mypen = new Pen(Color.Black

weixin_52539981的博客 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: C#贪吃蛇游戏之--逻辑层(三)
下一篇: C#贪吃蛇游戏之--界面层(五)
fa6507
博客等级 码龄16年 84粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值