c++ - C ++如何编写并行游戏具有相互对抗(共享内存)
问题描述
需要与玩家 A(可能通过输入,但为了简单起见仅限于自动化代码)和玩家 B 一起编写游戏。
A 和 B 在共享数组上说
int Map[100][100]
一种方法是编写顺序代码,这根本不有趣。尤其是键盘输入,可能会出现“卡住”和“漏击”的情况。
一种充分考虑计算能力和同时更新的想法是对玩家 A 和玩家 B 使用并行进程,例如 while 循环内的 parallel_for 循环或 parallel_for 循环内的 while 循环。
但是,这带来了另一个关于如上所述的共享内存使用的问题。绕过它的一种方法是使用 fstream 设置更长的延迟时间并写入和读取磁盘。但这显然会导致麻烦和可能的崩溃,以及延迟的计算效率。(如果同时访问内存,数组引用也会造成麻烦吗?或者 CPU-Memory 桥的硬件设计是否考虑到了这一点?)
如何编写具有并行性的游戏具有共享内存/阵列的相互对抗?
须藤语言:
player_script(indices, ){while(condition){}}
main(){
parallel_for(ix){player_script(ix, );}
}
解决方案
推荐阅读
- html - 如何使用 Bootstrap 4 使输入时间响应
- python - 在 python 中的数据帧中查找、计算和提取重复项
- jenkins - 如何为矩阵作业配置 Jenkins Pipeline UI?
- python - 出现错误 13:尝试保存我的 jupyter 笔记本时权限被拒绝
- javascript - Chart.js 时间序列显示空图
- .net - dotnet 构建 UWP.sln | 错误 MSB4019 Microsoft.Windows.UI.Xaml.CSharp.targets 未找到
- amazon-web-services - AWS,dynamodb startwith 条件 gsi
- reactjs - setState 没有更新 React 中的设置值
- android - 使用 Kotlin 在 Android Studio 中使用 Firestore 的收藏夹列表
- c++ - 在没有 API 的情况下使用谷歌翻译文本