c# - 在骰子上得到 6 后移动令牌
问题描述
所以目前我正在做一个 Ludo 游戏,当我在骰子上得到 6 时,一个红色标记进入起始位置。现在我需要知道在我再次掷骰子后如何使令牌移动。移动令牌的代码已经实现,如下所示:
NetworkLayer.MoveSteps(NetworkManager.MyGamePlayerId, randomDiceSide);
这是我使用的协程Dice
:
private IEnumerator RollTheDice()
{
int randomDiceSide = 0;
int finalSide = 0;
for (int i = 0; i <= 20; i++)
{
randomDiceSide = Random.Range(1, 7);
rend.sprite = diceSides[randomDiceSide];
yield return new WaitForSeconds(0.05f);
}
if(randomDiceSide == 6)
{
if(NetworkManager.MyGamePlayerId != "Spectator"){
//inform everyone about this, including myself
GameObject path = GameObject.Find("Box1");
player.transform.position = path.transform.position;
//NetworkLayer.MoveSteps(NetworkManager.MyGamePlayerId, randomDiceSide);
}
else{
print("you cannot generate random numbers...you are the spectator");
}
}
Debug.Log(randomDiceSide);
}
我只需要知道如何在再次掷骰子时使令牌移动。我在哪里可以实现布尔值?
解决方案
考虑为您的播放器实现一个类。您可以在此处保留与玩家相关的所有属性,例如令牌的位置、令牌精灵、canMove
移动可能性的布尔值等。
另一种解决方案是为您的令牌创建一个单独的类并在那里保持布尔值。
最简单的方法是将该布尔值存储在您NetworkManager
班级或类似管理器中的数组中。在这种情况下,您可以将所有令牌属性存储在一个地方。
推荐阅读
- javascript - 如何使用上传的文件?
- vba - 访问 VBA DMin 多个条件,类型不匹配错误
- linq - 如何将 StartsWith 与字符串数组一起使用?
- html - 为什么除非分配了一个类,否则之前的伪选择器不能正常工作?
- python - pjax、eldarion-ajax 和常规请求一起在一个网站上——这正常吗?
- android - recyclerview 强制转换异常?
- ios - 我一直在获取:致命错误:索引超出范围
- javascript - 使用 XMLHttpRequest 时出现“for loop”错误
- javascript - 仅对 img 元素启用 Pinch 缩放
- python - 无法弄清楚为什么程序不提供输出