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

目录
  • 效果图展示
    • 开始的界面
    • 输入1
    • 输入10
    • 输入0
  • 实现代码
    • test4.26.c
    • 许愿.c
    • game.h
  • 下载

小奔最近学了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语言抽卡游戏的资料请关注我们其它相关文章!

(0)

相关推荐

  • C语言实现简单的三子棋游戏源码

    本文实例为大家分享了C语言实现简单的三子棋游戏的具体代码,供大家参考,具体内容如下 1.游戏的整体划分 因为C语言是面向过程的,我将游戏抽象出来玩家下棋,电脑下棋,在判断输赢这一过程,又通过对过程的分析,进行了具体函数的实现,分为如下模块: 游戏主菜单函数 void menu(); 初始化棋盘函数 void InitBoard(char board[ROW][COL], int row, int col): 打印棋盘函数 void DisplayBoard(char board[ROW][COL

  • C语言实现自定义扫雷游戏(递归版)

    本文实例为大家分享了C语言自定义扫雷游戏的具体代码,供大家参考,具体内容如下 实现过程 对于用C语言实现扫雷游戏得实现,可将游戏过程分为两个板块. 实现游戏关键功能得函数 搭建合理得游戏过程 实现游戏关键功能 为了将游戏功能方便管理和键入,首先我们创建一个头文件,mine.h对游戏功能进行声明.然后创建对应的源文件mine.c对这些函数进行定义. 对于游戏功能,我们首先想到的是构建一个目标规格的雷盘,也就是二维数组.为了使游戏更具可玩性,所以雷盘的规格应可以自定义.所以在mine.h头文件中,应

  • C语言实现井字棋游戏(人机对弈)

    井字棋游戏:即三子棋,英文名叫Tic-Tac-Tic,是一种在3*3格子上进行的连珠游戏,和五子棋比较类似,由于棋盘一般不画边线框,格线排成井字故得名. 题目分析 : 要完成该游戏的编写,我们需要先分析出完成整个游戏过程都需要干什么? 1.首先,需要定义出一个3*3的棋盘,根据相关知识,我们可以以二维数组的方式将棋盘表示出来: 2.棋盘定义出来后,需要将棋盘初始化,将3*3二维数组的每一个位置初始化为‘ ’(空格): 3.有了棋盘,我们就可以开始进行下棋了,首先要确定是玩家先下还是电脑先下.在这

  • C语言实现飞机大战小游戏完整代码

    大一课设做的飞机大战,可以进行登入和注册,这个是利用单链表做的,源代码已经给出,这个是最基本的飞机大战模式,我设置了几个功能,比如排行榜之类的.排行榜是用结构体数组做的,已及冒泡排序,并且在文件里保存信息.比较简单. 这个是注册页面规范: 这个是登入页面: 游戏菜单:  飞机大战页面:  话不多说,直接上代码 以下是源代码  #include"stdio.h" #include"windows.h" //用于获取窗口的句柄与屏幕控制 #include"co

  • JAVASE系统实现抽卡功能

    本文实例为大家分享了JAVASE系统实现抽卡功能的具体代码,供大家参考,具体内容如下 先看下文件结构 使用到的知识点: 看下Client类的实现: package SocketS; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import ja

  • Python实现原神抽卡的方法

    目录 话不多说,直接贴所有代码 运行效果 需要用到的两张图片 总结 话不多说,直接贴所有代码 import random import sys import tkinter as tk # 导入一个第三方库,用于制作桌面软件 import tkinter.font as tf # 数据部分 R = { "name": "R", "color": "blue", "size": "20",

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

    目录 效果图展示 开始的界面 输入1 输入10 输入0 实现代码 test4.26.c 许愿.c game.h 下载 小奔最近学了C语言不少的东西,但是想用学到的东西来搞一个小游戏. 不过小奔就不做那些猜数字等小游戏了,虽然很经典,但是可以尝试一下其他比较好玩的. 小奔喜欢玩原神,但它抽卡系统的中奖概率太低了,所以就类似做一个它的抽卡系统吧,不过没有保底功能哦(小奔还不想搞,还要学习新的知识,不过以后熟练了就可能会搞一个),是全角色抽卡,只有角色没有武器的,可以十连抽,没有保底功能,抽中的概率只

  • 利用 Go 语言编写一个简单的 WebSocket 推送服务

    本文中代码可以在 github.com/alfred-zhong/wserver获取. 背景 最近拿到需求要在网页上展示报警信息.以往报警信息都是通过短信,微信和 App 推送给用户的,现在要让登录用户在网页端也能实时接收到报警推送. 依稀记得以前工作的时候遇到过类似的需求.因为以前的浏览器标准比较陈旧,并且那时用 Java 较多,所以那时候解决这个问题就用了 Comet4J.具体的原理就是长轮询,长链接.但现在毕竟 html5 流行开来了,IE 都被 Edge 接替了,再用以前这种技术就显得过

  • 基于Python编写一个宝石消消乐小游戏

    目录 开发工具 环境搭建 原理简介 开发工具 python版本:3.6.4 相关模块: pygame:以及一些python自带的模块. 环境搭建 安装python并添加到环境变量,pip安装需要的相关模块即可. 原理简介 游戏规则: 玩家通过鼠标交换相邻的拼图,若交换后水平/竖直方向存在连续三个相同的拼图,则这些拼图消失,玩家得分,同时生成新的拼图以补充消失的部分,否则,交换失败,玩家不得分.玩家需要在规定时间内获取尽可能高的得分. 实现过程: 首先加载一些必要的游戏素材: 加载背景音乐: py

  • 基于Java语言在窗体上实现飞机大战小游戏的完整步骤

    目录 小组项目 模块需求描述 总体开发思想 功能实现 1.登录与结束界面 2.播放音乐 3.子弹 运行测试 登陆界面 发射子弹 总结 小组项目 飞机大战:用 Java 语言在窗体上实现飞机大战小游戏,运行程序后,出现一个窗体,在窗体上用鼠标控制英雄机的移动,通过子弹打击敌机进行分数的计算,以及英雄机血量的计算等. 主要模块:登陆界面.音乐.子弹.敌机.英雄机.背景图.结束界面.BOSS 机.分数计算.血量计算. 负责模块:登陆界面.音乐.子弹.结束界面. 模块需求描述 登陆界面:运行程序后,弹出

  • 利用c++写一个简单的推箱子小游戏

    效果图 相信各位都肯定完整这种推箱子的小游戏.游戏玩法很简单,那就是一个人把所有的箱子推动到对应的位置那就可以赢了. 那么我们接下来看看这个推箱子的游戏改怎么写 char map[10][10]= { {'#','#','#','#','#','#','#','#','#','#'}, {'#','#','#','#',' ',' ','!',' ',' ','#'}, {'#',' ',' ',' ',' ','o',' ',' ',' ','#'}, {'#',' ',' ',' ',' '

  • Vue+TailWindcss实现一个简单的闯关小游戏

    目录 游戏介绍 实现技术 本游特色 技术实现 初始化页面 小方块设置 主角移动 自动索敌 敌人移动 胜利与失败 编辑关卡 移入移出变色 点击设置 保存关卡 游戏介绍 这是一款2d益智闯关游戏,玩家须躲避敌人与陷阱到达终点 拥有多个关卡 可进行关卡的自定义并留存数据 实现技术 vue tailwindcss 本游特色 自定义关卡 敌人自动索敌 低技术力 you win! 技术实现 初始化页面 创建一个json文件,用来存放初始关卡的变量(只有一关...) 为方块设定大小,初始化变量speed设置为

  • 基于Python编写一个简单的端口扫描器

    目录 1.需要的库 2.获取一个 host 地址 3.循环所有的端口 4.完整脚本 端口扫描是非常实用的,不止用在信息安全方面,日常的运维也用得到.这方面的工具也不要太多,搞过 CTF 的朋友会告诉你有多少端口扫描工具,那为什么还要用 Python 再自己实现一遍?这个问题就像饭店里的菜已经很好吃了,为什么还要自己烧菜一样,主要还是为了适合自己的口味,添加自己需要的个性功能. 今天我们将用 20 行代码编写一个简单的端口扫描器.让我们开始吧! 1.需要的库 都是标准库,因此内网环境也不影响: i

  • 基于Java编写一个简单的风控组件

    目录 一.背景 1.为什么要做风控 2.为什么要自己写风控 3.其它要求 二.思路 1.风控规则的实现 2.调用方式的实现 三.具体实现 1.风控计数规则实现 2.注解的实现 四.测试一下 1.写法 2.Debug看看 一.背景 1.为什么要做风控 这不得拜产品大佬所赐 目前我们业务有使用到非常多的AI能力,如ocr识别.语音测评等,这些能力往往都比较费钱或者费资源,所以在产品层面也希望我们对用户的能力使用次数做一定的限制,因此风控是必须的! 2.为什么要自己写风控 那么多开源的风控组件,为什么

  • 用Python编写一个简单的Lisp解释器的教程

    本文有两个目的: 一是讲述实现计算机语言解释器的通用方法,另外一点,着重展示如何使用Python来实现Lisp方言Scheme的一个子集.我将我的解释器称之为Lispy (lis.py).几年前,我介绍过如何使用Java编写一个Scheme解释器,同时我还使用Common Lisp语言编写过一个版本.这一次,我的目的是尽可能简单明了地演示一下Alan Kay所说的"软件的麦克斯韦方程组" (Maxwell's Equations of Software). Lispy支持的Scheme

  • C 语言实现一个简单的 web 服务器的原理解析

    说到 web 服务器想必大多数人首先想到的协议是 http,那么 http 之下则是 tcp,本篇文章将通过 tcp 来实现一个简单的 web 服务器. 本篇文章将着重讲解如何实现,对于 http 与 tcp 的概念本篇将不过多讲解. 一.了解 Socket 及 web 服务工作原理 既然是基于 tcp 实现 web 服务器,很多学习 C 语言的小伙伴可能会很快的想到套接字 socket.socket 是一个较为抽象的通信进程,或者说是主机与主机进行信息交互的一种抽象.socket 可以将数据流

随机推荐