您的位置:首页 > 汽车 > 新车 > 【C语言从不挂科到高绩点】14-数组练习-【抽卡游戏】【王者荣耀ban选英雄】【欢乐斗地主】

【C语言从不挂科到高绩点】14-数组练习-【抽卡游戏】【王者荣耀ban选英雄】【欢乐斗地主】

2024/9/16 21:23:31 来源:https://blog.csdn.net/yueyehuguang/article/details/141950256  浏览:    关键词:【C语言从不挂科到高绩点】14-数组练习-【抽卡游戏】【王者荣耀ban选英雄】【欢乐斗地主】

Hello!彦祖们,俺又回来了!!!,继续给大家分享 《C语言从不挂科到高绩点》课程!! 学完数组实际上我们可以编写一些实际的应用了,本节课将给大家讲述4个实战案例:

1. 抽卡游戏

2. 数组的增删改查

3. 王者荣耀ban选英雄

4. 欢乐斗地主

本套课程将会从0基础讲解C语言核心技术,适合人群:

  1. 大学中开设了C语言课程的同学
  2. 想要专升本或者考研的同学
  3. 想要考计算机等级证书的同学
  4. 想要从事C/C++/嵌入式开发的同学

================点个关注吧================

=========================================

f 3.7 抽卡游戏【优先】

在卡牌游戏中,一般抽卡有这样的功能:

现假设游戏中卡牌的等级分为 :蓝卡、紫卡、金卡

抽卡分为:单抽 和 十连抽

单抽:每次抽取一张卡牌,有 85%的概率抽出蓝卡,有 15%机率抽出紫卡,累积抽 10 次卡牌,第 10 次必出金卡

(随机 100 以内的数字,如果数字小于 85 抽蓝卡,大于等于 85 的时候抽紫卡)

10 连抽: 先从金卡中抽取一张金卡,剩下的九张卡牌几率和单抽一样。

单抽每次消耗:288 元宝

10 连抽每次消耗:2580 元宝

如果元宝不足,不能抽卡,并且提示充值(需要做充值功能)

游戏开始时:

  1. 显示菜单 : 1) 单抽 2)10 连抽 3)充值 4)查看抽取到的卡牌 5)退出游戏
/*蓝色*/char  BLUE_STAR_MM[15][50] = {"1★ 钟无艳","1★ 锤子妈","1★ 黄月英","1★ 米莱迪","1★ 蔡文姬","1★ 孙尚香","1★ 花木兰","1★ 公孙离","1★ 伽  罗","1★ 陈圆圆","1★ 赵飞燕","1★ 张星彩","1★ 太平公主","1★ 祝英台","1★ 张丽华"};/*** 紫色美眉堆*/char PURPLE_STAR_MM[15][50] = {"2★ 大  乔","2★ 小  乔","2★ 露  娜","2★ 卓文君","2★ 虞美人","2★ 妲  己","2★ 崔莺莺","2★ 王宝钏","2★ 杜十娘","2★ 柳如是","2★ 董小婉","2★ 武媚娘","2★ 苏若兰","2★ 潘金莲","2★ 穆桂英"	};/*** 金色美眉堆*/char GOLD_STAR_MM[12][50] = {"3★ 西  施","3★ 王昭君","3★ 貂  蝉","3★ 杨玉环","3★ 王语嫣", "3★ 小龙女","3★ 双  儿","3★ 花小霜","3★ 柳莺莺","3★ 陆无双","3★ 甄  姬","3★ 秋  香"};

【参考代码】

/**在卡牌游戏中,一般抽卡有这样的功能:
现假设游戏中卡牌的等级分为 :蓝卡、紫卡、金卡
抽卡分为:单抽  和 十连抽
单抽:每次抽取一张卡牌,有 85%的概率抽出蓝卡,有 15%机率抽出紫卡,累积抽 10 次卡牌,第 10 次必出金卡
(随机 100 以内的数字,如果数字小于 85 抽蓝卡,大于等于 85 的时候抽紫卡)
10 连抽:  先从金卡中抽取一张金卡,剩下的九张卡牌几率和单抽一样。
单抽每次消耗:288 元宝
10 连抽每次消耗:2580 元宝
如果元宝不足,不能抽卡,并且提示充值(需要做充值功能)游戏开始时:
1. 显示菜单  : 1) 单抽    2)10 连抽   3)充值   4)查看抽取到的卡牌  5)退出游戏**/#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>int main(){/*蓝色*/char  BLUE_STAR_MM[15][50] = {"1★ 钟无艳","1★ 锤子妈","1★ 黄月英","1★ 米莱迪","1★ 蔡文姬","1★ 孙尚香","1★ 花木兰","1★ 公孙离","1★ 伽  罗","1★ 陈圆圆","1★ 赵飞燕","1★ 张星彩","1★ 太平公主","1★ 祝英台","1★ 张丽华"};/*** 紫色美眉堆*/char PURPLE_STAR_MM[15][50] = {"2★ 大  乔","2★ 小  乔","2★ 露  娜","2★ 卓文君","2★ 虞美人","2★ 妲  己","2★ 崔莺莺","2★ 王宝钏","2★ 杜十娘","2★ 柳如是","2★ 董小婉","2★ 武媚娘","2★ 苏若兰","2★ 潘金莲","2★ 穆桂英"	};/*** 金色美眉堆*/char GOLD_STAR_MM[12][50] = {"3★ 西  施","3★ 王昭君","3★ 貂  蝉","3★ 杨玉环","3★ 王语嫣", "3★ 小龙女","3★ 双  儿","3★ 花小霜","3★ 柳莺莺","3★ 陆无双","3★ 甄  姬","3★ 秋  香"};// 蓝卡堆的卡牌数量int blue_len = sizeof(BLUE_STAR_MM)/sizeof(BLUE_STAR_MM[0]);// 紫卡堆的卡牌数量int purple_len = sizeof(PURPLE_STAR_MM)/sizeof(PURPLE_STAR_MM[0]);// 金卡堆的卡牌数量int gold_len = sizeof(GOLD_STAR_MM)/sizeof(GOLD_STAR_MM[0]);int count = 0;// 作为计数器,记录单抽的次数int money = 1000;// 默认的元宝数// 定义字符串数组,用来存储抽到的卡牌char my_cards[100][20]; //  手上卡牌的容量是100// 用来指定抽取卡牌存放的位置,在mycards数组中的下标int my_index = 0;// 记录当前卡牌,,应该存放的位置// 死循环while(1){printf("********************************************\n");printf("** 1.单抽  2.10连抽 3.充值  4.查看 5.退出 **\n");printf("*

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com