基于C语言编写一个简单的抽卡小游戏

 更新时间:2022年04月28日 09:57:00   作者:每天都要学一点哦  
这篇文章主要为大家介绍了如何利用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

代码地址

以上就是基于C语言编写一个简单的抽卡小游戏的详细内容,更多关于C语言抽卡游戏的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:

相关文章

  • C++填坑的重写,重载和隐藏的详解

    C++填坑的重写,重载和隐藏的详解

    这篇文章主要介绍了C++中重载、重写(覆盖)和隐藏的区别,是C++面向对象程序设计非常重要的概念,需要的朋友可以参考下,希望能够给你带来帮助
    2021-09-09
  • Qt中简单的按钮槽函数传递参数方法

    Qt中简单的按钮槽函数传递参数方法

    这篇文章主要介绍了Qt中简单的按钮槽函数传递参数方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • MoveWindow() SetWindowPos()的区别于联系

    MoveWindow() SetWindowPos()的区别于联系

    这篇文章主要介绍了VC++中MoveWindow() SetWindowPos()的区别于联系,需要的朋友可以参考下
    2015-01-01
  • 深入const int *p与int * const p的区别详解(常量指针与指向常量的指针)

    深入const int *p与int * const p的区别详解(常量指针与指向常量的指针)

    本篇文章是对const int *p与int * const p的区别进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • string中c_str(),data(),copy(p,n)函数的用法总结

    string中c_str(),data(),copy(p,n)函数的用法总结

    以下是对string中c_str(),data(),copy(p,n)函数的用法进行了详细的介绍,需要的朋友可以过来参考下
    2013-09-09
  • 使用C++制作简单的web服务器

    使用C++制作简单的web服务器

    本文给大家分享的是使用C++简单实现web服务器的代码,虽然非常的简陋,功能也很少,主要是为了更好的理解WEB服务器的工作原理,推荐给大家,也希望对大家能够有所帮助。
    2015-03-03
  • vscode调试gstreamer源码的详细流程

    vscode调试gstreamer源码的详细流程

    在本文中主要介绍了如何使用vscode调试C++和python程序,并进一步分析了如何调试gstreamer源码,讲述了如何调试gstreamer源码的具体流程,感兴趣的朋友跟随小编一起看看吧
    2023-01-01
  • C语言数据结构与算法之排序总结(一)

    C语言数据结构与算法之排序总结(一)

    这篇文章主要介绍了数据结构与算法中的插入类和交换类的各种排序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2021-12-12
  • C语言数组全面详细讲解

    C语言数组全面详细讲解

    数组是一组有序的数据的集合,数组中元素类型相同,由数组名和下标唯一地确定,数组中数据不仅数据类型相同,而且在计算机内存里连续存放,地址编号最低的存储单元存放数组的起始元素,地址编号最高的存储单元存放数组的最后一个元素
    2022-05-05
  • C++与QML进行数据交互的常见方法总结

    C++与QML进行数据交互的常见方法总结

    这篇文章主要为大家详细介绍了C++与QML进行数据交互的常见方法,文中 的示例代码讲解详细,具有一定的参考价值,有需要的小伙伴可以跟随小编一起了解一下
    2023-10-10

最新评论