save to cloude
This commit is contained in:
+68
-17
@@ -13,20 +13,33 @@ Fl_Input* input_coins_box;
|
|||||||
std::string input_coins_box_value;
|
std::string input_coins_box_value;
|
||||||
std::string collection = "收藏:";
|
std::string collection = "收藏:";
|
||||||
Fl_Button* btn_menu;
|
Fl_Button* btn_menu;
|
||||||
|
Fl_Button* sell_question;
|
||||||
Fl_Button* add_coins;
|
Fl_Button* add_coins;
|
||||||
Fl_Button* btn;
|
Fl_Button* btn;
|
||||||
|
Fl_Button* sell;
|
||||||
Fl_Button* couka;
|
Fl_Button* couka;
|
||||||
Fl_Button* couone;
|
Fl_Button* couone;
|
||||||
Fl_Button* couten;
|
Fl_Button* couten;
|
||||||
Fl_Button* rarity;
|
Fl_Button* rarity;
|
||||||
|
Fl_Button* collection_box;
|
||||||
int coins = 0;
|
int coins = 0;
|
||||||
int a = std::rand() % 111;
|
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) {
|
void draw_callback(Fl_Widget * widget, void *data) {
|
||||||
result_box->label("说明:这是一个抽卡游戏,你可以通过抽卡来获得各种等级的卡牌。\nR SR SSR UR TR USR,\n每抽一次花费10金币。若金币不够,可以去菜单增加金币,\n或者减少抽卡遍数。并且抽卡遍数最高10。请点击回菜单。");
|
result_box->label("说明:这是一个抽卡游戏,你可以通过抽卡来获得各种等级的卡牌。\nR SR SSR UR TR USR,\n每抽一次花费10金币。若金币不够,可以去菜单增加金币,\n或者减少抽卡遍数。并且抽卡遍数最高10。请点击回菜单。");
|
||||||
result_box->labelcolor(FL_BLACK);
|
result_box->labelcolor(FL_BLACK);
|
||||||
}
|
}
|
||||||
void rarity_callback(Fl_Widget * widget, void *data) {
|
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);
|
result_box->labelcolor(FL_BLACK);
|
||||||
}
|
}
|
||||||
void menu_callback(Fl_Widget * widget, void *data) {
|
void menu_callback(Fl_Widget * widget, void *data) {
|
||||||
@@ -34,7 +47,7 @@ void menu_callback(Fl_Widget * widget, void *data) {
|
|||||||
result_box->label("");
|
result_box->label("");
|
||||||
int add = std::atoi(input_coins_box->value());
|
int add = std::atoi(input_coins_box->value());
|
||||||
if(add > 9999) {
|
if(add > 9999) {
|
||||||
result_box->label("增加金币数量不能超过9999");
|
result_box->label("增加金币数量不能超过9999,点击回菜单生效。");
|
||||||
add = 0;
|
add = 0;
|
||||||
input_coins_box->value("");
|
input_coins_box->value("");
|
||||||
input_coins_box->hide();
|
input_coins_box->hide();
|
||||||
@@ -57,35 +70,36 @@ void couka_callback3(Fl_Widget * widget, void *data) {
|
|||||||
add_coins->show();
|
add_coins->show();
|
||||||
btn_menu->show();
|
btn_menu->show();
|
||||||
btn->show();
|
btn->show();
|
||||||
|
sell->show();
|
||||||
|
collection_box->show();
|
||||||
|
rarity->show();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
chou10_result = "";
|
chou10_result = "";
|
||||||
for(int i = 0; i < 10; i++)
|
for(int i = 0; i < 10; i++)
|
||||||
{
|
{
|
||||||
int a = std::rand() % 111;
|
int a = std::rand() %1110;
|
||||||
if(a < 50){
|
if(a < 500){
|
||||||
chou10_result += "R ";
|
chou10_result += "R ";
|
||||||
std::string name = "R";
|
collection += "R ";
|
||||||
int num = 1;
|
|
||||||
collection += name + " ";
|
|
||||||
}
|
}
|
||||||
else if(a < 80)
|
else if(a < 800)
|
||||||
{
|
{
|
||||||
chou10_result += "SR ";
|
chou10_result += "SR ";
|
||||||
collection += "SR ";
|
collection += "SR ";
|
||||||
}
|
}
|
||||||
else if(a < 100)
|
else if(a < 1000)
|
||||||
{
|
{
|
||||||
chou10_result += "SSR ";
|
chou10_result += "SSR ";
|
||||||
collection += "SSR ";
|
collection += "SSR ";
|
||||||
}
|
}
|
||||||
else if(a < 105)
|
else if(a < 1100)
|
||||||
{
|
{
|
||||||
chou10_result += "UR ";
|
chou10_result += "UR ";
|
||||||
collection += "UR ";
|
collection += "UR ";
|
||||||
}
|
}
|
||||||
else if(a < 109)
|
else if(a < 1109)
|
||||||
{
|
{
|
||||||
chou10_result += "TR ";
|
chou10_result += "TR ";
|
||||||
collection += "TR ";
|
collection += "TR ";
|
||||||
@@ -107,7 +121,10 @@ void couka_callback3(Fl_Widget * widget, void *data) {
|
|||||||
add_coins->show();
|
add_coins->show();
|
||||||
btn_menu->show();
|
btn_menu->show();
|
||||||
btn->show();
|
btn->show();
|
||||||
}
|
sell->show();
|
||||||
|
collection_box->show();
|
||||||
|
rarity->show();
|
||||||
|
}
|
||||||
|
|
||||||
void couka_callback2(Fl_Widget * widget, void *data) {
|
void couka_callback2(Fl_Widget * widget, void *data) {
|
||||||
if(coins < 10) {
|
if(coins < 10) {
|
||||||
@@ -118,16 +135,30 @@ void couka_callback2(Fl_Widget * widget, void *data) {
|
|||||||
add_coins->show();
|
add_coins->show();
|
||||||
btn_menu->show();
|
btn_menu->show();
|
||||||
btn->show();
|
btn->show();
|
||||||
|
collection_box->show();
|
||||||
|
rarity->show();
|
||||||
|
sell->show();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int a = std::rand() % 111;
|
int a = std::rand() % 111;
|
||||||
if (a < 50) {result_box->label("你抽到了R卡牌金币减10");
|
if (a < 50) {result_box->label("你抽到了R卡牌金币减10");
|
||||||
|
collection += "R ";
|
||||||
}
|
}
|
||||||
else if (a < 80) result_box->label("你抽到了SR卡牌金币减10");
|
else if (a < 80) {result_box->label("你抽到了SR卡牌金币减10");
|
||||||
else if (a < 100) result_box->label("你抽到了SSR卡牌金币减10");
|
collection += "SR ";
|
||||||
else if (a < 105) result_box->label("你抽到了UR卡牌金币减10");
|
}
|
||||||
else if (a < 109) result_box->label("你抽到了TR卡牌金币减10");
|
else if (a < 100) {result_box->label("你抽到了SSR卡牌金币减10");
|
||||||
else result_box->label("你抽到了USR卡牌金币减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);
|
result_box->labelcolor(FL_BLACK);
|
||||||
coins -= 10;
|
coins -= 10;
|
||||||
input_coins_box_value = ("金币:" + std::to_string(coins));
|
input_coins_box_value = ("金币:" + std::to_string(coins));
|
||||||
@@ -138,6 +169,9 @@ void couka_callback2(Fl_Widget * widget, void *data) {
|
|||||||
add_coins->show();
|
add_coins->show();
|
||||||
btn_menu->show();
|
btn_menu->show();
|
||||||
btn->show();
|
btn->show();
|
||||||
|
sell->show();
|
||||||
|
collection_box->show();
|
||||||
|
rarity->show();
|
||||||
}
|
}
|
||||||
void couka_callback1(Fl_Widget * widget, void *data) {
|
void couka_callback1(Fl_Widget * widget, void *data) {
|
||||||
input_coins_box->hide();
|
input_coins_box->hide();
|
||||||
@@ -148,6 +182,9 @@ void couka_callback1(Fl_Widget * widget, void *data) {
|
|||||||
couka->hide();
|
couka->hide();
|
||||||
couone->show();
|
couone->show();
|
||||||
couten->show();
|
couten->show();
|
||||||
|
sell->hide();
|
||||||
|
collection_box->hide();
|
||||||
|
rarity->hide();
|
||||||
}
|
}
|
||||||
void add_coins_callback(Fl_Widget * widget, void *data) {
|
void add_coins_callback(Fl_Widget * widget, void *data) {
|
||||||
result_box->label("请输入增加金币数量(最多9999)");
|
result_box->label("请输入增加金币数量(最多9999)");
|
||||||
@@ -168,6 +205,20 @@ int main() {
|
|||||||
rarity->labelsize(18);
|
rarity->labelsize(18);
|
||||||
rarity->callback(rarity_callback);
|
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 = new Fl_Button(300, 40, 140, 50, "说明");
|
||||||
btn->labelsize(18);
|
btn->labelsize(18);
|
||||||
btn->callback(draw_callback);
|
btn->callback(draw_callback);
|
||||||
|
|||||||
+342
-39
@@ -1,54 +1,357 @@
|
|||||||
// =====================================================================
|
|
||||||
// 第 3 课:随机抽卡 —— 起步骨架
|
|
||||||
// 教程文件:第03课-随机抽卡.md
|
|
||||||
// 完整答案:solutions/lesson_gui_3.cpp
|
|
||||||
// 起步状态:复用第 2 课的"点按钮显示固定文字",逐步加随机和稀有度判断
|
|
||||||
// =====================================================================
|
|
||||||
|
|
||||||
#include <FL/Fl.H>
|
#include <FL/Fl.H>
|
||||||
#include <FL/Fl_Window.H>
|
#include <FL/Fl_Window.H>
|
||||||
#include <FL/Fl_Button.H>
|
|
||||||
#include <FL/Fl_Box.H>
|
#include <FL/Fl_Box.H>
|
||||||
// TODO(步骤 1):加上随机数和时间需要的头文件
|
#include <FL/Fl_Button.H>
|
||||||
// 提示:#include <cstdlib> 和 <ctime>
|
#include <cstdlib>
|
||||||
// TODO(步骤 3):加 #include <cstdio> 才能用 sprintf
|
#include <ctime>
|
||||||
|
#include <iostream>
|
||||||
|
#include <FL/Fl_Input.H>
|
||||||
|
Fl_Input* input_name;
|
||||||
|
Fl_Input* input_phone;
|
||||||
|
Fl_Input* input_accountpassword;
|
||||||
|
Fl_Input* input_cin_accountpassword;
|
||||||
Fl_Box *result_box;
|
Fl_Box *result_box;
|
||||||
// TODO(步骤 3):再声明一个全局 Fl_Box 指针 info_box,用来显示本次点数
|
Fl_Button *a;
|
||||||
|
Fl_Button *b;
|
||||||
|
Fl_Button *c;
|
||||||
|
Fl_Button *d;
|
||||||
|
Fl_Button *e;
|
||||||
|
Fl_Button *f;
|
||||||
|
Fl_Button *g;
|
||||||
|
Fl_Button *h;
|
||||||
|
Fl_Button *i;
|
||||||
|
Fl_Button *j;
|
||||||
|
Fl_Button *k;
|
||||||
|
Fl_Button *l;
|
||||||
|
Fl_Button *m;
|
||||||
|
Fl_Button *n;
|
||||||
|
Fl_Button *o;
|
||||||
|
Fl_Button *p;
|
||||||
|
Fl_Button *q;
|
||||||
|
Fl_Button *r;
|
||||||
|
std::string prize ;
|
||||||
|
std::string name;
|
||||||
|
std::string phone;
|
||||||
|
Fl_Button *back_menu;
|
||||||
|
Fl_Button *show_prize;
|
||||||
|
Fl_Button *repeat_cin_password;
|
||||||
|
std::string accountpassword;
|
||||||
|
std::string cin_password;
|
||||||
|
void show_all_buttons();
|
||||||
|
void hide_all_buttons();
|
||||||
|
void repeat_cin_password_callback(Fl_Widget *widget, void *data);
|
||||||
|
void show_prize_callback(Fl_Widget *widget, void *data);
|
||||||
|
int state;
|
||||||
|
int chance;
|
||||||
|
int aa;
|
||||||
|
int AA;
|
||||||
|
void back_menu_callback(Fl_Widget *widget, void *data) {
|
||||||
|
result_box->label("");
|
||||||
|
back_menu->hide();
|
||||||
|
input_name->hide();
|
||||||
|
input_phone->hide();
|
||||||
|
input_accountpassword->hide();
|
||||||
|
show_prize->show();
|
||||||
|
show_all_buttons();
|
||||||
|
}
|
||||||
|
void hide_all_buttons() {
|
||||||
|
a->hide();
|
||||||
|
b->hide();
|
||||||
|
c->hide();
|
||||||
|
d->hide();
|
||||||
|
e->hide();
|
||||||
|
f->hide();
|
||||||
|
g->hide();
|
||||||
|
h->hide();
|
||||||
|
i->hide();
|
||||||
|
j->hide();
|
||||||
|
k->hide();
|
||||||
|
l->hide();
|
||||||
|
m->hide();
|
||||||
|
n->hide();
|
||||||
|
o->hide();
|
||||||
|
p->hide();
|
||||||
|
q->hide();
|
||||||
|
r->hide();
|
||||||
|
}
|
||||||
|
void show_all_buttons() {
|
||||||
|
a->show();
|
||||||
|
b->show();
|
||||||
|
c->show();
|
||||||
|
d->show();
|
||||||
|
e->show();
|
||||||
|
f->show();
|
||||||
|
g->show();
|
||||||
|
h->show();
|
||||||
|
i->show();
|
||||||
|
j->show();
|
||||||
|
k->show();
|
||||||
|
l->show();
|
||||||
|
m->show();
|
||||||
|
n->show();
|
||||||
|
o->show();
|
||||||
|
p->show();
|
||||||
|
q->show();
|
||||||
|
r->show();
|
||||||
|
}
|
||||||
|
void repeat_cin_password_callback(Fl_Widget *widget, void *data) {
|
||||||
|
show_prize_callback(widget, data);
|
||||||
|
}
|
||||||
|
const char* no_prize_click_back_menu = "您还没有中奖,请先抽奖。请点击回菜单。";
|
||||||
|
const char* correct_password_click_back_menu = "密码正确,请点击返回菜单领取奖品";
|
||||||
|
std::string prize_string;
|
||||||
|
std::string prize_wrong_password_string;
|
||||||
|
void show_prize_callback(Fl_Widget *widget, void *data) {
|
||||||
|
hide_all_buttons();
|
||||||
|
if(state == 0){
|
||||||
|
result_box->label(no_prize_click_back_menu);
|
||||||
|
back_menu->show();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
prize_string = "您中的奖有:" + prize + "\n输入密码后可领取奖品";
|
||||||
|
result_box->label(prize_string.c_str());
|
||||||
|
input_cin_accountpassword->show();
|
||||||
|
if(cin_password == accountpassword)
|
||||||
|
{
|
||||||
|
result_box->label("密码正确,请点击回菜单领取奖品");
|
||||||
|
back_menu->show();
|
||||||
|
state = 0;
|
||||||
|
prize = "";
|
||||||
|
back_menu->show();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
chance-=1;
|
||||||
|
prize_wrong_password_string = "密码错误,请重新输入, 或者返回菜单,您还有" + std::to_string(chance) +"次机会";
|
||||||
|
back_menu->show();
|
||||||
|
repeat_cin_password->show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void a_callback(Fl_Widget *widget, void *data) {
|
||||||
|
AA = rand() % 20;
|
||||||
|
aa = rand() % 18;
|
||||||
|
hide_all_buttons();
|
||||||
|
show_prize->hide();
|
||||||
|
if(aa == 1) {
|
||||||
|
if(AA < 10) {
|
||||||
|
prize = "五等奖, VIP一天体验卡。为了让您更方便的领奖,请填写您的个人信息。\n填写完信息后请点击回菜单";
|
||||||
|
result_box->label(prize.c_str());
|
||||||
|
input_name->show();
|
||||||
|
input_phone->show();
|
||||||
|
input_accountpassword->show();
|
||||||
|
input_name->value(name.c_str());
|
||||||
|
input_phone->value(phone.c_str());
|
||||||
|
input_accountpassword->value(accountpassword.c_str());
|
||||||
|
back_menu->show();
|
||||||
|
state = 5;
|
||||||
|
}
|
||||||
|
else if(AA < 15) {
|
||||||
|
prize = "四等奖, VIP一周体验卡。为了让您更方便的领奖,请填写您的个人信息。\n填写完信息后请点击回菜单";
|
||||||
|
result_box->label(prize.c_str());
|
||||||
|
input_name->show();
|
||||||
|
input_phone->show();
|
||||||
|
input_accountpassword->show();
|
||||||
|
input_name->value(name.c_str());
|
||||||
|
input_phone->value(phone.c_str());
|
||||||
|
input_accountpassword->value(accountpassword.c_str());
|
||||||
|
back_menu->show();
|
||||||
|
state = 4;
|
||||||
|
}
|
||||||
|
else if(AA < 17) {
|
||||||
|
prize = "三等奖, VIP一个月体验卡。为了让您更方便的领奖,请填写您的个人信息。\n填写完信息后请点击回菜单";
|
||||||
|
result_box->label(prize.c_str());
|
||||||
|
input_name->show();
|
||||||
|
input_phone->show();
|
||||||
|
input_accountpassword->show();
|
||||||
|
|
||||||
void draw_callback(Fl_Widget *w, void *data) {
|
input_name->value(name.c_str());
|
||||||
// TODO(步骤 2):在这里生成一个 0~99 的随机数 r
|
input_phone->value(phone.c_str());
|
||||||
// 提示:int r = std::rand() % 100;
|
input_accountpassword->value(accountpassword.c_str());
|
||||||
|
back_menu->show();
|
||||||
// TODO(步骤 3):用 sprintf 把点数塞进字符串,显示在 info_box 上
|
state = 3;
|
||||||
// char info[50];
|
}
|
||||||
// std::sprintf(info, "本次点数:%d", r);
|
else if(AA < 19) {
|
||||||
// info_box->label(info);
|
prize = "二等奖, VIP三个月体验卡。为了让您更方便的领奖,请填写您的个人信息。\n填写完信息后请点击回菜单";
|
||||||
|
result_box->label(prize.c_str());
|
||||||
// TODO(步骤 4):根据 r 的范围设置稀有度文字和颜色
|
input_name->show();
|
||||||
// < 70 普通卡,灰色 fl_rgb_color(128, 128, 128)
|
input_phone->show();
|
||||||
// < 95 稀有卡,FL_BLUE
|
input_accountpassword->show();
|
||||||
// 其他 超稀有卡,FL_RED
|
input_name->value(name.c_str());
|
||||||
result_box->label("(写好步骤 4 后这里会变)");
|
input_phone->value(phone.c_str());
|
||||||
|
input_accountpassword->value(accountpassword.c_str());
|
||||||
|
back_menu->show();
|
||||||
|
state = 2;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
prize = "一等奖, VIP一年体验卡。为了让您更方便的领奖,请填写您的个人信息。\n填写完信息后请点击回菜单";
|
||||||
|
result_box->label(prize.c_str());
|
||||||
|
input_name->show();
|
||||||
|
input_phone->show();
|
||||||
|
input_accountpassword->show();
|
||||||
|
input_name->value(name.c_str());
|
||||||
|
input_phone->value(phone.c_str());
|
||||||
|
const char* jj = accountpassword.c_str();
|
||||||
|
input_accountpassword->value(jj);
|
||||||
|
back_menu->show();
|
||||||
|
state = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
prize = "谢谢惠顾";
|
||||||
|
result_box->label(prize.c_str());
|
||||||
|
back_menu->show();
|
||||||
|
show_prize->show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void b_callback(Fl_Widget *widget, void *data) {
|
||||||
|
a_callback(widget, data);
|
||||||
|
}
|
||||||
|
void c_callback(Fl_Widget *widget, void *data) {
|
||||||
|
a_callback(widget, data);
|
||||||
|
}
|
||||||
|
void d_callback(Fl_Widget *widget, void *data) {
|
||||||
|
a_callback(widget, data);
|
||||||
|
}
|
||||||
|
void e_callback(Fl_Widget *widget, void *data) {
|
||||||
|
a_callback(widget, data);
|
||||||
|
}
|
||||||
|
void f_callback(Fl_Widget *widget, void *data) {
|
||||||
|
a_callback(widget, data);
|
||||||
|
}
|
||||||
|
void g_callback(Fl_Widget *widget, void *data) {
|
||||||
|
a_callback(widget, data);
|
||||||
|
}
|
||||||
|
void h_callback(Fl_Widget *widget, void *data) {
|
||||||
|
a_callback(widget, data);
|
||||||
|
}
|
||||||
|
void i_callback(Fl_Widget *widget, void *data) {
|
||||||
|
a_callback(widget, data);
|
||||||
|
}
|
||||||
|
void j_callback(Fl_Widget *widget, void *data) {
|
||||||
|
a_callback(widget, data);
|
||||||
|
}
|
||||||
|
void k_callback(Fl_Widget *widget, void *data) {
|
||||||
|
a_callback(widget, data);
|
||||||
|
}
|
||||||
|
void l_callback(Fl_Widget *widget, void *data) {
|
||||||
|
a_callback(widget, data);
|
||||||
|
}
|
||||||
|
void m_callback(Fl_Widget *widget, void *data) {
|
||||||
|
a_callback(widget, data);
|
||||||
|
}
|
||||||
|
void n_callback(Fl_Widget *widget, void *data) {
|
||||||
|
a_callback(widget, data);
|
||||||
|
}
|
||||||
|
void o_callback(Fl_Widget *widget, void *data) {
|
||||||
|
a_callback(widget, data);
|
||||||
|
}
|
||||||
|
void p_callback(Fl_Widget *widget, void *data) {
|
||||||
|
a_callback(widget, data);
|
||||||
|
}
|
||||||
|
void q_callback(Fl_Widget *widget, void *data) {
|
||||||
|
a_callback(widget, data);
|
||||||
|
}
|
||||||
|
void r_callback(Fl_Widget *widget, void *data) {
|
||||||
|
a_callback(widget, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
// TODO(步骤 1):在这里设一次随机种子
|
state =0;
|
||||||
// 提示:std::srand(std::time(nullptr));
|
cin_password = 1;
|
||||||
|
chance = 3;
|
||||||
|
std::srand(std::time(nullptr));
|
||||||
|
Fl_Window *window = new Fl_Window(1024, 768, "抽奖");
|
||||||
|
a = new Fl_Button(150, 30, 140, 50, "抽奖");
|
||||||
|
a->labelsize(18);
|
||||||
|
a->callback(a_callback);
|
||||||
|
b = new Fl_Button(350, 30, 140, 50, "抽奖");
|
||||||
|
b->labelsize(18);
|
||||||
|
b->callback(b_callback);
|
||||||
|
c = new Fl_Button(550, 30, 140, 50, "抽奖");
|
||||||
|
c->labelsize(18);
|
||||||
|
c->callback(c_callback);
|
||||||
|
d = new Fl_Button(150, 100, 140, 50, "抽奖");
|
||||||
|
d->labelsize(18);
|
||||||
|
d->callback(d_callback);
|
||||||
|
e = new Fl_Button(350, 100, 140, 50, "抽奖");
|
||||||
|
e->labelsize(18);
|
||||||
|
e->callback(e_callback);
|
||||||
|
f = new Fl_Button(550, 100, 140, 50, "抽奖");
|
||||||
|
f->labelsize(18);
|
||||||
|
f->callback(f_callback);
|
||||||
|
g = new Fl_Button(150, 170, 140, 50, "抽奖");
|
||||||
|
g->labelsize(18);
|
||||||
|
g->callback(g_callback);
|
||||||
|
h = new Fl_Button(350, 170, 140, 50, "抽奖");
|
||||||
|
h->labelsize(18);
|
||||||
|
h->callback(h_callback);
|
||||||
|
i = new Fl_Button(550, 170, 140, 50, "抽奖");
|
||||||
|
i->labelsize(18);
|
||||||
|
i->callback(i_callback);
|
||||||
|
j = new Fl_Button(150, 240, 140, 50, "抽奖");
|
||||||
|
j->labelsize(18);
|
||||||
|
j->callback(j_callback);
|
||||||
|
k = new Fl_Button(350, 240, 140, 50, "抽奖");
|
||||||
|
k->labelsize(18);
|
||||||
|
k->callback(k_callback);
|
||||||
|
l = new Fl_Button(550, 240, 140, 50, "抽奖");
|
||||||
|
l->labelsize(18);
|
||||||
|
l->callback(g_callback);
|
||||||
|
m = new Fl_Button(150, 310, 140, 50, "抽奖");
|
||||||
|
m->labelsize(18);
|
||||||
|
m->callback(m_callback);
|
||||||
|
n = new Fl_Button(350, 310, 140, 50, "抽奖");
|
||||||
|
n->labelsize(18);
|
||||||
|
n->callback(n_callback);
|
||||||
|
o = new Fl_Button(550, 310, 140, 50, "抽奖");
|
||||||
|
o->labelsize(18);
|
||||||
|
o->callback(o_callback);
|
||||||
|
p = new Fl_Button(150, 380, 140, 50, "抽奖");
|
||||||
|
p->labelsize(18);
|
||||||
|
p->callback(p_callback);
|
||||||
|
q = new Fl_Button(350, 380, 140, 50, "抽奖");
|
||||||
|
q->labelsize(18);
|
||||||
|
q->callback(q_callback);
|
||||||
|
r = new Fl_Button(550, 380, 140, 50, "抽奖");
|
||||||
|
r->labelsize(18);
|
||||||
|
r->callback(r_callback);
|
||||||
|
|
||||||
Fl_Window *window = new Fl_Window(400, 350, "抽卡世界 - 第3课");
|
repeat_cin_password = new Fl_Button(200, 420, 140, 50, "重新输入密码");
|
||||||
|
repeat_cin_password->labelsize(18);
|
||||||
|
repeat_cin_password->callback(repeat_cin_password_callback);
|
||||||
|
repeat_cin_password->hide();
|
||||||
|
|
||||||
Fl_Button *btn = new Fl_Button(130, 30, 140, 50, "抽一张!");
|
back_menu = new Fl_Button(200, 520, 140, 50, "返回菜单");
|
||||||
btn->labelsize(18);
|
back_menu->labelsize(18);
|
||||||
btn->callback(draw_callback);
|
back_menu->callback(back_menu_callback);
|
||||||
|
back_menu->hide();
|
||||||
|
|
||||||
result_box = new Fl_Box(50, 110, 300, 80, "点击按钮抽卡吧!");
|
show_prize = new Fl_Button(400, 520, 140, 50, "显示奖品");
|
||||||
result_box->labelsize(28);
|
show_prize->labelsize(18);
|
||||||
result_box->labelfont(FL_BOLD);
|
show_prize->callback(show_prize_callback);
|
||||||
|
|
||||||
// TODO(步骤 3):在这里创建 info_box(位置 (50,200)、宽 300、高 50、字号 14)
|
input_name = new Fl_Input(200, 130, 200, 30, "姓名");
|
||||||
|
input_name->labelsize(18);
|
||||||
|
input_name->hide();
|
||||||
|
|
||||||
|
input_phone = new Fl_Input(200, 170, 200, 30, "电话");
|
||||||
|
input_phone->labelsize(18);
|
||||||
|
input_phone->hide();
|
||||||
|
|
||||||
|
input_accountpassword = new Fl_Input(200, 210, 200, 30, "密码");
|
||||||
|
input_accountpassword->labelsize(18);
|
||||||
|
input_accountpassword->hide();
|
||||||
|
|
||||||
|
input_cin_accountpassword = new Fl_Input(200, 210, 200, 30, "验证密码。");
|
||||||
|
input_cin_accountpassword->labelsize(18);
|
||||||
|
input_cin_accountpassword->hide();
|
||||||
|
|
||||||
|
result_box = new Fl_Box(50, 130, 900, 450, "");
|
||||||
|
result_box->labelsize(20);
|
||||||
|
result_box->labelcolor(FL_BLACK);
|
||||||
window->end();
|
window->end();
|
||||||
window->show();
|
window->show();
|
||||||
return Fl::run();
|
return Fl::run();
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user