基于C语言编写一个简单的抽卡小游戏
时间:2022-06-21 10:01:45|栏目:C代码|点击: 次
小奔最近学了C语言不少的东西,但是想用学到的东西来搞一个小游戏。
不过小奔就不做那些猜数字等小游戏了,虽然很经典,但是可以尝试一下其他比较好玩的。
小奔喜欢玩原神,但它抽卡系统的中奖概率太低了,所以就类似做一个它的抽卡系统吧,不过没有保底功能哦(小奔还不想搞,还要学习新的知识,不过以后熟练了就可能会搞一个),是全角色抽卡,只有角色没有武器的,可以十连抽,没有保底功能,抽中的概率只有1/100
效果图展示
开始的界面
输入1
没中
中了
输入10
输入0
实现代码
我创建了两个.c源文件,一个.h头文件
test4.26.c
#define _CRT_SECURE_NO_WARNINGS #include"game.h" int main() { srand((unsigned)time(NULL));//随机赋值 while (1) { int choose = 0; choose = Cho(); switch (choose) { case 1: { num1: //许愿进行 wish(); break; } case 0: { num2: goto over;//结束程序 } case 10: { num3: int i = 0; for (i = 0; i < 10; i++) { wish(); } break; } default: { swi: //未能识别选项,请重新输入 printf("未能识别选项,请重新输入\n\n"); int again = 0; again = Cho(); if (again == 1) goto num1;//返回case 1 else if (again == 0) goto num2;//返回case 0 else if (again == 10) goto num3;//返回case 10 else goto swi;//重复default } } } over: return 0; }
许愿.c
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <time.h> #include <stdlib.h> void wish() { int random_num = rand() % 440 ; //修改它可以改变概率,当前概率是1/100 if (1 == random_num) { printf("★☆★☆★刻晴\n"); } else if (2 == random_num) { printf("★☆★☆★胡桃\n"); } else if (3 == random_num) { printf("★☆★☆★七七\n"); } else if (4 == random_num) { printf("★☆★☆★钟离\n"); } else if (5 == random_num) { printf("★☆★☆★卢老爷\n"); } else if (6 == random_num) { printf("★☆★☆★宵宫\n"); } else if (7 == random_num) { printf("★☆★☆猫猫\n"); } else if (8 == random_num) { printf("★☆★☆★琴\n"); } else if (9 == random_num) { printf("★☆★☆安柏\n"); } else if (10 == random_num) { printf("★☆★☆丽莎\n"); } else if (11 == random_num) { printf("★☆★☆凯亚\n"); } else if (12 == random_num) { printf("★☆★☆芭芭拉\n"); } else if (13 == random_num) { printf("★☆★☆班尼特\n"); } else if (14 == random_num) { printf("★☆★☆★不干正事的巴巴托斯\n"); } else if (15 == random_num) { printf("★☆★☆★小可莉\n"); } else if (16 == random_num) { printf("★☆★☆雷泽\n"); } else if (17 == random_num) { printf("★☆★☆★莫娜\n"); } else if (18 == random_num) { printf("★☆★☆砂糖\n"); } else if (19 == random_num) { printf("★☆★☆菲谢尔\n"); } else if (20 == random_num) { printf("★☆★☆诺艾尔\n"); } else if (21 == random_num) { printf("★☆★☆★阿贝多\n"); } else if (22 == random_num) { printf("★☆★☆★优菈\n"); } else if (23 == random_num) { printf("★☆★☆罗莎莉亚\n"); } else if (24 == random_num) { printf("★☆★☆★魈\n"); } else if (25 == random_num) { printf("★☆★☆北斗\n"); } else if (26 == random_num) { printf("★☆★☆凝光\n"); } else if (27 == random_num) { printf("★☆★☆香菱\n"); } else if (28 == random_num) { printf("★☆★☆重云\n"); } else if (29 == random_num) { printf("★☆★☆行秋\n"); } else if (30 == random_num) { printf("★☆★☆★达达利亚\n"); } else if (31 == random_num) { printf("★☆★☆辛焱\n"); } else if (32 == random_num) { printf("★☆★☆★雷电将军\n"); } else if (33 == random_num) { printf("★☆★☆★神里绫华\n"); } else if (34 == random_num) { printf("★☆★☆★枫原万叶\n"); } else if (35 == random_num) { printf("★☆★☆早柚\n"); } else if (36 == random_num) { printf("★☆★☆九条裟罗\n"); } else if (37 == random_num) { printf("★☆★☆★心海\n"); } else if (38 == random_num) { printf("★☆★☆托马\n"); } else if (39 == random_num) { printf("★☆★☆五郎\n"); } else if (40 == random_num) { printf("★☆★☆★荒泷一斗\n"); } else if (41 == random_num) { printf("★☆★☆★八重神子\n"); } else if (42 == random_num) { printf("★☆★☆★神里绫人\n"); } else if (43 == random_num) { printf("★☆★☆久岐忍\n"); } else if (44 == random_num) { printf("★☆★☆夜兰\n"); } else printf("非酋\n"); } int Cho() { int a = 0; printf("\n|-----------------|\n"); printf("|输入1开始单抽 |\n"); printf("|输入10开始十连抽 |\n"); printf("|输入0结束游戏 |\n"); printf("|-----------------|\n"); printf("是否开始许愿:>"); scanf("%d", &a); return a; }
game.h
#pragma once #include<stdio.h> #include <time.h> #include <stdlib.h> void wish(); //许愿运行 int Cho(); //输入是否进行游戏
我写的这个小游戏还很粗糙,goto
用的太多了,显得有点乱,可读性不太好,不过才开始学,进步空间还是很大的,我们继续加油,未来可期
下载
exe地址 提取码:1234