抽奖Version0.1.1游戏源代码

抽奖Version0.1.1游戏源代码。也可直接下载源程序:

【免费】抽奖Version0.1.1游戏源程序资源-CSDN文库
bug:反馈至作者CSDN博客Wyze(June)。
提示:不建议在u盘中打开,防止盗版病毒。

更新日志:

Version0.1.0 20250315

Version0.1.0->0.1.1 20250319
1.修复了赌金消失的逻辑问题。

#include<bits/stdc++.h>//万能 
#include<windows.h>//系统 
#include<fstream>//写入 
#define ld long double
short jd,hm[7],s,dsplayer,dscomputer;//jd决定 hm号码 s秒数 
int yuan=100,quan=0,dj;//yuan元 quan券 dj赌金 
ld smb,mmb,lmb;//mb目标 
bool zj;//zj中奖 
using namespace std;
string CDK;
void start()
{
	printf("抽奖游戏 适龄提示12+ 请认真阅读协议后开始游戏\n");
	system("pause") ;
	printf("《<抽奖>Version0.1.1用户协议说明》\n 1.游戏权限:获得您的内存使用权,文件创建权和程序运行权。如侵犯了您的个人利益或对您的电脑造成了损坏,请联系作者:https://blog.csdn.net/2301_77158396?type=blog\n2.游戏引导含赌博,买彩票玩法,请未成年人不要买彩票赌博,成年人不要赌博,作者不负任何责任。\n3.抵制不良游戏,拒绝盗版游戏。注意自我保护,谨防受骗上当。适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。\n4.配置要求:系统:32位+ Windows7+/Linux/XP ROM:4GB+ CPU:I3+\n");
	printf("我已阅读,");
	system("pause");
	printf("开始游戏,");
	system("pause");
}  
int main()
{
	start();
	printf("hello,欢迎来到抽奖的世界!!\n你的初始资金是100元,买彩票来获取金钱吧!!\n小目标:一万元 中目标:一百万元 大目标:一亿元,祝你好运!!\n");
	system("pause");
	system("cls");
	for(;;)
	{
		printf("1.买彩票 2.去赌博(掷骰子) 3.破产补助 4.活动 5.个人 6.关于 0.退出\n");
		scanf("%hd",&jd);
		if(jd==1)
		{
			printf("你要买什么彩票呢(每个奖都只有一个号码哦)\n");
			printf("1.翡翠奖 20元 5个码 开奖时间10s 一等奖2200元 二等奖500元 三等奖100元\n");
			printf("2.大乐透 100元 12个码 开等奖2000元 三等奖1000元 四等奖350元\n");
			printf("3.顶呱呱 500元 20个码 开奖时间40s 一等奖12000元 奖时间25s 一等奖5000元 二二等奖8000元 三等奖5000元 四等奖2500元 五等奖1000元\n");
			printf("4.七星彩 3000元 30个码 开奖时间90s 一等奖200000元 二等奖100000元 三等奖60000元 四等奖15000元 五等奖7000元 六等奖 4000元\n");
			scanf("%hd",&jd);
			if(jd==1)
			{
				if(0+yuan<20)
				{
					printf("钱不够!!");
					system("pause");
					system("cls");
					continue; 
				}
				yuan-=20;
				printf("你要什么码?(1-5)");
				scanf("%hd",&jd);
				srand(time(0));
				for(int i=1;i<=3;i++)
				{
					hm[i]=rand()%5+1;
				}
				s=10;
				for(int i=1;i<=10;i++)
				{
					system("cls");
					printf("翡翠奖 20元 5个码 一等奖2200元 二等奖500元 三等奖100元\n您的号码:%d\n",jd);
					printf("即将开奖:%d s",s);
					Sleep(1000);
					s-=1;
				}
				system("cls");
				for(int i=1;i<=3;i++)
				{
					if(hm[i]==jd)
					{
						if(i==1)
						{
							printf("恭喜你,中了一等奖,+2200元!\n");
							yuan+=2200;
							zj=1;
						}
						else if(i==2)
						{
							printf("恭喜你,中了二等奖,+500元!\n");
							yuan+=500;
							zj=1;
						}
						else if(i==3)
						{
							printf("恭喜你,中了三等奖,+100元!\n");
							yuan+=500;
							zj=1;
						}
						system("pause");
					}
				}
				if(!zj)
				{
					printf("哎呀,没中啊,下次加油,祝你好运!!");
					system("pause"); 
				}
			}
			if(jd==2)
			{
				if(0+yuan<100)
				{
					printf("钱不够!!");
					system("pause");
					system("cls");
					continue; 
				}
				yuan-=100;
				printf("你要什么码?(1-12)");
				scanf("%d",&jd);
				srand(time(0));
				for(int i=1;i<=4;i++)
				{
					hm[i]=rand()%12+1;
				}
				s=25;
				for(int i=1;i<=25;i++)
				{
					system("cls");
					printf("大乐透 100元 12个码 开奖时间25s 一等奖5000元 二等奖2000元 三等奖1000元 四等奖350元\n您的号码:%d\n",jd);
					printf("即将开奖:%d s",s);
					Sleep(1000);
					s-=1;
				}
				system("cls");
				for(int i=1;i<=4;i++)
				{
					if(hm[i]==jd)
					{
						if(i==1)
						{
							printf("恭喜你,中了一等奖,+5000元!\n");
							yuan+=5000;
							zj=1;
						}
						else if(i==2)
						{
							printf("恭喜你,中了二等奖,+2000元!\n");
							yuan+=2000;
							zj=1;
						}
						else if(i==3)
						{
							printf("恭喜你,中了三等奖,+1000元!\n");
							yuan+=1000;
							zj=1;
						}
						else if(i==4)
						{
							printf("恭喜你,中了四等奖,+350元!\n");
							yuan+=350;
							zj=1;
						}
						system("pause");
					}
				}
				if(!zj)
				{
					printf("哎呀,没中啊,下次加油,祝你好运!!");
					system("pause"); 
				}
			}
			if(jd==3)
			{
				if(0+yuan<500)
				{
					printf("钱不够!!");
					system("pause");
					system("cls");
					continue; 
				}
				yuan-=500;
				printf("你要什么码?(1-20)");
				scanf("%d",&jd);
				srand(time(0));
				for(int i=1;i<=5;i++)
				{
					hm[i]=rand()%20+1;
				}
				s=40;
				for(int i=1;i<=40;i++)
				{
					system("cls");
					printf("顶呱呱 500元 20个码 开奖时间40s 一等奖12000元 二等奖8000元 三等奖5000元 四等奖2500元 五等奖1000元\n您的号码:%d\n",jd);
					printf("即将开奖:%d s",s);
					Sleep(1000);
					s-=1;
				}
				system("cls");
				for(int i=1;i<=5;i++)
				{
					if(hm[i]==jd)
					{
						if(i==1)
						{
							printf("恭喜你,中了一等奖,+12000元!\n");
							yuan+=12000;
							zj=1;
						}
						else if(i==2)
						{
							printf("恭喜你,中了二等奖,+8000元!\n");
							yuan+=8000;
							zj=1;
						}
						else if(i==3)
						{
							printf("恭喜你,中了三等奖,+5000元!\n");
							yuan+=5000;
							zj=1;
						}
						else if(i==4)
						{
							printf("恭喜你,中了四等奖,+2500元!\n");
							yuan+=2500;
							zj=1;
						}
						else if(i==5)
						{
							printf("恭喜你,中了五等奖,+1000元!\n");
							yuan+=1000;
							zj=1;
						}
						system("pause");
					}
				}
				if(!zj)
				{
					printf("哎呀,没中啊,下次加油,祝你好运!!");
					system("pause"); 
				}
			}
			if(jd==4)
			{
				if(0+yuan<3000)
				{
					printf("钱不够!!");
					system("pause");
					system("cls");
					continue; 
				}
				yuan-=3000;
				printf("你要什么码?(1-30)");
				scanf("%d",&jd);
				srand(time(0));
				for(int i=1;i<=6;i++)
				{
					hm[i]=rand()%30+1;
				}
				s=90;
				for(int i=1;i<=90;i++)
				{
					system("cls");
					printf("七星彩 3000元 30个码 开奖时间90s 一等奖200000元 二等奖100000元 三等奖60000元 四等奖15000元 五等奖7000元 六等奖 4000元\n您的号码:%d\n",jd);
					printf("即将开奖:%d s",s);
					Sleep(1000);
					s-=1;
				}
				system("cls");
				for(int i=1;i<=6;i++)
				{
					if(hm[i]==jd)
					{
						if(i==1)
						{
							printf("恭喜你,中了一等奖,+200000元!\n");
							yuan+=200000;
							zj=1;
						}
						else if(i==2)
						{
							printf("恭喜你,中了二等奖,+100000元!\n");
							yuan+=100000;
							zj=1;
						}
						else if(i==3)
						{
							printf("恭喜你,中了三等奖,+60000元!\n");
							yuan+=60000;
							zj=1;
						}
						else if(i==4)
						{
							printf("恭喜你,中了四等奖,+15000元!\n");
							yuan+=15000;
							zj=1;
						}
						else if(i==5)
						{
							printf("恭喜你,中了五等奖,+7000元!\n");
							yuan+=7000;
							zj=1;
						}
						else if(i==6)
						{
							printf("恭喜你,中了六等奖,+4000元!\n");
							yuan+=4000;
							zj=1;
						}
						system("pause");
					}
				}
				if(!zj)
				{
					printf("哎呀,没中啊,下次加油,祝你好运!!");
					system("pause"); 
				}
			}
			system("cls"); 
		}
		if(jd==2)
		{
			printf("玩法:出一定金额赌金,通过掷骰子比大小,如您点数比对方小,则赌金消失,如点数相同,赌金不变,如您点数比对方大,赌金双倍!!\n你出多少赌金呢:");
			scanf("%d",&dj);
			if(dj>yuan)
			{
				printf("你出的赌金你不够呢,请先买彩票吧!!"); 
				system("pause");
				system("cls");
				continue; 
			}
			srand(time(0));
			dsplayer=rand()%6+1;
			dscomputer=rand()%6+1;
			if(dsplayer>dscomputer)
			{
				printf("恭喜你,赌金翻倍!!\n player:%d computer:%d\n",dsplayer,dscomputer);
				yuan=yuan+dj+dj;
				system("pause"); 
			}
			else if(dsplayer<dscomputer)
			{
				printf("啊哦,对不起,赌金消失了...\n player:%d computer:%d\n",dsplayer,dscomputer);
				yuan-=dj;
				system("pause"); 
			}
			else if(dsplayer==dscomputer)
			{
				printf("六百六十六,赌金不变!!\n player:%d computer:%d\n",dsplayer,dscomputer);
				system("pause"); 
			}
			system("cls"); 
		}
		if(jd==3)
		{
			if(yuan>=20)
			{
				printf("你没有破产,请买彩票!!");
				system("pause");
			}
			else
			{
				printf("100元补助已到达,再接再厉!!");
				system("pause");
			}
			system("cls"); 
		}
		if(jd==4)
		{
			printf("活动大厅:\n0.兑换CDK\n1.新游豪礼3.16--3.31\n输入序号前往活动:");
			scanf("%hd",&jd);
			if(jd==0)
			{
				printf("输入兑换码20位,包含大小写字母和数字:"); 
				 printf("输入兑换码20位,包含大小写字母和数字:");
                char cdk_input[21]; // Array to hold the input string (+1 for null terminator)
                scanf("%20s", cdk_input); // Read up to 20 characters
                CDK=cdk_input;      // Convert to std::string
                //此处特别感谢https://chat1.free2gpt.com/,本来兑换完会异常结束
				//关于原始代码在使用 CDK 时崩溃的原因说明程序崩溃的最可能原因是 scanf("%s", &CDK) 使用不当。以下是它可能导致问题的原因:缓冲区溢出:`scanf("%s", &CDK)` 会尝试将字符直接写入 CDK 内部字符串缓冲区所指向的内存中。如果输入的长度超过了为该字符串分配的缓冲区大小,`scanf` 就会写到缓冲区的末尾之后,从而导致缓冲区溢出。这种溢出可能会覆盖重要的程序数据,导致程序行为不可预测并崩溃。内存损坏:即使输入的长度不足以直接导致缓冲区溢出,但直接向 `std::string` 对象的内部内存写入数据而不进行适当的内存管理,可能会损坏字符串的内部数据结构(例如,其长度、容量或指向已分配缓冲区的指针)。这可能会导致程序在稍后尝试访问或操作损坏的字符串时崩溃。重要安全提示`scanf("%s",...)` 函数本质上是危险的,因为它不提供任何边界检查。它会一直读取字符,直到遇到空白字符为止,而不管您写入的缓冲区大小如何。这使得创建缓冲区溢出变得非常容易,而缓冲区溢出是常见的安全漏洞来源。读取字符串时,始终使用更安全的替代方法,如 `fgets` 或 `std::getline`,并且一定要限制读取的字符数。使用 `scanf("%20s", cdk_input)` 进行修复更好,因为它限制了输入,但使用 `fgets` 或 `std::getline` 并进行大小检查会更可靠。 
				if(CDK=="CY662qLhGTgfFk7gi0DK")
				{
					yuan+=6660;
					printf("\n兑换成功!!");
					system("pause");
				}
				else 
				{
					printf("\n兑换码错误!");
					system("pause");
				}
			}
			else if(jd==1)
			{
				printf("感谢你的游玩!!作者Wyze为你准备了惊喜礼物——6660元!!兑换码:CY662qLhGTgfFk7gi0DK");
				system("pause"); 
			} 
			system("cls"); 
		} 
		if(jd==5)
		{
			printf("玩家:Player\n账号类型:一次性即注即销,保存数据敬请期待\n钱:%d\n券:%d\n",yuan,quan);
			smb=yuan/10000.0*100.0;
			mmb=yuan/1000000.0*100.0;
			lmb=yuan/100000000.0*100.0;
			//此处特别感谢https://chat1.free2gpt.com/,本来会异常输出 
			cout<<"小目标:"<<smb<<'%'<<endl; 
			cout<<"中目标:"<<mmb<<'%'<<endl; 
			cout<<"大目标:"<<lmb<<'%'<<endl; 
			system("pause"); 
			system("cls"); 
		}
		if(jd==6)
		{
			printf("啦啦啦啦噜噜噜噜,经过作者2个月的努力,终于出版啦,以后会更新!!特别感谢https://chat1.free2gpt.com/,修复了两个大bug!!\n"); 
			printf("抽奖(Lottery Draw)Version0.1.1.202503 (c)20250319 (c)Wyze (c)王者游戏工作室 Wangzhe Game Studio\n");
			printf("寒暄一句,csdn六年级小学生单独出品!!希望大家喜欢,让我能更好!!以后我会推出数据储存的!!谢谢!!\n");
			system("pause"); 
			system("cls"); 
		 } 
		if(jd==0)
		{
			break;
		}
	}
	return 0;
}
//system("md c:\\mydir");创建一个文件夹      system("rd c:\\mydir");//删除一个文件夹          system("c:\\test\\myfile.dat");//删除一个文件。
//1、添加头文件#include <fstream>2、打开txt文件ofstream outfile("test.txt",std::ios::app);3、写入txtoutfile << "Hello World!" << std::endl;4、关闭outfile.close()

感谢游玩哦,有bug可以反馈我哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值