上次我们讲到,服务器上的游戏状态会直接反应出游戏的画面。
而我们也需要随着游戏进行,依照动作与游戏规则来改变游戏状态。
看起来我们要先把这个游戏状态的结构固定好。
痾...想到什麽就先加上去看看好了, 今天的应该比较像 sudo-code 我们先专注在设计结构本身
决定好之後再一次帮他们定义好
%Game{}
建立了一局游戏,我们先加上玩家好了。这个是 1 对 1 的游戏,预计的流程大概是建立新游戏之後,再把游戏连结分享给对手加入。所以会有一个 host 一个 guest
%Game{
host: %Player{},
guest: %Player{}
}
Player 我们待会再详细定。
接着是每一局当中的游戏状态,目前想到的有纪录现在第几局、纪录结果
%Game{
host: %Player{},
guest: %Player{},
round: 1,
winner: nil
}
我现在困扰的事场面上的卡要放在 Game 层,还是要放在 Player 层,毕竟场上还是有分两边的。
我看我们现在的东西也满少的,不如就先完全不要有 Player 层,全部都撒在 Game 试试看:
%Game{
host_hand: [],
host_desk: [],
guest_hand: [],
guest_desk: [],
round: 1,
winner: nil
}
或是用 Round(回合) 来分类
%Game{
rounds: %Round{...在下面}
host_hand: [],
guest_hand: [],
current_round: 1,
winner: nil
}
%Round{
host_desk: [],
guest_desk: [],
winner: nil
}
最後这样似乎合理很多...吗? 虽然之後有可以会再改,甚至是明天我们把这些结构写出来的时候就会後悔,但目前看起来是还可以接受的开始。
你会怎麽纪录这个游戏的资料呢?
<<: [Day03] TS:泛型就。很。泛!用 extends 来加上一点限制吧!
>>: [Day18]Tell me the frequencies!
这次是第一次参加比赛,在这中间重复复习了一遍Android studio这项开发工具,在这之中厘清了...
今天正式进入主题~ 在开始前我们必须先把环境建立起来,我知道很多人会使用webpack,但这边我是使...
MTR是Linux平台上一款非常好用的网络诊断工具,或者说网络连通性判断工具,集成了tracerou...
此篇为番外,未收入在本篇的原因是 Git 是个复杂但很基础的工具,因此大部分的人都已经有个初步的认...
企业通常会进行渗透测试,以验证现有的安全和隐私控制,并通过发现漏洞和利用漏洞,彻底记录测试期间执行的...