C语言 如何将兰德()值从一个函数传递到主函数?

anauzrmj  于 2022-12-11  发布在  其他
关注(0)|答案(1)|浏览(114)

我有一段时间没有编程了,但是我有一个游戏项目,我需要随机分配玩家1和玩家2,我需要使用一个用户定义的函数,因为它将是一个更大函数的一部分。玩家1和2应该反映上面打印的内容。我如何改进我的代码?我也不能使用全局变量。

#include<stdio.h>

int randomColor(int nRandom, int nRed, int nBlue)
{   
    srand(time(NULL)); 
    nRandom = (rand()%2); 

    switch (nRandom)
    {
        case 0: 
            nRed = 1;
            nBlue = 2;
            printf("\n\n\tPlayer %d = Red\n", nRed);
            printf("\tPlayer %d = Blue\n", nBlue);
            break;
        case 1: 
            nRed = 2;
            nBlue = 1;
            printf("\n\n\tPlayer %d = Blue\n", nRed);
            printf("\tPlayer %d = Red\n", nBlue);
            break; 
    }
}

int main()
{
    int nRandom, nRed, nBlue;
    randomColor(nRandom, nRed, nBlue);
    printf("\nPlayer %d (R) turn", nRed);
    printf("\nPlayer %d (B) turn", nBlue);      
}
ha5z0ras

ha5z0ras1#

虽然你所拥有的是好的,你可以更有效地有一个布尔变量,而不是两个。Player 1Dark =真或假那么Player 2Dark是不需要的,它只是!Player 1Dark因为他们是mustually排他性

相关问题