游戏规则
这是c++程序俄罗斯轮盘,他是一款有趣的控制台游戏,适合上班族摸鱼玩。游戏规则如下:
在一把枪里,有n个弹夹,在里面有m个子弹,所有子弹随机排列,你可以随意控制打出第a发子弹,这发子弹可能是实弹也可能是空气。如果是实弹,你就死了;如果是空气,游戏继续。
代码
#include<iostream>
#include<windows.h>
#include<stdio.h>
#include<conio.h>
#include<vector>
#include<random>
using namespace std;
void jindutiao();
void eluosilunpan(int num_gun,int num_powder);
int main(){
cout<<"------------------------------------------------"<<endl;
cout<<"| |"<<endl;
cout<<"| 欢迎使用俄罗斯轮盘游戏 |"<<endl;
cout<<"| |"<<endl;
cout<<"| 1.开始游戏 |"<<endl;
cout<<"| |"<<endl;
cout<<"| 注:本程序不设置异常处理,请不要输入 |"<<endl;
cout<<"| 错误数据 |"<<endl;
cout<<"| |"<<endl;
cout<<"| 作者:程序猿jason |"<<endl;
cout<<"|______________________________________________|"<<endl;
char tmp1;
tmp1=getch();
if(tmp1=='1'){
jindutiao();
system("pause&&cls");
system("color 0f");
cout<<"请输入枪的弹夹数量:";
int gun_;
cin>>gun_;
cout<<"请输入子弹数量:";
int powder_;
cin>>powder_;
eluosilunpan(gun_,powder_);
}
return 0;
}
void jindutiao(){
int j;
system("color 1f");
for (int i = 1; i <= 50; i++) {
system("cls");
for (j = 1; j <= i; j++) {
printf("=");
}
for (int m = 1; m <= 50 - j; m++) {
printf(" ");
}
cout << "|" << 2 * i << "%";
Sleep(10);
}
}
void eluosilunpan(int num_gun,int num_powder){
cout<<"放子弹中…"<<endl;
vector<int> a;
random_device rd;
mt19937 gen(rd());
uniform_int_distribution<> dis(0, num_gun-1);
for(int i=0;i<num_powder;i++){
int temp=dis(gen);
int tmp=true;
for(int i=0;i<a.size();i++){
if(a[i]==temp){
tmp=false;
i-=1;
continue;
}
}
if(tmp){
a.push_back(temp);
}
}
Sleep(2);
cout<<"放子弹完毕"<<endl;
system("pause&&cls");
while(1){
cout<<"请输入弹夹编号(0-"<<num_gun-1<<")"<<endl;
int temp;
cin>>temp;
for(int i=0;i<a.size();i++){
if(temp==a[i]){
cout<<"哈哈,你被嘎掉了!"<<endl;
cout<<"我放的子弹是:";
for(int i=0;i<a.size();i++){
cout<<a[i]<<"号 ";
}
cout<<endl;
system("pause&cls");
cout<<"是否继续游戏(y/n)"<<endl;
char xxx;
cin>>xxx;
if(xxx=='y'||xxx=='Y'){
;
}
else{
exit(0);
}
}
}
}
}