基于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++ 设计模式的基本原则

    这篇文章主要介绍了++ 设计模式的基本原则,主要的目标是实现最终目的,高内聚,低耦合,开放封闭原则类的改动是通过增加代码进行的,感兴趣的小伙伴可参考下面文章的具体内容
    2021-09-09
  • C语言实现打印杨辉三角的方法详细(三种方法)

    C语言实现打印杨辉三角的方法详细(三种方法)

    杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合。本文将介绍三种可以实现打印杨辉三角的办法,感兴趣的可以试一试
    2022-01-01
  • 带你了解C++的数组与函数

    带你了解C++的数组与函数

    这篇文章主要介绍了C++的数组与函数,包括数组的初始化等基本知识,需要的朋友可以参考下,希望能给你带来帮助
    2021-08-08
  • C 语言注释和变量使用基础详解

    C 语言注释和变量使用基础详解

    这篇文章主要为大家介绍了C语言注释和变量使用示例基础详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • C++实现Huffman的编解码

    C++实现Huffman的编解码

    这篇文章主要为大家详细介绍了C++实现Huffman的编解码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • C语言中函数的声明、定义及使用的入门教程

    C语言中函数的声明、定义及使用的入门教程

    这篇文章主要介绍了C语言中函数的声明、定义及使用的入门教程,重点讲述了main函数的相关知识,需要的朋友可以参考下
    2015-12-12
  • C语言根据协议分割获取字符串单元的实现代码

    C语言根据协议分割获取字符串单元的实现代码

    今天小编就为大家分享一篇关于C语言根据协议分割获取字符串单元的实现代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • C语言修炼之路初识指针阴阳窍 地址还归大道真下篇

    C语言修炼之路初识指针阴阳窍 地址还归大道真下篇

    指针是指向另一个变量的变量。意思是一个指针保存的是另一个变量的内存地址。换句话说,指针保存的并不是普通意义上的数值,而是另一个变量的地址值。一个指针保存了另一个变量的地址值,就说这个指针“指向”了那个变量
    2022-02-02
  • 详解C语言之文件操作(上)

    详解C语言之文件操作(上)

    这篇文章主要介绍了关于C语言文件操作方法的相关资料,小编觉得这篇文章写的还不错,需要的朋友可以参考下,希望能够给你带来帮助
    2021-11-11
  • C语言实现维吉尼亚密码的示例代码

    C语言实现维吉尼亚密码的示例代码

    维吉尼亚密码(又译维热纳尔密码)是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式。本文将用C语言实现维吉尼亚密码,需要的可以参考一下
    2022-11-11

最新评论