尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
C++抽卡模拟器
近日在学校无聊写了个抽卡模拟器供大家娱乐。代码实现以下功能抽卡界面抽卡判定、动画播放、存档。广告位前言 – 人工智能学习网1.抽卡界面及判定技术有限不可能做的和原神一样精致。代码如下注这不是完整代码别复制错了printf(enter your name:); cin username; HANDLE handle GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_CURSOR_INFO CursorInfo; GetConsoleCursorInfo(handle, CursorInfo); CursorInfo.bVisible false; SetConsoleCursorInfo(handle, CursorInfo); printf(For each time : 0.6%% for gold and 6%% for purple\n); printf(P(gold) will increase After 73 times until 90 to 100%\n); printf(10 purples , as well as 1 gold, provides another chance\n); system(pause); char kk _getch(); if (kk c) change(); int r, waidegold 0, ggold 0, pple 0; READ(); srand(time(0)); int n, m, i, j, gold 0, pp 0, big 0, cnt 0, total 30; while (cnt total) { system(cls); printf(Press 1.10\n); printf(Youve rolled %d times rest:%d\n, cnt * 10, (total - cnt) * 10); printf(WAI:%d GOLD:%d PP:%d\n, waidegold, ggold, pple); cnt; char k; bool chu 0; k _getch(); Sleep(5); for (i 1; i 10; i) { int r random(); gold, pp; if (r p[gold] *MAXX ) { total; //gold Play(1); chu 1; if ((rand() % 2 ) !big) { //wai big 1; string tmp changzhu[rand() % 8]; printf(%d times 恭喜你歪%s了\n, gold, tmp.c_str()); DATA[cnttt] username; DATA[cnttt] ( gold / 10 0); DATA[cnttt] (gold % 10 0 ); DATA[cnttt] times : ; DATA[cnttt] tmp; //printf(DATA[%d] %s\n, cnttt, DATA[cnttt].c_str()); Sleep(2000); system(pause); waidegold; } else { big 0; printf(%d times %s\n, gold, UP.c_str()); DATA[cnttt] username; DATA[cnttt] ( gold / 10 0); DATA[cnttt] (gold % 10 0 ); DATA[cnttt] times : ; DATA[cnttt] UP; //printf(DATA[%d] %s\n, cnttt, DATA[cnttt].c_str()); Sleep(2000); system(pause); ggold; } gold 0; } if (r MAXX * 0.94 || pp 10) { //purple if (!chu) Play(0); chu 1; printf(%d times a purple\n, pp); system(pause); pp 0; pple; if (pple % 10 0) total; } } }2.存档包括时间获取以及存储结果获取时间struct Time { int year, month, day, hour, minute, second; }; Time gottime() { Time TIME; time_t now time(0); tm *ltm localtime(now); TIME.year 1900 ltm-tm_year; TIME.month 1 ltm-tm_mon; TIME.day ltm-tm_mday; TIME.hour ltm-tm_hour; TIME.minute ltm-tm_min; TIME.second ltm-tm_sec; return TIME; }存储void read() { freopen(ouhuang.txt, r, stdin); scanf(%d %d %d, mxxwdgd, mxxggd, mxxple); fclose(stdin); } void putt(int waidegold, int ggold, int pple) { freopen(ouhuang.txt, w, stdout); printf(%d %d %d, waidegold, ggold, pple); fclose(stdout); } void save(int waidegold, int ggold, int pple) { read(); printf(RECORD: waide:%d not:%d ple:%d\n, mxxwdgd, mxxggd, mxxple); if (ggold mxxggd) { printf(NEW RECORD!!!\n); putt(waidegold, ggold, pple); Sleep(3000); } } string changzhu[8] ; string UP; void READ() { freopen(text.txt, r, stdin); cin UP; for (int i 0; i 7; i) cin changzhu[i]; fclose(stdin); } void change() { freopen(text.txt, w, stdout); string st; cin st; cout st endl; for (int i 1; i 8; i) { cin st; cout st endl; } fclose(stdout); } void read1() { freopen(data.txt, r, stdin); char tmp[500]; while (~scanf(%s, tmp)) { DATA[cnttt] tmp; } fclose(stdin); } void data1(string stt) { freopen(data.txt, w, stdout); Time s gottime(); printf(\n%d/%d/%d,%d:%d:%d\n, s.year, s.month, s.day, s.hour, s.minute, s.second); printf(%s\n, username.c_str()); for (int i 1; i cnttt; i) { if (DATA[i] : || DATA[i 1] :) printf(%s, DATA[i].c_str()); else printf(%s\n, DATA[i].c_str()); } fclose(stdin); fclose(stdout); }对了由于不是很信任rand()自己造了一个随机函数int random() { int a[6], k 0; for (int i 0; i 6; i) a[i] rand() % 10; for (int i 0; i 6; i) k k * 10 a[i]; return k; }3.动画播放十分简陋。void Play(bool ggg) { system(cls); if (ggg 0) { setcolor(purple, white); } else { setcolor(black, yellow); } int i, j, k; for (i 1; i 20; i) { GoToxy(i, i 20) ; printf(\\); Sleep(40); if (ggg 1) Sleep(15); } i 20, j 50, k 1; int r 1; if (ggg 1) for (; r 10; r k, k) { GoToxy(i - r, i 20 - r); for (int i1 i - r; i1 i r; i1) printf(_); for (int i1 i - r 1; i1 i r - 1; i1) { GoToxy(i1, i 20 - r); printf(|); GoToxy(i1, i 20 r); printf(|); } GoToxy(i r, i 20 - r); for (int i1 i - r; i1 i r; i1) printf(_); Sleep(55); } system(cls); setcolor(white, black); }就是这样完整代码如下。使用教程抽卡模拟器~_哔哩哔哩_bilibili#include bits/stdc.h #include windows.h #include conio.h using namespace std; const int MAXX 1e6; string username; string DATA[500000]; int cnttt 0; struct Time { int year, month, day, hour, minute, second; }; Time gottime() { Time TIME; time_t now time(0); tm *ltm localtime(now); TIME.year 1900 ltm-tm_year; TIME.month 1 ltm-tm_mon; TIME.day ltm-tm_mday; TIME.hour ltm-tm_hour; TIME.minute ltm-tm_min; TIME.second ltm-tm_sec; return TIME; } enum Colour {black, blue, green, palegreen, red, purple, yellow, white, gray, light_blue, light_palegreen, light_red, light_purple, light_yellow, light_white}; //注有些是词生造出来的可能与实际不符仅供参数使用切勿实际使用否则后果自负 const Colour Const[16] {black, blue, green, palegreen, red, purple, yellow, white, gray, light_blue, light_palegreen, light_red, light_purple, light_yellow, light_white}; double p[90] {}; void GoToxy(int y, int x) { COORD coord; coord.X x; coord.Y y; HANDLE a GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(a, coord); } void color(int x) { int typeface x / 16, background x % 16; char command_typeface[2], command_background[2]; string command color ; string change 0123456789abcdef; command command change[typeface] change[background]; char cmd[9]; for (int i 0; i 9; i) cmd[i] command[i]; system(cmd); } void setcolor(Colour x, Colour y) { int i, j; for (i 0; i 16; i) if (x Const[i]) break; for (j 0; j 16; j) if (y Const[j]) break; color(i y * 16); } int random() { int a[6], k 0; for (int i 0; i 6; i) a[i] rand() % 10; for (int i 0; i 6; i) k k * 10 a[i]; return k; } int mxxwdgd, mxxggd, mxxple; void Play(bool ggg) { system(cls); if (ggg 0) { setcolor(purple, white); } else { setcolor(black, yellow); } int i, j, k; for (i 1; i 20; i) { GoToxy(i, i 20) ; printf(\\); Sleep(40); if (ggg 1) Sleep(15); } i 20, j 50, k 1; int r 1; if (ggg 1) for (; r 10; r k, k) { GoToxy(i - r, i 20 - r); for (int i1 i - r; i1 i r; i1) printf(_); for (int i1 i - r 1; i1 i r - 1; i1) { GoToxy(i1, i 20 - r); printf(|); GoToxy(i1, i 20 r); printf(|); } GoToxy(i r, i 20 - r); for (int i1 i - r; i1 i r; i1) printf(_); Sleep(55); } system(cls); setcolor(white, black); } void read() { freopen(ouhuang.txt, r, stdin); scanf(%d %d %d, mxxwdgd, mxxggd, mxxple); fclose(stdin); } void putt(int waidegold, int ggold, int pple) { freopen(ouhuang.txt, w, stdout); printf(%d %d %d, waidegold, ggold, pple); fclose(stdout); } void save(int waidegold, int ggold, int pple) { read(); printf(RECORD: waide:%d not:%d ple:%d\n, mxxwdgd, mxxggd, mxxple); if (ggold mxxggd) { printf(NEW RECORD!!!\n); putt(waidegold, ggold, pple); Sleep(3000); } } string changzhu[8] ; string UP; void READ() { freopen(text.txt, r, stdin); cin UP; for (int i 0; i 7; i) cin changzhu[i]; fclose(stdin); } void change() { freopen(text.txt, w, stdout); string st; cin st; cout st endl; for (int i 1; i 8; i) { cin st; cout st endl; } fclose(stdout); } void read1() { freopen(data.txt, r, stdin); char tmp[500]; while (~scanf(%s, tmp)) { DATA[cnttt] tmp; } fclose(stdin); } void data1(string stt) { freopen(data.txt, w, stdout); Time s gottime(); printf(\n%d/%d/%d,%d:%d:%d\n, s.year, s.month, s.day, s.hour, s.minute, s.second); printf(%s\n, username.c_str()); for (int i 1; i cnttt; i) { if (DATA[i] : || DATA[i 1] :) printf(%s, DATA[i].c_str()); else printf(%s\n, DATA[i].c_str()); } fclose(stdin); fclose(stdout); } int main() { for (int i 1; i 72; i) p[i] 0.006; p[73] 0.01; p[74] 0.05; p[75] 0.21; p[76] 0.3; p[77] 0.33; p[78] 0.36; p[79] 0.40; p[80] 0.5; p[81] 0.6; p[82] 0.7; p[83] 0.8; p[84] 0.82; p[85] 0.9; p[86] 0.95; p[87] 0.989; p[88] 0.999; p[89] 0.999; p[90] 1; printf(enter your name:); cin username; HANDLE handle GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_CURSOR_INFO CursorInfo; GetConsoleCursorInfo(handle, CursorInfo); CursorInfo.bVisible false; SetConsoleCursorInfo(handle, CursorInfo); printf(For each time : 0.6%% for gold and 6%% for purple\n); printf(P(gold) will increase After 73 times until 90 to 100%\n); printf(10 purples , as well as 1 gold, provides another chance\n); system(pause); char kk _getch(); if (kk c) change(); int r, waidegold 0, ggold 0, pple 0; READ(); srand(time(0)); int n, m, i, j, gold 0, pp 0, big 0, cnt 0, total 30; while (cnt total) { system(cls); printf(Press 1.10\n); printf(Youve rolled %d times rest:%d\n, cnt * 10, (total - cnt) * 10); printf(WAI:%d GOLD:%d PP:%d\n, waidegold, ggold, pple); cnt; char k; bool chu 0; k _getch(); Sleep(5); for (i 1; i 10; i) { int r random(); gold, pp; if (r p[gold] *MAXX ) { total; //gold Play(1); chu 1; if ((rand() % 2 ) !big) { //wai big 1; string tmp changzhu[rand() % 8]; printf(%d times 恭喜你歪%s了\n, gold, tmp.c_str()); DATA[cnttt] username; DATA[cnttt] ( gold / 10 0); DATA[cnttt] (gold % 10 0 ); DATA[cnttt] times : ; DATA[cnttt] tmp; //printf(DATA[%d] %s\n, cnttt, DATA[cnttt].c_str()); Sleep(2000); system(pause); waidegold; } else { big 0; printf(%d times %s\n, gold, UP.c_str()); DATA[cnttt] username; DATA[cnttt] ( gold / 10 0); DATA[cnttt] (gold % 10 0 ); DATA[cnttt] times : ; DATA[cnttt] UP; //printf(DATA[%d] %s\n, cnttt, DATA[cnttt].c_str()); Sleep(2000); system(pause); ggold; } gold 0; } if (r MAXX * 0.94 || pp 10) { //purple if (!chu) Play(0); chu 1; printf(%d times a purple\n, pp); system(pause); pp 0; pple; if (pple % 10 0) total; } } } read1(); save(waidegold, ggold, pple); data1(\n); return 0; }点个赞再走吧~
RELATED

相关推荐

VideoChat-Flash-Qwen2_5-7B_InternVideo2-1B_rai_1.8.0_npu_16K部署FAQ:已知限制、MIT/TPN许可说明与从1.8.0升级的完整路线图

VideoChat-Flash-Qwen2_5-7B_InternVideo2-1B_rai_1.8.0_npu_16K部署FAQ:已知限制、MIT/TPN许可说明与从1.8.0升级的完整路线图

【免费下载链接】VideoChat-Flash-Qwen2_5-7B_InternVideo2-1B_rai_1.8.0_npu_16K 项目地址: https://ai.gitcode.com/hf_mirrors/amd/VideoChat-Flash-Qwen2_5-7B_InternVideo2-1B_rai_1.8.0_npu_16K 点击查看 免费下载 VideoChat-Flash-Qwen2_5-7B_InternVideo2-…

📅 2026/10/22 20:35:24
Office 下载安装超详细保姆级教程(附安装包)【2026最新】

Office 下载安装超详细保姆级教程(附安装包)【2026最新】

文章目录第一部分:了解Office 2021第二部分:Office 2021安装步骤详解第三部分:总结大家好!本文将分步骤介绍Office 2021的安装方法,这是一份详细的指南,旨在帮助大家顺利完成安装。Office是常用的办公软件&…

📅 2026/10/22 20:35:24
c# web发布与IIS搭建合集教程(Win11):

c# web发布与IIS搭建合集教程(Win11):

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/22 20:35:24
MORE NEWS

更多资讯

📰

GFPGAN推理全链路拆解:从预处理到后处理的人脸修复实战

1. GFPGAN源码分析第十四篇:人脸修复模型推理全链路拆解做图像超分和修复方向的朋友,对GFPGAN这个名字应该不陌生。它是一个基于生成对抗网络的人脸修复模型,核心能力是把模糊、低分辨率、带噪点甚至部分损坏的人脸图像,还原成清晰…

📰

AirSim复杂环境无人机自主飞行源码:从仿真到落地全解析

简介:基于AirSim仿真平台的无人机自主飞行Python源码,面向需要完成毕业设计、期末作业、课程设计或参与学科竞赛的本科生与Python开发者,解决复杂仿真环境中无人机自主导航、避障与路径规划的实现问题。资源包共2个文件,包含一个主…

📰

Space Bunny匿名模型实测:百万上下文与原生多模态的真实表现

这几天,AI工具圈里传得最热闹的一件事,就是 WorkBuddy 宣布接入了一个叫 Space Bunny 的匿名模型。官方给出的三组数字确实唬人:100 万 token 上下文窗口、原生多模态、价格倍数只有常规旗舰大模型的 0.03x。说实话,第一眼看到这条…

📰

基于YOLOv12的密集行人检测系统完整实现指南

做密集行人检测这个项目,我前后折腾了将近两个月,踩了不少坑,也积累了不少经验。最近把代码和模型整理归档,想了想还是把整个实现过程完整写出来,给想用YOLOv12做目标检测的朋友一条可参考的路径。这套系统本质上是一个…

📰

Spring AI Alibaba停更后,Java AI应用开发如何选型与迁移

1. 一个停更公告引发的技术选型焦虑前几天在技术群里看到有人转了一条消息,说 Spring AI Alibaba 这个项目停更了,紧接着就有人问了一句“Java 还有希望吗”。这个问题一出来,群里瞬间热闹了,有人开始唱衰 Java 在 AI 领域的前景&…

📰

Python构建高效知识图谱:从数据建模到工程落地全实践

知识图谱这两年其实是一个被反复提起、但又容易被误解的概念。很多人一听"知识图谱",第一反应就是 Neo4j 里的那些花花绿绿的节点关系图,或者觉得那是搜索引擎大厂才玩得起的重型武器。但实际上,用 Python 构建一套高效的知识图谱&…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬