.NET分散式Orleans - 8 - 貪吃蛇專案實戰(準備階段)

chester·chen發表於2024-03-30

到目前為止,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實現上下左右修改方向。

架構圖

之後會按照以下架構圖,實現此小遊戲。

相關文章