Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 需要帮忙分配数组吗_C_Arrays_Double_Variable Assignment - Fatal编程技术网

C 需要帮忙分配数组吗

C 需要帮忙分配数组吗,c,arrays,double,variable-assignment,C,Arrays,Double,Variable Assignment,我需要一些关于作业的帮助,其文档如下: 您的任务是模拟两个九人团队之间的游戏。之所以有九名玩家,是为了便于在屏幕上或输出文件中合理地打印出比赛场地。 扣球是在25乘25平方米的场地上进行的。打印比赛结果时,请确保打印出场地周围有边框的场地 游戏初始化 a。使用随机数生成器将所有玩家随机放置在运动场中。如果随机过程产生两个玩家从同一位置开始,则重新绘制新的随机位置,以便所有玩家从唯一的位置开始 b。使用随机数生成器为每个玩家生成初始运动方向。此任务的四个运动选项是东、西、北和南。这些方向对应于每个

我需要一些关于作业的帮助,其文档如下:

您的任务是模拟两个九人团队之间的游戏。之所以有九名玩家,是为了便于在屏幕上或输出文件中合理地打印出比赛场地。 扣球是在25乘25平方米的场地上进行的。打印比赛结果时,请确保打印出场地周围有边框的场地

  • 游戏初始化
  • a。使用随机数生成器将所有玩家随机放置在运动场中。如果随机过程产生两个玩家从同一位置开始,则重新绘制新的随机位置,以便所有玩家从唯一的位置开始

    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++){
    
    #包括
    #包括
    #定义区域25的大小
    #确定团队25的规模
    国际团队[规模团队];
    int字段[大小\面积][大小\面积];
    int main(){
    int i;
    int j;
    对于(i=0;i
    这是不完整的,但我仍然在这里和那里遇到一些障碍:

  • 如果随机过程产生两个在同一地点开始的玩家,该怎么办?我需要将一个玩家的位置与另一个玩家的位置进行比较,看看它是否唯一。如果不是,那么我必须重新绘制位置,但如何在C中递归地执行此操作?如果重新绘制的位置仍然与另一个玩家的位置重复,该怎么办

  • 游戏初始化部分要求我随机为玩家生成初始运动方向,但我无法为玩家指定方向,因为我将覆盖他们的位置。我如何为玩家编码方向而不覆盖他们的初始位置,以及如何在每个回合之间更改他们的方向

  • 这就是我要说的。同样,在评论之前阅读链接,让我知道你是否能帮助我(但请不要给我完整的答案。只需指出我关注的来源并告诉我该怎么做)

  • 对于第二个和随后的玩家,从空闲位置随机选择。一个简单的方法是洗牌一个位置列表。将洗牌列表中的位置N分配给玩家N
  • 考虑保留两个数据结构来表示游戏状态,一个表示当前位置,另一个表示下一个位置。在计算下一个位置结束时,交换它们并清除新的下一个位置结构
  • 一种方法是将所有球员放在球场上的递增位置,然后使用其中一个位置调整他们的位置

  • 你可以为玩家制作一个
    struct
    ,并将位置和方向作为单独的变量


  • 请不要期望人们随机下载PDF来帮助解决您的问题。请在您的问题中直接引用相关信息。您希望我们在查看您的问题之前阅读一份4页的PDF?因此,问题应该是自包含的,任何外部链接都应仅供参考,而不是问题的意义所在。好的,好的,我将发布实际问题。在那里,我修正了它。现在你能帮我吗?你所说的“增量位置”是什么意思?还有,我应该把洗牌算法放在哪里?还有,洗牌算法不适用于2d数组。你把它们放在起始位置的顺序并不重要,只要它们最初在唯一的位置上,所以你可以像这样递增地填充2d数组:
    for(I=0;I
    。既然你要求我们不要给你“完整的答案”我只是给你一个提示。将外部数组和内部数组视为单独的数组,并将它们一起洗牌。另外,请注意,您甚至还没有初始化
    字段
    2D数组。事情不会按照您期望的方式发展。我建议您回到绘图板。