基于C語言編寫一個簡單的抽卡小游戲
小奔最近學了C語言不少的東西,但是想用學到的東西來搞一個小游戲。
不過小奔就不做那些猜數(shù)字等小游戲了,雖然很經(jīng)典,但是可以嘗試一下其他比較好玩的。
小奔喜歡玩原神,但它抽卡系統(tǒng)的中獎概率太低了,所以就類似做一個它的抽卡系統(tǒng)吧,不過沒有保底功能哦(小奔還不想搞,還要學習新的知識,不過以后熟練了就可能會搞一個),是全角色抽卡,只有角色沒有武器的,可以十連抽,沒有保底功能,抽中的概率只有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));//隨機賦值 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("★☆★☆★優(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("★☆★☆★達達利亞\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
用的太多了,顯得有點亂,可讀性不太好,不過才開始學,進步空間還是很大的,我們繼續(xù)加油,未來可期
下載
exe地址 提取碼:1234
以上就是基于C語言編寫一個簡單的抽卡小游戲的詳細內容,更多關于C語言抽卡游戲的資料請關注腳本之家其它相關文章!
相關文章
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ū)別進行了詳細的分析介紹,需要的朋友參考下2013-06-06string中c_str(),data(),copy(p,n)函數(shù)的用法總結
以下是對string中c_str(),data(),copy(p,n)函數(shù)的用法進行了詳細的介紹,需要的朋友可以過來參考下2013-09-09