基于C語言編寫一個簡單的抽卡小游戲
小奔最近學(xué)了C語言不少的東西,但是想用學(xué)到的東西來搞一個小游戲。
不過小奔就不做那些猜數(shù)字等小游戲了,雖然很經(jīng)典,但是可以嘗試一下其他比較好玩的。
小奔喜歡玩原神,但它抽卡系統(tǒng)的中獎概率太低了,所以就類似做一個它的抽卡系統(tǒng)吧,不過沒有保底功能哦(小奔還不想搞,還要學(xué)習(xí)新的知識,不過以后熟練了就可能會搞一個),是全角色抽卡,只有角色沒有武器的,可以十連抽,沒有保底功能,抽中的概率只有1/100
效果圖展示
開始的界面

輸入1
沒中

中了

輸入10

輸入0

實現(xiàn)代碼
我創(chuàng)建了兩個.c源文件,一個.h頭文件
test4.26.c
#define _CRT_SECURE_NO_WARNINGS
#include"game.h"
int main()
{
srand((unsigned)time(NULL));//隨機(jī)賦值
while (1)
{
int choose = 0;
choose = Cho();
switch (choose)
{
case 1:
{
num1:
//許愿進(jìn)行
wish();
break;
}
case 0:
{
num2:
goto over;//結(jié)束程序
}
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;//重復(fù)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 ;
//修改它可以改變概率,當(dāng)前概率是1/100
if (1 == random_num)
{
printf("★☆★☆★刻晴\n");
}
else if (2 == random_num)
{
printf("★☆★☆★胡桃\n");
}
else if (3 == random_num)
{
printf("★☆★☆★七七\(yùn)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("★☆★☆★優(yōu)菈\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("★☆★☆★達(dá)達(dá)利亞\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結(jié)束游戲 |\n");
printf("|-----------------|\n");
printf("是否開始許愿:>");
scanf("%d", &a);
return a;
}game.h
#pragma once #include<stdio.h> #include <time.h> #include <stdlib.h> void wish(); //許愿運(yùn)行 int Cho(); //輸入是否進(jìn)行游戲
我寫的這個小游戲還很粗糙,goto用的太多了,顯得有點亂,可讀性不太好,不過才開始學(xué),進(jìn)步空間還是很大的,我們繼續(xù)加油,未來可期
下載
exe地址 提取碼:1234
以上就是基于C語言編寫一個簡單的抽卡小游戲的詳細(xì)內(nèi)容,更多關(guān)于C語言抽卡游戲的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
MoveWindow() SetWindowPos()的區(qū)別于聯(lián)系
這篇文章主要介紹了VC++中MoveWindow() SetWindowPos()的區(qū)別于聯(lián)系,需要的朋友可以參考下2015-01-01
深入const int *p與int * const p的區(qū)別詳解(常量指針與指向常量的指針)
本篇文章是對const int *p與int * const p的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
string中c_str(),data(),copy(p,n)函數(shù)的用法總結(jié)
以下是對string中c_str(),data(),copy(p,n)函數(shù)的用法進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下2013-09-09
vscode調(diào)試gstreamer源碼的詳細(xì)流程
在本文中主要介紹了如何使用vscode調(diào)試C++和python程序,并進(jìn)一步分析了如何調(diào)試gstreamer源碼,講述了如何調(diào)試gstreamer源碼的具體流程,感興趣的朋友跟隨小編一起看看吧2023-01-01
C語言數(shù)據(jù)結(jié)構(gòu)與算法之排序總結(jié)(一)
這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)與算法中的插入類和交換類的各種排序,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2021-12-12
C++與QML進(jìn)行數(shù)據(jù)交互的常見方法總結(jié)
這篇文章主要為大家詳細(xì)介紹了C++與QML進(jìn)行數(shù)據(jù)交互的常見方法,文中 的示例代碼講解詳細(xì),具有一定的參考價值,有需要的小伙伴可以跟隨小編一起了解一下2023-10-10

