#include <stdio.h>
#include <stdlib.h>
int Rock = 0, Paper = 1, Scissors = 2;
//MAX FUNCTION
int maximum(float i, float j, float k ) {
int max;
if (i > j && i > k)
max = 0;
else if (j > i && j > k)
max = 1;
else if (k > i && k > j)
max = 2;
else
max = -1;
return max;
}
int main(int argc, char* argv[])
{
int player= 3, computer, Vrr=20, Vpr=20, Vsr=20, Vrp=20, Vpp=20, Vsp=20, Vrs=20, Vps=20, Vss=20, max;
float Prr, Prp, Prs, Pps, Ppr, Ppp, Psp, Psr, Pss;
while (player != -1)
{
printf("Rock (=0), Paper (=1) or Scissors (=2)? To Exit, Enter -1\n");
//COMPUTING PROBABLITIES
//Subscripts are PLAYER-COMPUTER
if (player == Rock) {
Prr = Vrr / (Vrr + Vrp + Vrs);
Prp = Vrp / (Vrr + Vrp + Vrs);
Prs = Vrs / (Vrr + Vrp + Vrs);
max = maximum(Prr, Prp, Prs);
if (max == -1)
else
computer= max;
}
else if (player == Paper) {
Pps = Vps / (Vpr + Vpp + Vps);
Ppr = Vpr / (Vpr + Vpp + Vps);
Ppp = Vpp / (Vpr + Vpp + Vps);
max = maximum(Pps, Ppr, Ppp);
if (max == -1)
else
computer= max;
}
else {
Psp = Vsp / (Vsr + Vsp + Vss);
Psr = Vsr / (Vsr + Vsp + Vss);
Pss = Vss / (Vsr + Vsp + Vss);
max = maximum(Psp, Psr, Pss);
if (max == -1)
else
computer= max;
}
//DISPLAY PLAYER'S MOVE
if (player == 0)
{
}
else if (player == 1)
{
}
else if (player == 2)
{
}
else
break;
//DISPLAY COMPUTER'S MOVE
if (computer == 0)
{
}
else if (computer == 1)
{
}
else
{
}
// DISPLAY RESULTS OF ROUND
if (player == Rock)
{
if (computer == Rock)
{
}
else if (computer == Paper)
{
Vrp++;
}
else
{
Vrs--;
}
}
else if (player == Paper)
{
if (computer == Rock)
{
Vpr--;
}
else if (computer == Paper)
{
}
else
{
Vpp++;
}
}
else if (player == Scissors)
{
if (computer == Rock)
{
Vsr++;
}
else if (computer == Paper)
{
Vsp--;
}
else
{
}
}
}
printf("Thank you for playing! :))\n"); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBSb2NrID0gMCwgUGFwZXIgPSAxLCBTY2lzc29ycyA9IDI7CgovL01BWCBGVU5DVElPTgppbnQgbWF4aW11bShmbG9hdCBpLCAgZmxvYXQgaiwgZmxvYXQgayApIHsKCWludCBtYXg7CglpZiAoaSA+IGogJiYgaSA+IGspCgkJbWF4ID0gMDsKCWVsc2UgaWYgKGogPiBpICYmIGogPiBrKQoJCW1heCA9IDE7CgllbHNlIGlmIChrID4gaSAmJiBrID4gaikKCQltYXggPSAyOwoJZWxzZQogICAgICAgICAgICBtYXggPSAtMTsKCXJldHVybiBtYXg7Cn0KCmludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCnsKCWludCBwbGF5ZXI9IDMsIGNvbXB1dGVyLCBWcnI9MjAsIFZwcj0yMCwgVnNyPTIwLCBWcnA9MjAsIFZwcD0yMCwgVnNwPTIwLCBWcnM9MjAsIFZwcz0yMCwgVnNzPTIwLCBtYXg7IAoJZmxvYXQgUHJyLCBQcnAsIFBycywgUHBzLCBQcHIsIFBwcCwgUHNwLCBQc3IsIFBzczsKCXByaW50ZigiQmVnaW46XG4iKTsKCQoJd2hpbGUgKHBsYXllciAhPSAtMSkKCXsKCQlwcmludGYoIlJvY2sgKD0wKSwgUGFwZXIgKD0xKSBvciBTY2lzc29ycyAoPTIpPyBUbyBFeGl0LCBFbnRlciAtMVxuIik7CgkJc2NhbmYoIiVkIiwgJnBsYXllcik7CgoJCS8vQ09NUFVUSU5HIFBST0JBQkxJVElFUwogICAgICAgICAgICAgICAgLy9TdWJzY3JpcHRzIGFyZSBQTEFZRVItQ09NUFVURVIKCQlpZiAocGxheWVyID09IFJvY2spIHsKCQkJUHJyID0gVnJyIC8gKFZyciArIFZycCArIFZycyk7CgkJCVBycCA9IFZycCAvIChWcnIgKyBWcnAgKyBWcnMpOwoJCQlQcnMgPSBWcnMgLyAoVnJyICsgVnJwICsgVnJzKTsKCQkJbWF4ID0gbWF4aW11bShQcnIsIFBycCwgUHJzKTsKCQkJaWYgKG1heCA9PSAtMSkKCQkJCWNvbXB1dGVyID0gcmFuZCgpICUgMzsKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcHV0ZXI9IG1heDsKCQl9CgkJZWxzZSBpZiAocGxheWVyID09IFBhcGVyKSB7CgkJCVBwcyA9IFZwcyAvIChWcHIgKyBWcHAgKyBWcHMpOwoJCQlQcHIgPSBWcHIgLyAoVnByICsgVnBwICsgVnBzKTsKCQkJUHBwID0gVnBwIC8gKFZwciArIFZwcCArIFZwcyk7CgkJCW1heCA9IG1heGltdW0oUHBzLCBQcHIsIFBwcCk7CgkJCWlmIChtYXggPT0gLTEpCgkJCQljb21wdXRlciA9IHJhbmQoKSAlIDM7CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXB1dGVyPSBtYXg7CgkJfQoJCWVsc2UgewoJCQlQc3AgPSBWc3AgLyAoVnNyICsgVnNwICsgVnNzKTsKCQkJUHNyID0gVnNyIC8gKFZzciArIFZzcCArIFZzcyk7CgkJCVBzcyA9IFZzcyAvIChWc3IgKyBWc3AgKyBWc3MpOwoJCQltYXggPSBtYXhpbXVtKFBzcCwgUHNyLCBQc3MpOwoJCQlpZiAobWF4ID09IC0xKQoJCQkJY29tcHV0ZXIgPSByYW5kKCkgJSAzOwogICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wdXRlcj0gbWF4OwoJCX0KCiAgICAgICAgICAgICAgICAvL0RJU1BMQVkgUExBWUVSJ1MgTU9WRQogICAgICAgICAgICAgICAgaWYgKHBsYXllciA9PSAwKQoJCXsKCQkJcHJpbnRmKCJSb2NrXG4iKTsKCQl9CgkJZWxzZSBpZiAocGxheWVyID09IDEpCgkJewoJCQlwcmludGYoIlBhcGVyXG4iKTsKCQl9CgkJZWxzZSBpZiAocGxheWVyID09IDIpCgkJewoJCQlwcmludGYoIlNjaXNzb3JzXG4iKTsKCQl9CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAKCQkvL0RJU1BMQVkgQ09NUFVURVInUyBNT1ZFCgkJaWYgKGNvbXB1dGVyID09IDApCgkJewoJCQlwcmludGYoIlJvY2tcbiIpOwoJCX0KCQllbHNlIGlmIChjb21wdXRlciA9PSAxKQoJCXsKCQkJcHJpbnRmKCJQYXBlclxuIik7CgkJfQoJCWVsc2UKCQl7CgkJCXByaW50ZigiU2Npc3NvcnNcbiIpOwoJCX0KCgkJLy8gRElTUExBWSBSRVNVTFRTIE9GIFJPVU5ECgkJaWYgKHBsYXllciA9PSBSb2NrKQoJCXsKCQkJaWYgKGNvbXB1dGVyID09IFJvY2spCgkJCXsKCQkJCXByaW50ZigiRHJhdyIpOwoJCQl9CgkJCWVsc2UgaWYgKGNvbXB1dGVyID09IFBhcGVyKQoJCQl7CgkJCQlWcnArKzsKCQkJCXByaW50ZigiWW91IExvc2UhIik7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQlWcnMtLTsKCQkJCXByaW50ZigiWW91IFdpbiEiKTsKCQkJfQoJCX0KCQllbHNlIGlmIChwbGF5ZXIgPT0gUGFwZXIpCgkJewoJCQlpZiAoY29tcHV0ZXIgPT0gUm9jaykKCQkJewoJCQkJVnByLS07CgkJCQlwcmludGYoIllvdSBXaW4iKTsKCQkJfQoJCQllbHNlIGlmIChjb21wdXRlciA9PSBQYXBlcikKCQkJewoJCQkJcHJpbnRmKCJEcmF3Iik7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQlWcHArKzsKCQkJCXByaW50ZigiWW91IFdpbiEiKTsKCQkJfQoJCX0KCQllbHNlIGlmIChwbGF5ZXIgPT0gU2Npc3NvcnMpCgkJewoJCQlpZiAoY29tcHV0ZXIgPT0gUm9jaykKCQkJewoJCQkJVnNyKys7CgkJCQlwcmludGYoIllvdSBMb3NlISIpOwoJCQl9CgkJCWVsc2UgaWYgKGNvbXB1dGVyID09IFBhcGVyKQoJCQl7CgkJCQlWc3AtLTsKCQkJCXByaW50ZigiWW91IFdpbiEiKTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCXByaW50ZigiRHJhdyIpOwoJCQl9CgkJfQogICAgICAgICAgICAgICAgcHJpbnRmKCJcbiIpOwoJfQoJcHJpbnRmKCJUaGFuayB5b3UgZm9yIHBsYXlpbmchIDopKVxuIik7CiAgICByZXR1cm4gMDsKfQo=