mirror of https://github.com/dirtbags/moth.git
Start at cows and bulls game
This commit is contained in:
parent
8567bd04ee
commit
49e8ccfdde
|
@ -0,0 +1 @@
|
|||
cowd:
|
|
@ -0,0 +1,60 @@
|
|||
#include <stdio.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
void
|
||||
mungle(char *str, int len)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < len; i += 1) {
|
||||
str[i] ^= 0xff;
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
long answer = 0;
|
||||
int i;
|
||||
|
||||
{
|
||||
struct timeval tv;
|
||||
|
||||
gettimeofday(&tv, NULL);
|
||||
srandom(tv.tv_usec);
|
||||
}
|
||||
|
||||
for (i = 0; i < 4; i += 1) {
|
||||
answer = (answer << 4) | ((random() % 6) + 1);
|
||||
}
|
||||
|
||||
while (1) {
|
||||
char line[20];
|
||||
long guess;
|
||||
int ret = 0;
|
||||
|
||||
if (NULL == fgets(line, sizeof(line), stdin)) {
|
||||
break;
|
||||
}
|
||||
|
||||
guess = strtol(line, NULL, 16);
|
||||
|
||||
for (i = 0; i < 4; i += 1) {
|
||||
int g = (guess >> (i*4)) & 0xf;
|
||||
int a = (answer >> (i*4)) & 0xf;
|
||||
|
||||
if ((g < 1) || (g > 7)) {
|
||||
ret = 0;
|
||||
break;
|
||||
} else if (g == a) {
|
||||
ret += 0x10;
|
||||
} else if (g & a) {
|
||||
ret += 0x01;
|
||||
}
|
||||
}
|
||||
|
||||
printf("%02x\n", ret);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue