到目前為止,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/食物畫出。
Winform遊戲客戶端可透過IClusterClient實作上下左右修改方向。
架構圖
之後會按照以下架構圖,實作此小遊戲。
關註獲取技術分享