qt王者荣耀皮肤抽奖器

时间:2023-06-02 13:16:52       来源:QT教程


(资料图)

用qt做了一个王者荣耀皮肤抽奖器,效果如下图。

说一下过程吧,第一步,就是先准备好皮肤的图片,皮肤的图片在王者荣耀的官网是可以下载的,但是过百的下载量确实有点大了,动了个小心思,网上找了一个用py写的爬虫,用来爬了官网的图片。下载地址

将下载好的图片进行分类,这真是在考验我的耐心,对于一个完全对皮肤没认识的来说太艰难了,还好有我三位王者室友的帮助!,很快的对皮肤进行了分类,有288的,有488的,等等。

然后就是qt代码啦,其实代码并不多。

没加载背景的样子,好丑(这不是重点)。

思路就是头文件下面放的都是皮肤对应的名字。将他们放在字符串数组中,对字符串下标进行随机抽取,然后通过加载字符串加载对应的图片(图片放在资源下面)。

#ifndef MAINWINDOW_H#define MAINWINDOW_H#pragma execution_character_set("utf-8")#include #include#includenamespace Ui {class MainWindow;}class MainWindow : public QMainWindow{    Q_OBJECT    int GameRand(int num); //生成随机数    int n;     QString str288[80]={        "百里守约-绝影神枪",        "嫦娥-露花倒影",        "百里玄策-威尼斯狂欢",        "狄仁杰-锦衣卫",        "成吉思汗-维京掠夺者",        "扁鹊-救世之瞳",        "伽罗-花见巫女",        "貂蝉-异域舞娘",        "程咬金-爱与正义",        "蔡文姬-蔷薇王座",        "关羽-天启骑士",        "干将莫邪-第七人偶",        "东皇太一-东海龙王",        "大乔-伊势巫女",        "黄忠-芝加哥教父",        "鬼谷子-阿摩司公爵",        "高渐离-金属狂潮",        "盾山-极冰防御线",        "狂铁-命运角斗场",        "姜子牙-时尚教父",        "后羿-精灵王",        "公孙离-花间舞",        "李信-灼热之刃",        "兰陵王-隐刃",        "镜-冰刃幻境",        "花木兰-剑舞者",        "鲁班大师-归虚梦演",        "李元芳-特种部队",        "老夫子-潮流仙人",        "铠-龙域领主",        "马超-幸存者",        "鲁班七号-福禄兄弟",        "刘邦-圣殿之光",        "李白-范海辛",        "梦奇-美梦成真",        "马可波罗-激情绿茵",        "鲁班七号-木偶奇遇记",        "刘禅-英喵野望",        "哪吒-三太子",        "米莱狄-精准探案法",        "蒙恬-秩序猎龙将",        "露娜-绯红之刃",        "裴擒虎-街头旋风",        "牛魔-西部大镖客",        "芈月-红桃皇后",        "蒙犽-归虚梦演",        "苏烈-爱与和平",        "上官婉儿-修竹墨客",        "女娲-尼罗河女神",        "明世隐-占星师",        "太乙真人-圆桌骑士",        "孙膑-未来旅行",        "沈梦溪-棒球奇才",        "盘古-创世神祝",        "项羽-帝国元帅",        "王昭君-精灵公主",        "孙策-海之征途",        "司马懿-魇语军师",        "杨玉环-霓裳曲",        "小乔-万圣前夜",        "西施-归虚梦演",        "孙悟空-西部大镖客",        "虞姬-加勒比小姐",        "瑶-森",        "雅典娜-战争女神",        "夏侯惇-战争骑士",        "钟馗-地府判官",        "元歌-午夜歌剧院",        "曜-归虚梦演",        "杨戬-埃及法老",        "猪八戒-年年有余",        "钟无艳-生化警戒",        "云中君-荷鲁斯之眼",        "弈星-踏雪寻梅",        "庄周-鲤鱼之梦",        "周瑜-海军大将",        "张良-一千零一夜",        "诸葛亮-星航指挥官"    };     QString str488[20]={        "安琪拉-玩偶对对碰",        "白起-白色死神",        "曹操-超能战警",        "大乔-守护之力",        "宫本武藏-万象初新",        "关羽-龙腾万里",        "后羿-阿尔法小队",        "李白-敏锐之力",        "刘备-万事如意",        "露娜-哥特玫瑰",        "苏烈-坚韧之力",        "孙尚香-沉稳之力",        "张飞-五福同心",        "甄姬-花好人间",        "诸葛亮-掌控之力"    };     QString str588[4]={        "宫本武藏-未来纪元",        "花木兰-兔女郎",        "刘备-汉昭烈帝",        "赵云-白执事"    };     QString str888[53]={                       "阿轲-爱心护理",                       "阿轲-节奏热浪",                       "安琪拉心灵 骇客",                       "白起-星夜王子",                       "百里守约-特工魅影",                       "不知火舞-魅语",                       "蔡文姬-舞动绿茵",                       "曹操-幽灵船长",                       "程咬金-功夫厨神",                       "程咬金-星际陆战队",                       "达摩-大发明家",                       "妲己-女仆咖啡",                       "大乔-白蛇",                       "大乔-猫狗日记",                       "典韦-黄金武土",                       "貂蝉-圣诞恋歌",                       "伽罗-箭羽风息",                       "公孙离-无限星赏官",                       "宫本武藏-鬼剑武藏",                       "韩信-白龙吟",                       "韩信-街头霸王",                       "花木兰-水晶猎龙者",                       "橘右京-修罗",                       "铠-曙光守护者",                       "兰陵王-暗隐猎兽者",                       "李白-千年之狐",                       "李元芳-逐浪之夏",                       "廉颇-地狱岩魂",                       "刘邦-德古拉伯爵",                       "刘禅-绅士熊喵",                       "刘禅-天才门将",                       "露娜-紫霞仙子",                       "吕布-未日机甲",                       "吕布-圣诞任欢",                       "墨子-金属风暴",                       "娜可露露-晚萤",                       "孙膑-天使之翼",                       "孙策-猫狗日记",                       "孙尚香-时之恋人",                       "孙尚香-水果甜心",                       "武则天-东方不败",                       "夏侯惇-乘风破浪",                       "小乔-缤纷独角兽",                       "小乔-青蛇",                       "亚瑟-心灵战警",                       "瑶-遇见神鹿",                       "赢政-暗夜贵公子",                       "赢政-摇滚巨星",                       "张飞-乱世虎臣",                       "赵云-忍●炎影",                       "赵云-未来纪元",                       "甄姬-冰雪圆舞曲",                       "诸葛亮-黄金分割率"    };     QString strcs[20]={                       "达摩-黄金狮子座",                       "狄仁杰-超时空战土",                       "貂蝉-猫影幻舞",                       "貂蝉-仲夏夜之梦",                       "干将莫邪-久胜战神",                       "宫本武藏-地狱之眼",                       "后羿-黄金射手座",                       "花木兰-冠军飞将",                       "刘备-时之恋人",                       "梦奇-胖达荣荣",                       "孙尚香-末日机甲",                       "孙悟空-地狱火",                       "武则天-海洋之心",                       "虞姬-云霓雀翎"    };public:    explicit MainWindow(QWidget *parent = 0);    ~MainWindow();private slots:    void on_pushButton_clicked();private:    Ui::MainWindow *ui;};#endif // MAINWINDOW_H

要说的可能就是概率,我本来是想100里面随机到0-20算20%,后来发现这样根本不准,我要是商家我就亏大了,我把100换成了较大的数,这个概率数据才能算是正确的。

#include ""#include "ui_"#include#include<>MainWindow::MainWindow(QWidget *parent) :    QMainWindow(parent),    ui(new Ui::MainWindow){    ui->setupUi(this);}MainWindow::~MainWindow(){    delete ui;}void MainWindow::on_pushButton_clicked(){    int number_1=0;    int number_2=0;    int number_y = GameRand(77);        for(int j =0;j<500000000;j++)        {        }    ui->label_2->setText("恭喜你");    for(int i =0; i<1000;i++)    {        number_1 = GameRand(1000);        //number_1 = ();        //288 70%        if(number_1>=200)        {            number_2 = GameRand(77);            //显示图片 显示文字            ui->label_4->setText(str288[number_2]);            ui->label_3->setText("获得288皮肤:");            QString str_1 = str288[number_2];            QString str_2 = "border-image: url(:/lib/img288/"+str_1+".jpg)";            qDebug()<label->setStyleSheet(str_2);            break;        }        //488 20%        if(number_1>=90 && number_1<200)        {            number_2 = GameRand(13);            ui->label_4->setText(str488[number_2]);            ui->label_3->setText("获得488皮肤:");            QString str_1 = str488[number_2];            QString str_2 = "border-image: url(:/lib/img488/"+str_1+".jpg)";            ui->label->setStyleSheet(str_2);            qDebug()<=30&&number_1<90)        {            number_2 = GameRand(3);            ui->label_4->setText(str588[number_2]);            ui->label_3->setText("获得588皮肤:");            QString str_1 = str588[number_2];            QString str_2 = "border-image: url(:/lib/img588/"+str_1+".jpg)";            ui->label->setStyleSheet(str_2);            qDebug()<=5&&number_1<30)        {            number_2 = GameRand(52);            ui->label_4->setText(str888[number_2]);            ui->label_3->setText("获得888皮肤:");            QString str_1 = str888[number_2];            QString str_2 = "border-image: url(:/lib/img888/"+str_1+".jpg)";            ui->label->setStyleSheet(str_2);            qDebug()<=0&&number_1<5)        {            number_2 = GameRand(13);            ui->label_4->setText(strcs[number_2]);            ui->label_3->setText("获得传说皮肤:");            QString str_1 = strcs[number_2];            QString str_2 = "border-image: url(:/lib/imgcs/"+str_1+".jpg)";            ui->label->setStyleSheet(str_2);            qDebug()<

【领 QT开发教程 学习资料, 点击下方链接莬费领取↓↓ ,先码住不迷路~】

点击这里:

关键词: