C的抽卡小游戏
来源:互联网 发布:qq微商软件 编辑:程序博客网 时间:2024/05/15 12:55
花了两周时间学了点C语言,写了一个模拟阴阳师的抽卡功能:
代码:
//ROLL!!!!!!!#include<stdio.h>#include<stdlib.h>#include<windows.h>#include <time.h>int in();void zero();void star(int);void rollGame();void payMoney();void oneRoll();void tenRoll(int);void name(int);void SSR();void gg();void pingjia();void shuaxin();int count=0;int money=10000;int chance=0;int n=0,r=0,sr=0,ssr=0;int s0=0,s1=0,s2=0,s3=0,s4=0,s5=0,s6=0,s7=0,s8=0,s9=0;void main(){ printf("抽卡模拟器启动中...\n"); printf("游戏目标为花费最少的钱得到脸帝评价,在任意处输入0都可结束游戏并进行评价\n"); Sleep(5000); zero(); system("pause");}//ROLL STARint in(){ int in; scanf("%d",&in); if(in!=0){ return in; }else if(in==0){ gg(); }}void zero(){ shuaxin(); printf("抽卡器已启动\n输入1:抽卡\n输入2:充钱\n输入0:结束游戏并统计\n"); int receive; receive=in(); star(receive);}void star(int receive){ shuaxin(); switch(receive){ case 1: rollGame(); break; case 2: payMoney(); break; default: printf("...别乱输\n"); zero(); }}void rollGame(){ int receive; printf("你有:%d张蓝票\n输入1:抽一次(一张蓝票)\n输入2:十连抽(十张蓝票/保底一张SR)\n输入3:返回\n输入0:结束游戏并统计\n",chance); receive=in(); switch(receive){ case 1: if(chance>=1){ oneRoll(); }else{ shuaxin(); printf("你没有蓝票了...\n"); rollGame(); } break; case 2: if(chance>=10){ tenRoll(sr); }else{ shuaxin(); printf("你没有蓝票了...\n"); rollGame(); } break; case 3: zero(); break; default: printf("...别乱输\n"); rollGame(); }}void payMoney(){ shuaxin(); int receive; printf("你当前的金钱:%d\n你有%d张蓝票\n输入1氪金\n输入2返回\n输入0:结束游戏并统计\n",money,chance); receive=in(); switch(receive){ case 1: if(money>=600){ printf("你花了600块钱,买了30张蓝票\n"); chance+=30; money-=600; Sleep(1000); payMoney(); }else{ printf("你没钱了,游戏结束\n"); gg(); } break; case 2: shuaxin(); zero(); break; default: printf("...别乱输\n"); payMoney(); }}void oneRoll(){ shuaxin(); int random,receive; random=rand()%101; srand(clock()); printf("抽卡中...\n"); Sleep(1000); name(random); count++; chance-=1; printf("选择1:继续,选择2:返回\n"); receive=in(); if(chance<1){ ///////////// zero(); }else{ if(receive==1){ oneRoll(); }else{ shuaxin(); rollGame(); } } //return random;}void name(int random){ if(random<=50){ printf("你抽到了一张N卡\n"); n++; }else if(random>50 && random<90){ printf("你抽到了一张R卡!\n"); r++; }else if(random>=90 && random<99){ printf("你抽到了一张SR卡!!!\n"); sr++; }else if(random==100||random==99){ SSR(); ssr++; }}void tenRoll(int flag){ shuaxin(); int i,random,receive; printf("抽卡中...\n"); Sleep(1000); for(i=0;i<9;i++){ random=rand()%101; srand(clock()); name(random); Sleep(666); } if(flag==sr){ printf("九抽毛都没有,给你个保底!\n"); name(95); }else{ random=rand()%101; srand(clock()); name(random); } count+=10; chance-=10; printf("选择1:继续十连,选择2:返回\n"); receive=in(); if(chance<=10){ ///////////////////////// zero(); }else{ if(receive==1){ tenRoll(sr); }else{ shuaxin(); rollGame(); } }}void SSR(){ int random; srand(clock()); random=rand()%11; if(random==0){ printf("脸帝附体,抽到茨木童子!!!!!\n"); s0++; }else if(random==1){ printf("脸帝附体,抽到酒吞童子!!!!!\n"); s1++; }else if(random==2){ printf("脸帝附体,抽到妖刀姬!!!!!\n"); s2++; }else if(random==3){ printf("脸帝附体,抽到大天狗!!!!!\n"); s3++; }else if(random==4){ printf("脸帝附体,抽到辉夜姬!!!!!\n"); s4++; }else if(random==5){ printf("脸帝附体,抽到青行灯!!!!!\n"); s5++; }else if(random==6){ printf("脸帝附体,抽到花鸟卷!!!!!\n"); s6++; }else if(random==7){ printf("脸帝附体,抽到小鹿男!!!!!\n"); s7++; }else if(random==8){ printf("脸帝附体,抽到荒川之主!!!!!\n"); s8++; }else if(random==9){ printf("脸帝附体(并不),你抽到了“非洲战神”两面佛!!!!!\n"); s9++; }}void pingjia(){ if(count<120){ printf("穷逼"); }else if(ssr==0){ printf("非洲大酋长"); }else if(ssr==1){ printf("一般人"); }else if(ssr==2){ printf("欧洲人"); }else if(ssr>=3){ printf("脸帝!"); }else if(sr>=15){ printf("运气还行"); }else if(sr<12){ printf("......"); }else{ printf("???"); }}void gg(){ shuaxin(); printf("游戏结束,统计如下:\n"); printf("游戏期间,你花了%d的金钱,一共抽奖%d次,其中:\n",10000-money,count); printf("抽到N卡%d张\n抽到R卡%d张\n抽到SR卡%d张\n抽到SSR卡%d张\n",n,r,sr,ssr); printf("你的游戏评价为:"); pingjia(); printf("\n按任意键退出\n"); system("pause"); exit(0);}void shuaxin(){ printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");}
感觉和上一个DOS游戏细节上没什么区别,写这个没有啥长进啊。。。
JAVA与C的区别:
1,C带指针,而且可以和数组一起组合出String的效果,然而并不太会用,也真的不好用。
2,相对于JAVA的类概念,C中有构造的概念,然而也比较难用,不知道有没有继承和多态的概念。
3,写完就有EXE文件拖走直接用,不像JAVA还得要虚拟机。
4,VS写起爽的飞起,eclipse都什么破玩意。
阅读全文
0 0
- C的抽卡小游戏
- 一个C的小游戏
- c语言编写的小游戏
- 用c语言开发的小游戏
- 一个贪吃蛇的小游戏(c++API)
- C语言初学者的小游戏集合框架
- 五子棋 第一次用C编写的小游戏
- c语言之猜数字的小游戏
- 简单的C语言猜数字小游戏
- 用C实现的扫雷小游戏
- C语言写的一个2048小游戏
- C语言实现的2048小游戏
- C语言实现简单的三子棋小游戏
- 小游戏三子棋的C语言代码实现
- 【小游戏】有意思的小游戏集合
- BlackJack--C语言实现的小游戏的过程总结
- 弹球小游戏C代码
- C语言小游戏源代码
- 揭开跨域的面纱(中)
- EditText使光标移动到最后面
- STM32串口如何代码实现更稳定的接收消息
- 自定义圆形渐变加载百分比-开始-暂停
- React细节
- C的抽卡小游戏
- TF-IDF特征提取 用sklearn提取tfidf特征
- Python assert 断言
- android 多点触摸
- SQLite学习(二)
- java 多线程访问共享变量不安全因素分析
- SLAM学习——李群与李代数
- js代码规范
- HDU