众所周知
在学c++时是一件很枯燥的事情,但是它也能打出游戏代码
#include<bits/stdc++.h>
using namespace std;
void word_game(){
puts(" 欢迎来到文字游戏!\n");
string str1,str2;
srand(time(0));
int x,y,cnt=0,sum,x1;
puts(" 请输入您要挑战的文字个数(至少10个):“);
cin>>x;
puts(” 请输入基本文字:“);
cin>>str1;
puts(” 请输入要找的文字:“);
cin>>str2;
int n=rand()%x;
for(int i=0;i<x;i++){
if(in){
cout<<str2,y=i+1;
}else{
cout<<str1;
}
}
cout<<endl;
sum=x/10;
x1=x;
while(x!=y&&cnt!=sum){
puts(" 不同的文字的位置:");
cin>>x;
cnt++;
if(xy){
puts(” 恭喜您找对了!\n");
}else{
puts(" 抱歉,您没找对!\n");
}
}
if(cntsum+1){
puts(" 好可惜,不同的文字的位置是");cout<<y<<endl;
}
}
void answer_game(){
puts(" 欢迎来到答题游戏!\n");
int hd_1,hd_2;
puts(" 1.直角三角形的直角边分别是3和4,求斜边是多少?(打出来):“);
for(int i=1;i<=1;++i){
cin>>hd_1;
if(hd_1!=sqrt(pow(3,2)+pow(4,2))){
puts(” 对不起,回答错误!请重新输入(提示:公式为直角边a的2平方+直角边b的2平方=斜边的2平方):“);
i–;
}
}
puts(” 恭喜你答对了!下一题:2.甲、乙两人分别从a和b地出发,相向而行,a、b两地的距离是100米,“);
puts(” 甲的速度是每秒3米,乙的速度是每秒1米,求几秒钟后会相遇?(打出来):“);
for(int i=1;i<=1;++i){
cin>>hd_2;
if(hd_2!=100/(3+1)){
puts(” 对不起,回答错误!请重新输入(提示:距离÷两人的速度和=时间):“);
i–;
}
}
puts(” 恭喜你答对了!“);
}
void print_game(){
puts(” 欢迎来到打印游戏!\n");
int hd;
puts(" 请问您要系统打印什么图形?\n");
puts(" 1.数字显示屏\n");
puts(" 2.数字三角形\n");
puts(" 3.数字长方形\n");
puts(" 4.杨辉三角\n");
puts(" 5.S形矩阵\n");
puts(" 请打序号(1~5):“);
cin>>hd;
switch(hd){
case 1:{
int n;
puts(” 请输入数字长度(不超过30个):“);
cin>>n;
int len1=-3,len2=-1;
char a,b[6][n4];
for(int i=1;i<6;i++){
for(int j=1;j<n4;j++){
b[i][j]=‘.’;
}
}
puts(” 请输入一串数字:“);
for(int i=1;i<=n;i++){
cin>>a;
len1+=4;
len2+=4;
switch(a){
case ‘0’:{
for(int j=1;j<6;j++){
b[j][len1]=b[j][len2]=‘X’;
}
b[1][len1+1]=b[5][len1+1]=‘X’;
break;
}
case ‘1’:{
for(int j=1;j<6;j++){
b[j][len2]=‘X’;
}
break;
}
case ‘2’:{
for(int j=1;j<6;j+=2){
for(int k=len1;k<=len2;k++){
b[j][k]=‘X’;
}
}
b[2][len2]=b[4][len1]=‘X’;
break;
}
case ‘3’:{
for(int j=1;j<6;j++){
b[j][len2]=‘X’;
}
for(int j=1;j<6;j+=2){
b[j][len1]=b[j][len1+1]=‘X’;
}
break;
}
case ‘4’:{
for(int j=1;j<6;j++){
b[j][len2]=‘X’;
}
for(int j=1;j<4;j++){
b[j][len1]=‘X’;
}
b[3][len1+1]=‘X’;
break;
}
case ‘5’:{
for(int j=1;j<6;j+=2){
for(int k=len1;k<=len2;k++){
b[j][k]=‘X’;
}
}
b[2][len1]=b[4][len2]=‘X’;
break;
}
case ‘6’:{
for(int j=1;j<6;j++){
b[j][len1]=‘X’;
}
for(int j=1;j<6;j+=2){
b[j][len1+1]=b[j][len2]=‘X’;
}
b[4][len2]=‘X’;
break;
}
case ‘7’:{
for(int j=1;j<6;j++){
b[j][len2]=‘X’;
}
b[1][len1]=b[1][len1+1]=‘X’;
break;
}
case ‘8’:{
for(int j=1;j<6;j++){
b[j][len1]=b[j][len2]=‘X’;
}
for(int j=1;j<6;j+=2){
b[j][len1+1]=‘X’;
}
break;
}
case ‘9’:{
for(int j=1;j<6;j+=2){
for(int k=len1;k<=len2;k++){
b[j][k]=‘X’;
}
}
b[2][len1]=b[2][len2]=b[4][len2]=‘X’;
break;
}
}
}
for(int i=1;i<6;i++){
for(int j=1;j<n*4;j++){
cout<<b[i][j];
}
cout<<endl;
}
break;
}
case 2:{
int n,cnt=0;
puts(” 请输入行数(不超过13):“);
cin>>n;
for(int i=1;i<=n;i++){
cout<<setw((n-i)*2)<<”“;
for(int j=1;j<=i;j++){
cnt++;
cout<<(cnt<10?“0”:”“)<<cnt;
}
cout<<endl;
}
break;
}
case 3:{
int n,cnt=0;
puts(” 请输入行数(不超过13):“);
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cnt++;
cout<<(cnt<10?“0”:”“)<<cnt;
}
cout<<endl;
}
break;
}
case 4:{
int n;
puts(” 请输入行数(不超过20):");
cin>>n;
int a[n][n];
for(int x=0;x<n;x++){
for(int y=0;y<=x;y++)
if(y0||xy)
cout<<(a[x][y]=1)<<" “;
else
cout<<(a[x][y]=a[x-1][y-1]+a[x-1][y])<<” “;
cout<<endl;
}
break;
}
case 5:{
int x,y;
puts(” 请输入行数和列数(行数和列数各不超过10):");
cin>>x>>y;
int a[x][y],tot,m,n,i=1;
m=n=tot=0;
while(tot<x*y){
if(i1){
while(n<y){
a[m][n++]=++tot;
}
}else{
while(n<y-1){
a[m][++n]=++tot;
}
}
if(tot>=xy){
break;
}
if(m<x-1){
if(i==1){
a[++m][–n]=++tot;
}else{
a[++m][n]=++tot;
}
}
while(n>0){
a[m][–n]=++tot;
}
if(tot>=xy){
break;
}
if(m<x-1){
a[++m][n]=++tot;
}
i++;
}
for(int i=0;i<x;i++){
for(int j=0;j<y;j++){
cout<<setw(5)<<a[i][j];
}
cout<<endl;
}
break;
}
}
}
void magic_game(){
puts(" 欢迎来到读心术游戏!\n");
int a;
puts(" 您要玩哪种游戏?\n");
puts(" 1. 1~7\n");
puts(" 2. 1~15\n");
puts(" 3. 1~31\n");
puts(" 请打序号(1~3):“);
cin>>a;
switch(a){
case 1:{
int a[4],ans;
string t[4];
t[0]=“1,2,3,4,5,6,7”;
t[1]=“1,3,5,7”;
t[2]=“2,3,6,7”;
t[3]=“4,5,6,7”;
puts(” 读心术猜数\n");
puts(" 请你在下面7个数中,选一个并记在心里。\n");
cout<<t[0]<<endl;
system(“pause”);
for(int i=1;i<=3;i++){
system(“cls”);
cout<<i<<endl;
puts(" .问:下面的数中有吗?0:没有,1:有\n");
cout<<t[i]<<endl;
do{
cin>>a[i];
}while(a[i]<0||a[i]>1);
}
ans=4a[3]+2a[2]+1a[1];
system(“cls”);
puts(" 你心中想的数是:“);
cout<<ans<<endl;
break;
}
case 2:{
int a[5],ans;
string t[5];
t[0]=“1,2,3,4,5,6,7,8,9,10,11,12,13,14,15”;
t[1]=“1,3,5,7,9,11,13,15”;
t[2]=“2,3,6,7,10,11,14,15”;
t[3]=“4,5,6,7,12,13,14,15”;
t[4]=“8,9,10,11,12,13,14,15”;
puts(” 读心术猜数\n");
puts(" 请你在下面31个数中,选一个并记在心里。\n");
cout<<t[0]<<endl;
system(“pause”);
for(int i=1;i<=4;i++){
system(“cls”);
cout<<i<<endl;puts(" .问:下面的数中有吗?0:没有,1:有\n");
cout<<t[i]<<endl;
do{
cin>>a[i];
}while(a[i]<0||a[i]>1);
}
ans=8a[4]+4a[3]+2a[2]+1a[1];
system(“cls”);
puts(" 你心中想的数是:“);
cout<<ans<<endl;
break;
}
case 3:{
int a[6],ans;
string t[6];
t[0]=“1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31”;
t[1]=“1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31”;
t[2]=“2,3,6,7,10,11,14,15,18,19,22,23,26,27,30,31”;
t[3]=“4,5,6,7,12,13,14,15,20,21,22,23,28,29,30,31”;
t[4]=“8,9,10,11,12,13,14,15,24,25,26,27,28,29,30,31”;
t[5]=“16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31”;
puts(” 读心术猜数\n");
puts(" 请你在下面31个数中,选一个并记在心里。\n");
cout<<t[0]<<endl;
system(“pause”);
for(int i=1;i<=5;i++){
system(“cls”);
cout<<i<<endl;puts(" .问:下面的数中有吗?0:没有,1:有\n");
cout<<t[i]<<endl;
do{
cin>>a[i];
}while(a[i]<0||a[i]>1);
}
ans=16a[5]+8a[4]+4a[3]+2a[2]+1a[1];
system(“cls”);
puts(" 你心中想的数是:");
cout<<ans<<endl;
break;
}
}
}
int main(){
int a;
puts(“欢迎来到多能游戏机!”);
while(a!=5){
puts(“您要玩哪种游戏?\n”);
puts(“1.文字游戏(找不同)\n”);
puts(“2.答题游戏\n”);
puts(“3.打印游戏(你说我打)\n”);
puts(“4.读心术游戏(你想我猜)\n”);
puts(“5.退出\n”);
puts(“请打序号(1~5):”);
cin>>a;
system(“cls”);
switch(a){
case 1:{
bool f=true;
while(f){
word_game();
puts(“是否继续(1. 是 0. 否):”);
cin>>f;
if(f){
system(“pause”);
}
system("cls");
}
break;
}
case 2:{
answer_game();
system("pause");
system("cls");
break;
}
case 3:{
bool f=true;
while(f){
print_game();
puts("是否继续(1. 是 0. 否):");
cin>>f;
if(f){
system("pause");
}
system("cls");
}
break;
}
case 4:{
bool f=true;
while(f){
magic_game();
puts("是否继续(1. 是 0. 否):");
cin>>f;
if(f){
system("pause");
}
system("cls");
}
break;
}
case 5:{
puts("感谢您进入系统!欢迎下次再来!");
break;
}
}
}
return 0;
}
C++实现多功能游戏代码
5266

被折叠的 条评论
为什么被折叠?



