【发布时间】:2014-01-25 20:49:15
【问题描述】:
我需要一些帮助来完成一个文档如下的作业:
你的任务是模拟两支九人队伍之间的比赛。九名球员的原因是为了便于将比赛场地合理地打印到屏幕上或输出文件中。 Smashball 在 25 x 25 的正方形场地上进行。打印比赛结果时,请务必打印出带有边框的场地。
- 游戏初始化
一个。使用随机数生成器将所有玩家随机放置在比赛场地中。如果随机过程产生两名球员从同一个位置开始,重新绘制新的随机位置,使所有球员都从不同的位置开始。
b.使用随机数生成器为每个玩家生成初始运动方向。此分配的四个运动选择是东、西、北和南。这些方向对应于赛场上每个球员的各自移动。
我的代码(到目前为止)如下:
#include <stdio.h>
#include <stdlib.h>
#define SIZE_AREA 25
#define SIZE_TEAM 25
int team [SIZE_TEAM];
int field [SIZE_AREA][SIZE_AREA];
int main (){
int i;
int j;
for (i = 0; i < SIZE_TEAM; i++){
team [i] = field [(rand() % 24)][(rand() % 24)];
}
enum move_direction {East, West, North, South};
for (j = 0; j < SIZE_TEAM; j++){
它不完整,但我仍然在这里和那里遇到一些障碍:
如果随机过程产生了两个从同一个位置开始的球员,该怎么办?我需要将一名球员的位置与其他球员的位置进行比较,看看它是否独特。如果没有,那么我必须重新绘制位置,但是我如何在 C 中递归呢?如果重新绘制的位置仍然与其他玩家的位置重复怎么办?
游戏初始化部分要求我为玩家随机生成初始运动方向,但我无法为玩家指定方向,因为我会覆盖他们的位置。如何在不覆盖玩家初始位置的情况下为玩家编码方向以及如何在转弯之间改变他们的方向?
这就是我要说的。再一次,在评论之前阅读链接,如果你能帮助我,请告诉我(但请不要给我完整的答案。只要指出我的担忧来源并告诉我我应该做什么)。
【问题讨论】:
-
请不要指望人们会随机下载 PDF 来帮助您解决问题。在您的问题中直接引用相关信息。
-
您希望我们在查看您的问题之前阅读 4 页 PDF?
-
SO 问题应该是独立的,任何外部链接都应该仅供参考,而不是使问题有意义。
-
好的,好的,我会发布实际问题。
-
那里,我修好了。现在你能帮我吗?
标签: c arrays double variable-assignment