#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
void printBorder(int width) {
for (int i = 0; i < width; i++) {
printf("*");
}
printf("\n");
}
void printHappyBirthday(const char *name) {
printf(" Happy Birthday to You!\n");
printf(" Happy Birthday to You!\n");
printf(" Happy Birthday Dear %s\n", name);
printf(" Happy Birthday to You!\n");
}
int main() {
char name[50] = {'W', 'R', 'S'};
int nameLength = strlen(name);
int cardWidth = 30 + nameLength;
int x, y, w, z;
srand((unsigned)time(NULL));
x = rand() % 1000 + 1000 ;
y = rand() % 100 + 100 ;
printf("游戏启动\n");
printf("总数为%d,你与计算机依次选择一个不大于%d的数字,最终使总数为零的一方获胜\n", x, y);
while (1) {
printf("请输入你要减去的数字,且不得大于%d\n", y);
scanf( "%d", &w);
if ( y < w) {
printf("请输入小于%d的数\n", y);
continue;
} else if (w <= 0) {
printf("请输入大于0的数\n");
continue;
} else {
printf("你减去%d,后还剩下%d\n", w, x - w);
}
x = x - w;
if (x == 0) {
printf(" 生日快乐\n");
printBorder(cardWidth);
printf("\n");
printf(" Wishing you a day filled with happiness\n");
printf(" and a year filled with joy. Happy birthday!\n");
printf("\n");
printHappyBirthday(name);
printf("\n");
printBorder(cardWidth);
break;
}
z = x % (y + 1);
if (!z)
z = rand() % 10 + 10 ;
x = x - z;
printf("计算机减去%d,还剩下%d\n", z, x);
if (x == 0) {
printf("输了欸....\n再来一局吧");
break;
}
}
return 0;
}