用C语言做一个简单的原神抽卡小游戏

小奔最近学了C语言不少的东西,但是想用学到的东西来搞一个小游戏。
不过小奔就不做那些猜数字等小游戏了,虽然很经典,但是可以尝试一下其他比较好玩的。
小奔喜欢玩原神,但它抽卡系统的中奖概率太低了,所以就类似做一个它的抽卡系统吧,不过没有保底功能哦(小奔还不想搞,还要学习新的知识,不过以后熟练了就可能会搞一个),是全角色抽卡,只有角色没有武器的,可以十连抽,没有保底功能,抽中的概率只有1/100
用C语言做一个简单的原神抽卡小游戏_第1张图片

运行的过程

        • 开始的界面:
          • 输入1:
            • 没中
            • 中了
          • 输入10:
          • 输入0:
        • 代码:
          • test4.26.c
          • 许愿.c
          • game.h
      • 下载:


开始的界面:

用C语言做一个简单的原神抽卡小游戏_第2张图片


输入1:
没中

用C语言做一个简单的原神抽卡小游戏_第3张图片


中了

用C语言做一个简单的原神抽卡小游戏_第4张图片


输入10:

用C语言做一个简单的原神抽卡小游戏_第5张图片

输入0:

用C语言做一个简单的原神抽卡小游戏_第6张图片


代码:

我创建了两个.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 
#include 
#include 

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
#include 
#include 

void wish();
//许愿运行

int Cho();
//输入是否进行游戏

我写的这个小游戏还很粗糙,goto用的太多了,显得有点乱,可读性不太好,不过才开始学,进步空间还是很大的,我们继续加油,未来可期

下载:

exe存在了百度网盘
有提取码的话就是1111

代码就上传到我的gitee了

你可能感兴趣的:(c语言,学习)