save to cloude

This commit is contained in:
Feast
2026-07-30 21:32:58 +08:00
parent 7c4493f121
commit ff3d8703d0
2 changed files with 410 additions and 56 deletions
+68 -17
View File
@@ -13,20 +13,33 @@ Fl_Input* input_coins_box;
std::string input_coins_box_value;
std::string collection = "收藏:";
Fl_Button* btn_menu;
Fl_Button* sell_question;
Fl_Button* add_coins;
Fl_Button* btn;
Fl_Button* sell;
Fl_Button* couka;
Fl_Button* couone;
Fl_Button* couten;
Fl_Button* rarity;
Fl_Button* collection_box;
int coins = 0;
int a = std::rand() % 111;
void collection_callback(Fl_Widget * widget, void *data) {
result_box->label(collection.c_str());
result_box->labelcolor(FL_BLACK);
}
void sell_callback(Fl_Widget * widget, void *data) {
}
void sell_question_callback(Fl_Widget * widget, void *data) {
result_box->label("售卖:请选择要售卖的卡牌,售卖后会获得金币。");
result_box->labelcolor(FL_BLACK);
}
void draw_callback(Fl_Widget * widget, void *data) {
result_box->label("说明:这是一个抽卡游戏,你可以通过抽卡来获得各种等级的卡牌。\nR SR SSR UR TR USR,\n每抽一次花费10金币。若金币不够,可以去菜单增加金币,\n或者减少抽卡遍数。并且抽卡遍数最高10。请点击回菜单。");
result_box->labelcolor(FL_BLACK);
}
void rarity_callback(Fl_Widget * widget, void *data) {
result_box->label("稀有度分配:R 45.05% SR 27.03% SSR 18.02%\n UR 4.50% TR 3.60% USR 1.80%\n请按回菜单。");
result_box->label("稀有度分配:R 45.05% SR 27.03% SSR 18.02%\n UR 9.01% TR 0.81% USR 0.09%\n请按回菜单。");
result_box->labelcolor(FL_BLACK);
}
void menu_callback(Fl_Widget * widget, void *data) {
@@ -34,7 +47,7 @@ void menu_callback(Fl_Widget * widget, void *data) {
result_box->label("");
int add = std::atoi(input_coins_box->value());
if(add > 9999) {
result_box->label("增加金币数量不能超过9999");
result_box->label("增加金币数量不能超过9999,点击回菜单生效。");
add = 0;
input_coins_box->value("");
input_coins_box->hide();
@@ -57,35 +70,36 @@ void couka_callback3(Fl_Widget * widget, void *data) {
add_coins->show();
btn_menu->show();
btn->show();
sell->show();
collection_box->show();
rarity->show();
return;
}
chou10_result = "";
for(int i = 0; i < 10; i++)
{
int a = std::rand() % 111;
if(a < 50){
int a = std::rand() %1110;
if(a < 500){
chou10_result += "R ";
std::string name = "R";
int num = 1;
collection += name + " ";
collection += "R ";
}
else if(a < 80)
else if(a < 800)
{
chou10_result += "SR ";
collection += "SR ";
}
else if(a < 100)
else if(a < 1000)
{
chou10_result += "SSR ";
collection += "SSR ";
}
else if(a < 105)
else if(a < 1100)
{
chou10_result += "UR ";
collection += "UR ";
}
else if(a < 109)
else if(a < 1109)
{
chou10_result += "TR ";
collection += "TR ";
@@ -107,7 +121,10 @@ void couka_callback3(Fl_Widget * widget, void *data) {
add_coins->show();
btn_menu->show();
btn->show();
}
sell->show();
collection_box->show();
rarity->show();
}
void couka_callback2(Fl_Widget * widget, void *data) {
if(coins < 10) {
@@ -118,16 +135,30 @@ void couka_callback2(Fl_Widget * widget, void *data) {
add_coins->show();
btn_menu->show();
btn->show();
collection_box->show();
rarity->show();
sell->show();
return;
}
int a = std::rand() % 111;
if (a < 50) {result_box->label("你抽到了R卡牌金币减10");
collection += "R ";
}
else if (a < 80) result_box->label("你抽到了SR卡牌金币减10");
else if (a < 100) result_box->label("你抽到了SSR卡牌金币减10");
else if (a < 105) result_box->label("你抽到了UR卡牌金币减10");
else if (a < 109) result_box->label("你抽到了TR卡牌金币减10");
else result_box->label("你抽到了USR卡牌金币减10");
else if (a < 80) {result_box->label("你抽到了SR卡牌金币减10");
collection += "SR ";
}
else if (a < 100) {result_box->label("你抽到了SSR卡牌金币减10");
collection += "SSR ";
}
else if (a < 105) {result_box->label("你抽到了UR卡牌金币减10");
collection += "UR ";
}
else if (a < 109) {result_box->label("你抽到了TR卡牌金币减10");
collection += "TR ";
}
else {result_box->label("你抽到了USR卡牌金币减10");
collection += "USR ";
}
result_box->labelcolor(FL_BLACK);
coins -= 10;
input_coins_box_value = ("金币:" + std::to_string(coins));
@@ -138,6 +169,9 @@ void couka_callback2(Fl_Widget * widget, void *data) {
add_coins->show();
btn_menu->show();
btn->show();
sell->show();
collection_box->show();
rarity->show();
}
void couka_callback1(Fl_Widget * widget, void *data) {
input_coins_box->hide();
@@ -148,6 +182,9 @@ void couka_callback1(Fl_Widget * widget, void *data) {
couka->hide();
couone->show();
couten->show();
sell->hide();
collection_box->hide();
rarity->hide();
}
void add_coins_callback(Fl_Widget * widget, void *data) {
result_box->label("请输入增加金币数量(最多9999)");
@@ -168,6 +205,20 @@ int main() {
rarity->labelsize(18);
rarity->callback(rarity_callback);
collection_box = new Fl_Button(300, 700, 140, 50, "仓库");
collection_box->labelsize(18);
collection_box->callback(collection_callback);
sell = new Fl_Button(500,700,140,50,"售卖");
collection_box->labelsize(18);
collection_box->callback(sell_callback);
sell_question = new Fl_Button(150,0,35,35,"?");
sell_question->labelsize(10);
sell_question->callback(sell_question_callback);
sell_question->hide();
btn = new Fl_Button(300, 40, 140, 50, "说明");
btn->labelsize(18);
btn->callback(draw_callback);