首页 > 其他分享 >.NET分布式Orleans - 8 - 贪吃蛇项目实战(准备阶段)

.NET分布式Orleans - 8 - 贪吃蛇项目实战(准备阶段)

时间:2024-03-30 09:00:40浏览次数:16  
标签:Orleans 游戏 GameGrain SnakeGrain Orleans7 贪吃蛇 Snake NET

到目前为止,Orleans7的核心概念基本已经学完,我准备使用Orleans7做一个项目实战,来总结自己的学习效果。

项目效果

通过Orleans7来完成一个贪吃蛇游戏,要求如下:

  • 可以多人在线玩
  • 贪吃蛇可以上/下/左/右改方向
  • 贪吃蛇吃完食物,身体长度+1

项目暂定架构

初步设想,此游戏包括一个Orleans7 Server端,和一个或多个Winform游戏客户端。

Orleans7 Server需实现以下功能:

  • 实现GameGrain,和SnakeGrain。其中GameGrain中包含可多个Snake。
  • SnakeGrain每隔0.5s让所有Snake朝其当前方向走1步。

Winform游戏客户端需实现以下功能:

  • 需要使用IClusterClient创建SnakeGrain
  • 让SnakeGrain加入GameGrain。
  • 通过轮询/websocket,获取snake数据
  • 将通过websocket获取到的数据,通过Graphics将游戏界面/Snake/食物画出。
  • 可通过IClusterClient实现上下左右修改方向。

架构图

 之后会按照以下架构图,实现此小游戏。

 

标签:Orleans,游戏,GameGrain,SnakeGrain,Orleans7,贪吃蛇,Snake,NET
From: https://www.cnblogs.com/chenyishi/p/18104893

相关文章

  • .NET8构建的简单、跨平台、模块化的商城系统
    一个基于.NETCore构建的简单、跨平台、模块化的商城系统 前言今天大姚给大家分享一个基于.NETCore构建的简单、跨平台、模块化、完全开源免费(MITLicense)的商城系统:ModuleShop。商城后台管理端功能商品:分类、品牌、单位、选项(销售属性)、属性、属性模板、属性组。销售......
  • 【论文阅读】ELA: Efficient Local Attention for Deep Convolutional Neural Network
    (ELA)EfficientLocalAttentionforDeepConvolutionalNeuralNetworks论文链接:ELA:EfficientLocalAttentionforDeepConvolutionalNeuralNetworks(arxiv.org)作者:WeiXu,YiWan单位:兰州大学信息科学与工程学院,青海省物联网重点实验室,青海师范大学引用:XuW,W......
  • route(Network Routing Table Utility)命令
     route(NetworkRoutingTableUtility)命令 route/?操作网络路由表。ROUTE[-f][-p][-4|-6]command[destination][MASKnetmask] [gateway][METRICmetric] [IFinterface]-f     清除所有网关条目的路由表。如果与其中一个命令结合使用,则在运行......
  • nbtstat /?命令参数 显示使用NBT(NetBIOS over TCP/IP)的协议统计信息和当前TCP/IP连接
    NBTSTAT(NetBIOSoverTCP/IPStatistics)是一个用于显示和更新NetBIOS名称缓存、NetBIOS名称表和NetBIOS会话表的Windows命令行实用程序。它允许用户查看当前网络上的NetBIOS名称信息,以便诊断网络连接问题和执行基本的网络故障排除。NetBIOS是一种用于在局域网中进行通信的协议,它......
  • darknet框架训练YOLOv7模型与工业缺陷检测
    1.darkne介绍Darknet是一个开源的深度学习框架,由JosephRedmon(YOLO~YOLOv3作者或参与者)开发,主要用于实现神经网络模型。这个框架最初是为了实现计算机视觉任务而创建的,尤其是目标检测。其中最著名的应用之一就是YOLO(YouOnlyLookOnce)系列目标检测算法。以下是......
  • 【投稿优惠-EI稳定检索】2024年新能源技术与动力工程国际学术会议(ICNETPE 2024)
    2024InternationalConferenceonNewEnergyTechnologyandPowerEngineering(ICNETPE2024)●会议简介2024年新能源技术与电力工程国际会议汇聚了全球新能源与电力工程领域的精英。会议旨在推动新能源技术创新,探索电力工程前沿应用,促进国际学术交流与合作。与会者将分......
  • 使用幸狐LuckFox Pico Plus 板子搭载Alpine Linux,运行dotnet net6程序 闪烁一颗LED灯
    程序截图 实拍 性能消耗非常小的,就是对ROM有要求,SDK+程序占了40M 步骤1:按照链接教程刷入系统步骤2:修改以太信息步骤3:使用ssh登录系统步骤4:搭建dotnet环境,使用手动的方式先下载运行时包下载.NET6.0Runtime(v6.0.28)-LinuxArm32AlpineBinaries(microsoft.co......
  • ASP.NET Core 用密码加密 PDF
    需要使用itext-dotnet:https://github.com/itext/itext-dotnet使用Nuget:Install-PackageitextInstall-Packageitext.bouncy-castle-adapter使用密码加密PDF:publicstaticboolEncryptPdf(stringinputPath,stringoutputPath){boolresult=......
  • net core SSO 单点登录和控制器中获取Token和UserId
    netcoreSSO单点登录和控制器中获取Token和UserId在写WebApi时常常是要获取登录用户的oken和UserId的,本文就这个需求来分享一下我在实际项目中的处理代码。代码控制器中注入[ApiController]//[Authorize][ServiceFilter(typeof(LDAPPLoginFilter))][Route("/file/api/......
  • 基于containerd 部署 kubernetes 1.28集群
    1、准备说明8台Linux主机,安装Ubuntu20.04系统,其中2台haproxy,3台master节点,3台work节点每台主机不低于2GB内存大小,CPU大于2核心集群中的所有主机网络互通节点中不能存在重复的主机名、mac地址或者product_uuid交换分区配置。kubelet默认是在节点上检测到交换分区时,无法启动......