#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include <ctype.h>
#define RANDOM(MIN,MAX) ((MIN)+(int)(rand()/(float)RAND_MAX*((MAX)-(MIN)+1)))
int winner(int[],int);
void disp(int[],int);
char ntoc(int);
int main(void)
{
char c;
int a[3];
// srand((unsigned int) time(NULL));
puts("(グー = g/G、チョキ = v/V、 パー = w/W)"); while(1)
{
switch(c)
{
case 'g': a[0] = 1; break;
case 'v': a[0] = 2; break;
case 'w': a[0] = 3; break;
default: a[0] = 0;
}
for(int i = 1; i < 3; i++) a[i] = RANDOM(1, 3);
switch(winner(a,3))
{
case 1:
if(c == 'g')
{
disp(a,3);
return 0;
}
else
{
disp(a,3);
return -1;
}
break;
case 2:
if(c == 'v')
{
disp(a,3);
return 0;
}
else
{
disp(a,3);
return -1;
}
break;
case 3:
if(c == 'w')
{
disp(a,3);
return 0;
}
else
{
disp(a,3);
return -1;
}
default:
}
disp(a,3);
}
return 0;
}
int winner(int a[],int n)
{
int g,w,v;
g = w = v = 0;
for(int i = 0;i < n;i++)
{
switch(a[i])
{
case 1:
g++;
break;
case 2:
v++;
break;
case 3:
w++;
break;
default:
}
}
if(a[0] == 0) return 0;
if(g > 0 && v > 0 && w == 0) return 1;
if(g > 0 && w > 0 && v == 0) return 3;
if(v > 0 && w > 0 && g == 0) return 2;
return 0;
}
void disp(int a[],int n)
{
printf("(あなた:%c ,",ntoc
(a
[0])); for(int i
= 1;i
< n
;i
++) printf("PC%d:%c ,",i
,ntoc
(a
[i
])); }
char ntoc(int n)
{
switch(n)
{
case 1: return 'g';
case 2: return 'v';
case 3: return 'w';
default: return '?';
}
return '?';
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPGNvbmlvLmg+CiNpbmNsdWRlIDx0aW1lLmg+CiNpbmNsdWRlIDxjdHlwZS5oPgojZGVmaW5lIFJBTkRPTShNSU4sTUFYKSAoKE1JTikrKGludCkocmFuZCgpLyhmbG9hdClSQU5EX01BWCooKE1BWCktKE1JTikrMSkpKQppbnQgd2lubmVyKGludFtdLGludCk7CnZvaWQgZGlzcChpbnRbXSxpbnQpOwpjaGFyIG50b2MoaW50KTsKCmludCBtYWluKHZvaWQpCnsKCWNoYXIgYzsKCWludCBhWzNdOwovLwlzcmFuZCgodW5zaWduZWQgaW50KSB0aW1lKE5VTEwpKTsKCQoJcHV0cygi44GY44KD44KT44GR44KT44G944KTISEiKTsKCXB1dHMoIijjgrDjg7wgPSBnL0fjgIHjg4Hjg6fjgq0gPSB2L1bjgIEg44OR44O8ID0gdy9XKSIpOwoJd2hpbGUoMSkKCXsKCQljID0gZ2V0Y2goKTsKCQlpZihpc3VwcGVyKGMpKSBjICs9IDB4MjA7CgkJcHJpbnRmKCIlY1xuIixjKTsKCQlzd2l0Y2goYykKCQl7CgkJCWNhc2UgJ2cnOiBhWzBdID0gMTsgYnJlYWs7CgkJCWNhc2UgJ3YnOiBhWzBdID0gMjsgYnJlYWs7CgkJCWNhc2UgJ3cnOiBhWzBdID0gMzsgYnJlYWs7CgkJCWRlZmF1bHQ6IGFbMF0gPSAwOwoJCX0KCQkKCQlmb3IoaW50IGkgPSAxOyBpIDwgMzsgaSsrKSBhW2ldID0gUkFORE9NKDEsIDMpOwoJCQoJCXN3aXRjaCh3aW5uZXIoYSwzKSkKCQl7CgkJCWNhc2UgMToKCQkJCWlmKGMgPT0gJ2cnKQoJCQkJewoJCQkJCWRpc3AoYSwzKTsKCQkJCQlwdXRzKCJZb3UgV2luISEiKTsKCQkJCQlyZXR1cm4gMDsJCQkJCQkJCgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJZGlzcChhLDMpOwoJCQkJCXB1dHMoIllvdSBMb3NlLi4uIik7CgkJCQkJcmV0dXJuIC0xOwkJCQkKCQkJCX0KCQkJCWJyZWFrOwoJCQljYXNlIDI6CQoJCQkJaWYoYyA9PSAndicpCgkJCQl7CgkJCQkJZGlzcChhLDMpOwoJCQkJCXB1dHMoIllvdSBXaW4hISIpOwoJCQkJCXJldHVybiAwOwkJCQkJCQkKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQlkaXNwKGEsMyk7CgkJCQkJcHV0cygiWW91IExvc2UuLi4iKTsKCQkJCQlyZXR1cm4gLTE7CQkJCQoJCQkJfQoJCQkJYnJlYWs7CgkJCWNhc2UgMzoKCQkJCWlmKGMgPT0gJ3cnKQoJCQkJewoJCQkJCWRpc3AoYSwzKTsKCQkJCQlwdXRzKCJZb3UgV2luISEiKTsKCQkJCQlyZXR1cm4gMDsJCQkJCQkJCgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJZGlzcChhLDMpOwoJCQkJCXB1dHMoIllvdSBMb3NlLi4uIik7CgkJCQkJcmV0dXJuIC0xOwkJCQkKCQkJCX0KCQkJZGVmYXVsdDoKCQl9CgkJCQkJZGlzcChhLDMpOwoJCXB1dHMoIuOBguOBhOOBk+OBp+OBl+OChyEhIik7Cgl9CglyZXR1cm4gMDsKfQoKaW50IHdpbm5lcihpbnQgYVtdLGludCBuKQp7CglpbnQgZyx3LHY7CglnID0gdyA9IHYgPSAwOwoJCglmb3IoaW50IGkgPSAwO2kgPCBuO2krKykKCXsKCQlzd2l0Y2goYVtpXSkKCQl7CgkJCWNhc2UgMToKCQkJCWcrKzsKCQkJCWJyZWFrOwoJCQljYXNlIDI6CgkJCQl2Kys7CgkJCQlicmVhazsKCQkJY2FzZSAzOgoJCQkJdysrOwoJCQkJYnJlYWs7CgkJCWRlZmF1bHQ6CgkJfQoJfQoJaWYoYVswXSA9PSAwKSByZXR1cm4gMDsKCWlmKGcgPiAwICYmIHYgPiAwICYmIHcgPT0gMCkgcmV0dXJuIDE7CglpZihnID4gMCAmJiB3ID4gMCAmJiB2ID09IDApIHJldHVybiAzOwoJaWYodiA+IDAgJiYgdyA+IDAgJiYgZyA9PSAwKSByZXR1cm4gMjsKCXJldHVybiAwOwp9Cgp2b2lkIGRpc3AoaW50IGFbXSxpbnQgbikKewoJCXByaW50ZigiKOOBguOBquOBnzolYyAsIixudG9jKGFbMF0pKTsKCQlmb3IoaW50IGkgPSAxO2kgPCBuO2krKykgcHJpbnRmKCJQQyVkOiVjICwiLGksbnRvYyhhW2ldKSk7CgkgICAgcHV0cygiXGJcYikiKTsKfQoKY2hhciBudG9jKGludCBuKQp7Cglzd2l0Y2gobikKCXsKCQljYXNlIDE6IHJldHVybiAnZyc7CgkJY2FzZSAyOiByZXR1cm4gJ3YnOwoJCWNhc2UgMzogcmV0dXJuICd3JzsKCQlkZWZhdWx0OiByZXR1cm4gJz8nOwoJfQoJcmV0dXJuICc/JzsKfQo=