ADD file via upload

main
pb9np84yq 2 weeks ago
parent 74e5ac5035
commit f6133b4e01

@ -0,0 +1,125 @@
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
// 四维属性
int wit = 0; // 智慧
int look = 0; // 外貌
int mind = 0; // 精神
int pow = 0; // 体能
int point = 160; // 总可用点数
int dice; // 0~100骰子
char choose;
// 随机数种子(必须加,骰子才会每次不一样)
srand((unsigned)time(NULL));
printf("===== 跑团属性加点系统 =====\n");
printf("规则总点数160自由分配 智慧/外貌/精神/体能\n");
// ---- 点数分配环节 ----
while(point > 0)
{
printf("\n剩余可分配点数:%d\n", point);
printf("A.加点智慧 当前:%d\n", wit);
printf("B.加点外貌 当前:%d\n", look);
printf("C.加点精神 当前:%d\n", mind);
printf("D.加点体能 当前:%d\n", pow);
printf("请输入选项:");
scanf(" %c", &choose);
int add;
printf("输入要加的点数:");
scanf("%d", &add);
if(add <= 0 || add > point)
{
printf("点数输入非法!\n");
continue;
}
switch(choose)
{
case 'A':
case 'a': wit += add; break;
case 'B':
case 'b': look += add; break;
case 'C':
case 'c': mind += add; break;
case 'D':
case 'd': pow += add; break;
default: printf("无效选项!\n"); add = 0; break;
}
point -= add;
}
printf("\n===== 加点完成!最终属性 =====\n");
printf("智慧:%d\n", wit);
printf("外貌:%d\n", look);
printf("精神:%d\n", mind);
printf("体能:%d\n", pow);
// ---- 判定掷骰环节 ----
while(1)
{
printf("\n===== 技能判定 =====\n");
printf("A.智慧判定\n");
printf("B.外貌判定\n");
printf("C.精神判定\n");
printf("D.体能判定\n");
printf("Q.退出程序\n");
printf("选择需要判定的属性:");
scanf(" %c", &choose); // 前面有空格,自动吃掉回车!
int checkValue = 0;
if(choose == 'Q' || choose == 'q')
{
printf("程序结束\n");
break;
}
// 赋值对应判定值
switch(choose)
{
case 'A': case 'a': checkValue = wit; break;
case 'B': case 'b': checkValue = look; break;
case 'C': case 'c': checkValue = mind; break;
case 'D': case 'd': checkValue = pow; break;
default:
printf("输入错误!\n");
continue;
}
// 生成 0~100 随机数
dice = rand() % 101;
printf("🎲 投掷骰子:%d | 判定临界值:%d\n", dice, checkValue);
// 严格按照你定的规则判定
if(dice == 0)
{
printf("【🌟 大成功】\n");
}
else if(dice > 0 && dice < checkValue)
{
printf("【✅ 成功】\n");
}
else if(dice == checkValue)
{
printf("【⚠️ 勉强成功】\n");
}
else if(dice > checkValue && dice < 100)
{
printf("【❌ 失败】\n");
}
else if(dice == 100)
{
printf("【💀 大失败】\n");
}
}
return 0;
}
//我是想初始会有:智慧 外貌 精神 体能四个维度 然后由玩家分配点数点数共160点数越多在接下来的成功判定的成功概率就越大 比如智慧是60 骰到60以下就成功 0是大成功 临界值如这里的60是勉强成功 介于这两者之间是成功 临界值往后是失败 且100是大失败 我还需要一个骰子帮我随机生成0到100包括0和100的随机数 帮我进行判定
Loading…
Cancel
Save