#define ST 'M'
#define JZ 'J'
#define BU 'P'
int arr[3] = { ST, JZ, BU };
int win(int a, int b)
{
if ( a== ST && b== JZ ) return 1;
if ( a== JZ && b== BU ) return 1;
if ( a== BU && b== ST ) return 1;
return 0;
}
int main()
{
int computer;
int human;
char s[100];
srand(time(0));
loop:
computer = arr[rand()%3];
printf("Computer = X\n");
printf("input> ");
input:
if (gets(s)) {
if (s[0]!= ST && s[0]!= JZ && s[0] != BU) {
printf("please input 'M' or 'J' or 'P'\n");
goto input;
}
human = s[0];
if (win(computer, human)) {
printf("X = %c, you lose.\n", computer);
goto loop;
}
if ( win(human, computer)) {
printf("X = %c, you win!\n", computer);
goto loop;
}
printf("X = %c, again.\n", computer);
goto loop;
}
return 0;
}
大概思路:
你可以做个服务端运行起来, 软后做客户端, 服务端客户端可以用TCP链接。
然后服务端负责记录联入的玩家以向客户端推送消息及游戏结果。
客户端负责玩家信息维护及游戏交互。
有个C++的你要不? 你只要改下输入输出 头文件就可以了