专栏文章
我的养成系睿跟v0.4
个人记录参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mipxv8o9
- 此快照首次捕获于
- 2025/12/03 19:43 3 个月前
- 此快照最后确认于
- 2025/12/03 19:43 3 个月前
有存档了
CPP#include <bits/stdc++.h>
#include <windows.h>
#define cls() system("cls")
using namespace std;
string ans;
int ntic = 0, speed, setspeed, mode = 1;
int levs[11] = {0, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000, 10000};
int saves[105];
bool jump, skipvel;
struct Player {
string name;
int progress;
int exps, lev;
} player;
void SaveGame(string filename);
void LoadGame(string filename);
void svgame();
void ldgame();
void init();
void saveinit();
void say(string a);
void nti();
void abgame();
void ctngame();
void gameset();
void col();
void vel1();
void neimap();
void daytime1();
int main() {
cout << "正在加载游戏...";
init();
nti();
}
void init() {
ifstream file("init.rgsave");
if (file.is_open()) {
file >> skipvel; //是否跳过剧情
file >> setspeed; //文字显示速度
speed = setspeed;
for (int i = 1; i <= 100; i++) file >> saves[i]; //是否保存档位
file.close();
return;
}
else {
ofstream file("init.rgsave");
file << "1 ";
file << "40 ";
for (int i = 1; i <= 100; i++) file << "0 ";
}
}
void saveinit() {
ofstream file("init.rgsave");
file << skipvel << ' ';
file << setspeed << ' ';
if (file.is_open()) {
for (int i = 1; i <= 100; i++) {
file << saves[i] << ' ';
}
file.close();
return;
}
}
void say(string a) {
int l = a.size();
for (int i = 0; i < l; i++) {
cout << a[i];
if (a[i]) Sleep(speed);
}
Sleep(100);
}
void col(int a) {//0白 1蓝绿 2绿 3紫 4粉红 5亮黄 6青蓝
if (a == 0) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
if (a == 1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_BLUE);
if (a == 2) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN);
if (a == 3) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE);
if (a == 4) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);
if (a == 5) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN);
if (a >= 6) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
}
void svgame() {
cout << "保存到第几个存档?" << endl;
int fn;
cin >> fn;
if (saves[fn]) {
say("该存档已经保存了内容,确定要替换?\n1.保存 2.取消\n");
cin >> ans;
if (ans == "1") {
saves[fn] = 1;
saveinit();
SaveGame("save" + to_string(fn) + ".rgsave");
}
}
else {
saves[fn] = 1;
saveinit();
SaveGame("save" + to_string(fn) + ".rgsave");
}
}
void SaveGame(string filename) {
ofstream file(filename.c_str());
if (file.is_open()) {
file << player.name << ' ';
file << player.progress << ' ';
file << player.exps << ' ' << player.lev;
file.close();
}
cls();
return;
}
void ldgame() {
cls();
bool sflag = 0;
for (int i = 1; i <= 100; i++)
if (saves[i] == 1) {
sflag = 1;
break;
}
if (sflag = 0) {
say("你还没有任何存档!\n");
Sleep(500);
system("pause");
nti();
}
else {
cout << "加载到第几个存档?" << endl;
int fn;
cin >> fn;
if (!saves[fn]) {
say("该存档没有保存任何内容!!!\n");
Sleep(500);
ldgame();
}
else {
LoadGame("save" + to_string(fn) + ".rgsave");
}
}
return;
}
void LoadGame(string filename) {
ifstream file(filename.c_str());
if (file.is_open()) {
file >> player.name;
file >> player.progress;
file >> player.exps >> player.lev;
file.close();
if (player.progress <= 1) {
jump = 1;
vel1();
}
return ;
}
}
void nti() {
if (!ntic) speed = 10, ntic = 1;
else speed = 0;
cls();
col(1);
cout << " 我的";
col(5);
cout << "养成系";
col(1);
cout << "睿跟";
col(0);
cout << " v0.4a" << endl;
col(1);
cout << " My ";
col(5);
cout << "Raising Sim: ";
col(1);
cout << "Regan\n";
col(4);
cout << " Regan_Love制作组出品" << endl;
col(0);
say("在发布当前版本的反馈帖子下或私信反馈BUG或改进\n");
say("反馈帖子:暂无\n");
say("更多版本在我的团队 >>>\n");
col(1);
say("团队主页:https://www.luogu.com.cn/team/85929");
col(0);
cout << endl << "-----------------------------------------------" << endl;
say("1.开始游戏 2.继续游戏 3.游戏设置\n4.关于游戏 5.退出游戏\n");
speed = 10;
cin >> ans;
if (ans == "4") abgame();
if (ans == "1") {
vel1();
return;
}
if (ans == "2") ldgame();
if (ans == "3") gameset();
else nti();
}
void abgame() {
cls();
say("1.游戏介绍 2.玩法说明 3.制作团队 4.返回\n");
cin >> ans;
if (ans == "1") {
cls();
say("《我的养成系睿跟》是一款由 ");
col(2);
say("Regan_Love 制作组 ");
col(0);
say("制作发行的一款剧情游戏");
cout << endl;
say("游戏主要通过");
col(4);
say("剧情选择,购买道具,与可爱的睿跟互动,提升与睿跟的好感度,");
col(0);
say("使睿跟逐渐变得顺从,阳光,最后与你修得正果~");
cout << endl;
system("pause");
nti();
return;
}
if (ans == "2") {
cls();
say("输入选项数字以选择");
cout << endl;
say("推进剧情或与睿跟互动可提升好感度");
cout << endl;
say("当好感度达到一定数值时将提高好感等级");
cout << endl;
say("当好感等级达到10级时将会触发结局");
cout << endl;
say("在商店使用好感度购买交互行为或道具与睿跟互动,可触发其他结局");
cout << endl;
system("pause");
nti();
}
if (ans == "3") {
cls();
col(0);
say("由");
col(2);
say(" 睿跟头号星怒 Luogu:Jimmy_Cao");
col(0);
say(" 原创制作");
cout << endl << "由";
col(2);
say(" 睿 跟 project Luogu:_Ayato");
col(0);
say(" 文案编写");
cout << endl;
say("作者主页:https://www.luogu.com.cn/user/1351065");
cout << endl;
say("文案组主页:https://www.luogu.com.cn/user/1351021");
cout << endl;
say("睿跟后援会(团队主页):https://www.luogu.com.cn/team/85929");
cout << endl;
say("快来加入我们吧(^w^)");
cout << endl;
system("pause");
abgame();
}
if (ans == "4") nti();
else abgame();
}
void gameset() {
cls();
saveinit();
speed = 10;
say("1.游戏模式 2.文本显示速度 3.剧情跳过 4.返回\n");
cin >> ans;
if (ans == "1") {
cls();
say("游戏模式:");
col(4);
say("1.普通模式 2.R18 模式");
cout << endl;
col(0);
cin >> ans;
if (ans == "1") {
mode = 0;
cout << "设置成功!";
Sleep(1000);
system("pause");
gameset();
}
if (ans == "2") {
MessageBox(NULL, "18+模式中将会有更多色情内容,确定要开启吗", "R18 Mode",MB_ICONASTERISK| MB_OK);
mode = 1;
cout << "设置成功!" << endl;
Sleep(1000);
system("pause");
gameset();
}
}
if (ans == "2") {
cls();
cout << "请输入文本显示速度(默认速度:40;输入的数字越小,文字显示的速度越快):";
setspeed = speed;
int sp;
cin >> sp;
speed = sp;
cout << "设置成功!" << endl;
Sleep(1000);
cout << "示例:" << endl;
Sleep(500);
say("睿跟睿跟真可爱!\n");
setspeed = sp;
system("pause");
gameset();
}
if (ans == "3") {
tp:
cls();
cout << "是否开启跳过剧情提示:1.开启 2.关闭\n";
cin >> ans;
if (ans == "1") skipvel = 1;
if (ans == "2") skipvel = 0;
else goto tp;
}
if (ans == "4") nti();
else gameset();
}
void vel1() {
cls();
speed = setspeed;
if (jump == 1) {
switch (player.progress) {
case 1: goto prog1;
}
jump = 0;
}
col(4);
cout << " ";
say("警告!\n");
cout << " ";
say("本游戏内容纯属虚构\n");
say("本游戏含有少量的色情以及暧昧的肢体动作情节\n");
col(0);
system("pause");
cls();
col(5);
say(" §|");
col(1);
speed = 100;
say("第一章 初识睿跟");
col(5);
speed = setspeed;
say("| §");
col(0);
cls();
say("你缓缓地睁开眼...");
Sleep(500);
cout << endl;
say("阳光洒落在房间的地板上,你坐了起来");
Sleep(500);
cout << endl;
say("桌面上的工作简历写着你的名字...");
cout << endl << ">>>";
cin >> player.name;
cls();
player.progress = 1;
svgame();
prog1:
say("一个男孩的身影浮现在你眼前");
cout << endl;
Sleep(1000);
speed = 500;
say("睿...");
Sleep(300);
speed = setspeed;
say("睿跟?");
cout << endl;
Sleep(500);
system("pause");
cls();
if (skipvel == 1) {
say("1.跳过部分剧情 2.继续 3.不再显示此内容\n");
cin >> ans;
if (ans == "1") {
say("真的要这样做吗?小睿跟会伤心的哦...\n1.跳过 2.算了");
cin >> ans;
if (ans == "1") {
cls();
goto gt1;
}
}
if (ans == "3") {
say("此后可在游戏设置中更改此设置\n");
skipvel = 0;
system("pause");
}
cls();
}
say("你不可置信地眨了眨眼");
cout << endl;
Sleep(1000);
say("你试探性地念着他的名字...");
cout << endl << ">>>";
cin >> ans;
col(5);
say("睿跟:嗯,叫我吗?");
Sleep(1000);
cout << endl;
col(0);
say("你捏了捏自己的手臂...");
Sleep(1000);
cout << endl;
say("你没在做梦!");
cout << endl;
Sleep(1000);
system("pause");
cls();
col(0);
say(player.name);
say(":睿跟,你怎么在我家里?");
cout << endl;
Sleep(500);
col(5);
say("睿跟:不可告人的秘密(偷笑)");
cout << endl;
Sleep(500);
col(0);
say("你深吸一口气,试图让自己更加清醒一些");
cout << endl;
Sleep(500);
say(player.name);
say(":好了,睿跟,现在我要换衣服了,请你出去一下行吗?");
cout << endl;
Sleep(500);
col(5);
say("睿跟:唔...好吧,我在客厅等你");
cout << endl;
col(0);
Sleep(500);
say("睿跟匆匆离开了你的房间...");
cout << endl;
Sleep(1000);
say("你试图冷静思考,可是无论如何也解释不了这一切,什么叫【不可告人的秘密】");
cout << endl;
Sleep(500);
system("pause");
cls();
say("你转身走回房间,把睿跟关在了卧室外");
cout << endl;
system("pause");
cls();
say("你透过房间的猫眼望去,只见睿跟呆呆地站在客厅中央,保持着沉默,什么也没做");
cout << endl;
say(player.name);
say(":我换好了,进来吧...");
Sleep(500);
cout << endl;
say("睿跟还是不出声");
cout << endl;
Sleep(500);
say("你只好自己推开房门走出来。实话说,你真的很想知道一件事。所谓【不可告人的秘密】是什么");
cout << endl;
Sleep(500);
say("你走到了客厅,眼前是看上去笨笨的小睿跟");
cout << endl;
Sleep(500);
say("你还在思索,如何让他说出【不可告人的秘密】");
cout << endl;
Sleep(500);
gt1:
if (mode == 0) {
cls();
col(5);
say("睿跟:我们走吧!");
Sleep(500);
cout << endl;
col(0);
say("你反应过来,看向睿跟");
Sleep(500);
cout << endl;
say("他穿的好像是某个中学的校服,藏蓝色的长裤,纯白的上衣");
Sleep(500);
cout << endl;
say("配上睿跟那副不谙世事的单纯模样,很像会在操场上自由奔跑的学生");
Sleep(500);
cout << endl;
say("你似乎很喜欢这副模样...");
Sleep(500);
cout << endl;
say("他...真可爱?你不禁为自己的想法感到害羞");
Sleep(500);
cout << endl;
say("你突然猛地一激灵,好像刚才睡着了一般...");
Sleep(500);
cout << endl;
system("pause");
cls();
}
if (mode == 1) {
say("他的脸,在你不注意的时候...变...红了?");
Sleep(500);
cout << endl;
col(5);
say("睿跟:欸欸欸欸欸欸欸??!!你平时就穿成这样吗?");
Sleep(500);
col(0);
cout << endl;
say("你并没有觉得的你的衣着有什么不妥");
Sleep(500);
cout << endl;
say(player.name);
say(":怎么了吗?");
Sleep(500);
cout << endl;
col(5);
say("睿跟:...你的裤子,太紧了一点?");
Sleep(500);
cout << endl;
col(0);
say("你低头一看,好像是太紧了");
Sleep(500);
cout << endl;
say("凸出来了!!!");
Sleep(500);
cout << endl;
say("你尴尬地转过身去,走回房间,想换一条裤子");
Sleep(500);
cout << endl;
say("你身后一阵脚步声传来...");
Sleep(500);
cout << endl;
say("有人扯了扯你袖子,你转头。是睿跟");
Sleep(500);
cout << endl;
system("pause");
say(player.name);
Sleep(500);
say(":睿跟?");
Sleep(500);
cout << endl;
col(5);
say("睿跟:算了,不要换。我觉得你穿着这件衣服很好看");
Sleep(500);
cout << endl;
col(0);
say("睿跟笑了,笑得脸通红,眼睛笑成一个弯弯的月牙");
Sleep(500);
cout << endl;
say("你看着睿跟,有话想说,但却感觉被封在了喉咙里");
Sleep(500);
cout << endl;
say("好像?");
Sleep(500);
cout << endl;
say("你察觉到,那个【不可告人的秘密】离你越来越近");
Sleep(500);
cout << endl;
say("你:你好像不需要换衣服?");
Sleep(500);
cout << endl;
say("睿跟低头看看了自己的衣服");
Sleep(500);
cout << endl;
say("他穿的好像是某个中学的校服,藏蓝色的长裤,纯白的上衣");
Sleep(500);
cout << endl;
say("配上睿跟那副不谙世事的单纯模样,很像会在操场上自由奔跑的学生");
Sleep(500);
cout << endl;
say("你似乎很喜欢这副模样...");
Sleep(500);
cout << endl;
say("他...真可爱?你不禁为自己的想法感到害羞");
Sleep(500);
cout << endl;
col(5);
say("睿跟:我的衣服不脏,我们走吧");
Sleep(500);
cout << endl;
system("pause");
cls();
}
col(5);
say(player.name);
say(":去哪?");
col(5);
cout << endl;
Sleep(500);
say("睿跟:我饿了。你平时不吃早餐吗?");
col(0);
Sleep(500);
cout << endl;
say("你好像毕业后都是中午才起床...");
Sleep(500);
cout << endl;
say(player.name);
say(":睡到12点就不用吃了");
Sleep(500);
cout << endl;
say("睿跟沉默了。他拽了拽你的袖子");
cout << endl;
Sleep(500);
say(player.name);
say(":走吧,去吃早餐");
cout << endl;
Sleep(500);
system("pause");
cls();
player.exps += 10;
col(5);
say("与睿跟提升了10点好感度!");
cout << endl;
if (player.exps >= levs[player.lev]) {
cout << "[LV.UP] 友好等级提升!";
player.lev++;
player.exps -= levs[player.lev];
say("\n当前好感等级:");
cout << player.lev << "级" << endl;
system("pause");
}
cls();
say("完成");
col(5);
say("日常剧情");
col(0);
say("以提升与睿跟的好感度!\n");
cin.get();
say("当好感等级达到 2 时将推进主线剧情!\n");
system("pause");
daytime1();
}
void daytime1() {
col(0);
cls();
say("当前好感等级:");
col(5);
cout << player.lev;
col(0);
say(" 当前好感度:");
col(5);
cout << player.exps + levs[player.lev] << endl;
cls();
col(0);
// neimap();
say("感谢你的游玩!");
cout << endl;
cout << "请在 Luogu 0.4公测版的帖子下反馈BUG或改进" << endl;
exit(0);
}
void neimap() {
cout << "当前地图:楼下街区 输入编号前往对应地点>>>" << endl;
cout << "============================================" << endl;
cout << "| | | | | |" << endl;
cout << "| 1.早餐店 | | 2.家 | | 3.公园 |" << endl;
cout << " ===== =========== ========== =====" << endl;
cout << endl;
cout << " ===== =========== ========== =====" << endl;
cout << "| | | | | |" << endl;
cout << "| 4.文具店 | | 5.超市 | | 6.图书馆 |" << endl;
cout << "============================================" << endl;
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...