首页游戏c++小游戏代码 c++小游戏简单代码

c++小游戏代码 c++小游戏简单代码

编程之家2026-05-17606次浏览

大家好,今天来为大家分享c++小游戏代码的一些知识点,和c++小游戏简单代码的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

c++小游戏代码 c++小游戏简单代码

小游戏的C++代码

1.火脸柴人小游戏的C++代码实现

这是一个简单的火脸柴人游戏,玩家通过方向键控制蓝色小人移动,避开位于(10, 10)位置的红色老女人。一旦小人与老女人相遇,游戏结束。代码使用C++编写,需要在编译时添加 `-std=c++11`参数以确保正确编译。

2.关键函数的代码片段

以下是关键函数的代码片段:

- `void gotoxy(int x, int y)`:用于移动光标到指定坐标。

- `int clean(int mm, int nn)`:清除屏幕上的字符。

c++小游戏代码 c++小游戏简单代码

- `int men(int x, int y)`:绘制蓝色小人。

- `int women(int i, int j)`:绘制红色老女人。

3.游戏逻辑实现

游戏的核心逻辑在`int womenmove()`和`int menmove()`函数中实现,其中`womenmove()`是红女人的移动逻辑,`menmove()`是玩家控制的小人的移动逻辑。游戏开始后,程序会启动一个线程处理红女人的移动,同时主进程控制玩家小人的移动。

4.游戏界面与提示信息

游戏界面会显示提示信息,如"游戏开始后,随机按下一个键,唤醒你的蓝色小人。如果你被红色的老女人碰到了,那么你就死了",指示使用方向键进行操作。

c++小游戏代码 c++小游戏简单代码

5.游戏结束提示

游戏结束后,会显示"Game Over"的提示。

求C++小游戏源代码啊~

要源码的,在评论里打个@,我先去做

要源码的,在评论里打个@,我先去做

要源码的,在评论里打个@,我先去做

要源码的,在评论里打个@,我先去做

要源码的,在评论里打个@,我先去做

要源码的,在评论里打个@,我先去做

要源码的,在评论里打个@,我先去做

要源码的,在评论里打个@,我先去做

要源码的,在评论里打个@,我先去做

要源码的,在评论里打个@,我先去做

要源码的,在评论里打个@,我先去做

要源码的,在评论里打个@,我先去做

要源码的,在评论里打个@,我先去做

要源码的,在评论里打个@,我先去做

要源码的,在评论里打个@,我先去做

要源码的,在评论里打个@,我先去做

要源码的,在评论里打个@,我先去做

#include<iostream>

#include<windows.h>

#include<conio.h>

#include<time.h>

#include<string>

using namespace std;

ypedef struct Frame

{

COORD position[2];

int flag;

}Frame;

void SetPos(COORD a)// set cursor

{

HANDLE out=GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleCursorPosition(out, a);

}

void SetPos(int i, int j)// set cursor

{

COORD pos={i, j};

SetPos(pos);

}

void HideCursor()

{

CONSOLE_CURSOR_INFO cursor_info={1, 0};

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);

}

//把第y行,[x1, x2)之间的坐标填充为 ch

void drawRow(int y, int x1, int x2, char ch)

{

SetPos(x1,y);

for(int i= 0; i<=(x2-x1); i++)

cout<<ch;

}

//在a, b纵坐标相同的前提下,把坐标 [a, b]之间填充为 ch

void drawRow(COORD a, COORD b, char ch)

{

if(a.Y== b.Y)

drawRow(a.Y, a.X, b.X, ch);

else

{

SetPos(0, 25);

cout<<"error code 01:无法填充行,因为两个坐标的纵坐标(x)不相等";

system("pause");

}

}

//把第x列,[y1, y2]之间的坐标填充为 ch

void drawCol(int x, int y1, int y2, char ch)

{

int y=y1;

while(y!=y2+1)

{

SetPos(x, y);

cout<<ch;

y++;

}

}

//在a, b横坐标相同的前提下,把坐标 [a, b]之间填充为 ch

void drawCol(COORD a, COORD b, char ch)

{

if(a.X== b.X)

drawCol(a.X, a.Y, b.Y, ch);

else

{

SetPos(0, 25);

cout<<"error code 02:无法填充列,因为两个坐标的横坐标(y)不相等";

system("pause");

}

}

void drawFrame(COORD a, COORD b, char row, char col)

{

drawRow(a.Y, a.X+1, b.X-1, row);

drawRow(b.Y, a.X+1, b.X-1, row);

drawCol(a.X, a.Y+1, b.Y-1, col);

drawCol(b.X, a.Y+1, b.Y-1, col);

}

void drawFrame(int x1, int y1, int x2, int y2, char row, char col)

{

COORD a={x1, y1};

COORD b={x2, y2};

drawFrame(a, b, row, col);

}

void drawFrame(Frame frame, char row, char col)

{

COORD a= frame.position[0];

COORD b= frame.position[1];

drawFrame(a, b, row, col);

}

void drawPlaying()

{

drawFrame(0, 0, 48, 24,'=','|');// draw map frame;

drawFrame(49, 0, 79, 4,'-','|');// draw output frame

drawFrame(49, 4, 79, 9,'-','|');// draw score frame

drawFrame(49, 9, 79, 20,'-','|');// draw operate frame

drawFrame(49, 20, 79, 24,'-','|');// draw other message frame

SetPos(52, 6);

cout<<"得分:";

SetPos(52, 7);

cout<<"称号:";

SetPos(52,10);

cout<<"操作方式:";

SetPos(52,12);

cout<<" a,s,d,w控制战机移动。";

SetPos(52,14);

cout<<" p暂停游戏。";

SetPos(52,16);

cout<<" e退出游戏。";

}

int random(int a, int b)

{

int c=(rand()%(a-b))+ a;

return c;

}

COORD random(COORD a, COORD b)

{

int x=random(a.X, b.X);

int y=random(a.Y, b.Y);

COORD c={x, y};

return c;

}

bool judgeCoordInFrame(Frame frame, COORD spot)

{

if(spot.X>=frame.position[0].X)

if(spot.X<=frame.position[1].X)

if(spot.Y>=frame.position[0].Y)

if(spot.Y<=frame.position[0].Y)

return true;

return false;

}

void printCoord(COORD a)

{

cout<<"("<<a.X<<","<<a.Y<<")";

}

void printFrameCoord(Frame a)

{

printCoord(a.position[0]);

cout<<"-";

printCoord(a.position[1]);

}

int drawMenu()

{

SetPos(30, 1);

cout<<"P l a n e W a r";

drawRow(3, 0, 79,'-');

drawRow(5, 0, 79,'-');

SetPos(28, 4);

cout<<"w和 s选择, k确定";

SetPos(15, 11);

cout<<"1.简单的敌人";

SetPos(15, 13);

cout<<"2.冷酷的敌人";

drawRow(20, 0, 79,'-');

drawRow(22, 0, 79,'-');

SetPos(47, 11);

cout<<"简单的敌人:";

SetPos(51, 13);

cout<<"简单敌人有着较慢的移动速度。";

SetPos(24, 21);

cout<<"制作:老八(秘制小汉堡)";

int j=11;

SetPos(12, j);

cout<<">>";

//drawFrame(45, 9, 79, 17,'=','|');

while(1)

{ if( _kbhit())

{

char x=_getch();

switch(x)

{

case'w':

{

if( j== 13)

{

SetPos(12, j);

cout<<"";

j= 11;

SetPos(12, j);

cout<<">>";

SetPos(51, 13);

cout<<"";

SetPos(47, 11);

cout<<"简单的敌人:";

SetPos(51, 13);

cout<<"简单敌人有着较慢的移动速度,比较容易对付";

}

break;

}

case's':

{

if( j== 11)

{

SetPos(12, j);

cout<<"";

j= 13;

SetPos(12, j);

cout<<">>";

SetPos(51, 13);

cout<<"";

SetPos(47, 11);

cout<<"冷酷的敌人:";

SetPos(51, 13);

cout<<"冷酷的敌人移动速度较快,难对付哟。";

}

break;

}

case'k':

{

if(j== 8) return 1;

else return 2;

}

}

}

}

}

DWORD WINAPI MusicFun(LPVOID lpParamte)

{

//DWORD OBJ;

sndPlaySound(TEXT("bgm.wav"), SND_FILENAME|SND_ASYNC);

return 0;

}

class Game

{

public:

COORD position[10];

COORD bullet[10];

Frame enemy[8];

int score;

int rank;

int rankf;

string title;

int flag_rank;

Game();

//初始化所有

void initPlane();

void initBullet();

void initEnemy();

//初始化其中一个

//void initThisBullet( COORD);

//void initThisEnemy( Frame);

void planeMove(char);

void bulletMove();

void enemyMove();

//填充所有

void drawPlane();

void drawPlaneToNull();

void drawBullet();

void drawBulletToNull();

void drawEnemy();

void drawEnemyToNull();

//填充其中一个

void drawThisBulletToNull( COORD);

void drawThisEnemyToNull( Frame);

void Pause();

void Playing();

void judgePlane();

void judgeEnemy();

void Shoot();

void GameOver();

void printScore();

};

Game::Game()

{

initPlane();

initBullet();

initEnemy();

score= 0;

rank= 25;

rankf= 0;

flag_rank= 0;

}

void Game::initPlane()

{

COORD centren={39, 22};

position[0].X=position[5].X=position[7].X=position[9].X=centren.X;

position[1].X=centren.X-2;

position[2].X=position[6].X=centren.X-1;

position[3].X=position[8].X=centren.X+1;

position[4].X=centren.X+2;

for(int i=0; i<=4; i++)

position[i].Y=centren.Y;

for(int i=6; i<=8; i++)

position[i].Y=centren.Y+1;

position[5].Y=centren.Y-1;

position[9].Y=centren.Y-2;

}

void Game::drawPlane()

{

for(int i=0; i<9; i++)

{

SetPos(position[i]);

if(i!=5)

cout<<"O";

else if(i==5)

cout<<"|";

}

}

void Game::drawPlaneToNull()

{

for(int i=0; i<9; i++)

{

SetPos(position[i]);

cout<<"";

}

}

void Game::initBullet()

{

for(int i=0; i<10; i++)

bullet[i].Y= 30;

}

void Game::drawBullet()

{

for(int i=0; i<10; i++)

{

if( bullet[i].Y!= 30)

{

SetPos(bullet[i]);

cout<<"^";

}

}

}

void Game::drawBulletToNull()

{

for(int i=0; i<10; i++)

if( bullet[i].Y!= 30)

{

COORD pos={bullet[i].X, bullet[i].Y+1};

SetPos(pos);

cout<<"";

}

}

void Game::initEnemy()

{

COORD a={1, 1};

COORD b={45, 15};

for(int i=0; i<8; i++)

{

enemy[i].position[0]= random(a, b);

enemy[i].position[1].X= enemy[i].position[0].X+ 3;

enemy[i].position[1].Y= enemy[i].position[0].Y+ 2;

}

}

void Game::drawEnemy()

{

for(int i=0; i<8; i++)

drawFrame(enemy[i].position[0], enemy[i].position[1],'-','|');

}

void Game::drawEnemyToNull()

{

for(int i=0; i<8; i++)

{

drawFrame(enemy[i].position[0], enemy[i].position[1],'','');

}

}

void Game::Pause()

{

SetPos(61,2);

cout<<"";

SetPos(61,2);

cout<<"暂停中...";

char c=_getch();

while(c!='p')

c=_getch();

SetPos(61,2);

cout<<"";

}

void Game::planeMove(char x)

{

if(x=='a')

if(position[1].X!= 1)

for(int i=0; i<=9; i++)

position[i].X-= 2;

if(x=='s')

if(position[7].Y!= 23)

for(int i=0; i<=9; i++)

position[i].Y+= 1;

if(x=='d')

if(position[4].X!= 47)

for(int i=0; i<=9; i++)

position[i].X+= 2;

if(x=='w')

if(position[5].Y!= 3)

for(int i=0; i<=9; i++)

position[i].Y-= 1;

}

void Game::bulletMove()

{

for(int i=0; i<10; i++)

{

if( bullet[i].Y!= 30)

{

bullet[i].Y-= 1;

if( bullet[i].Y== 1)

{

COORD pos={bullet[i].X, bullet[i].Y+1};

drawThisBulletToNull( pos);

bullet[i].Y=30;

}

}

}

}

void Game::enemyMove()

{

for(int i=0; i<8; i++)

{

for(int j=0; j<2; j++)

enemy[i].position[j].Y++;

if(24== enemy[i].position[1].Y)

{

COORD a={1, 1};

COORD b={45, 3};

enemy[i].position[0]= random(a, b);

enemy[i].position[1].X= enemy[i].position[0].X+ 3;

enemy[i].position[1].Y= enemy[i].position[0].Y+ 2;

}

}

}

void Game::judgePlane()

{

for(int i= 0; i< 8; i++)

for(int j=0; j<9; j++)

if(judgeCoordInFrame(enemy[i], position[j]))

{

SetPos(62, 1);

cout<<"坠毁";

drawFrame(enemy[i],'+','+');

Sleep(1000);

GameOver();

break;

}

}

void Game::drawThisBulletToNull( COORD c)

{

SetPos(c);

cout<<"";

}

void Game::drawThisEnemyToNull( Frame f)

{

drawFrame(f,'','');

}

void Game::judgeEnemy()

{

for(int i= 0; i< 8; i++)

for(int j= 0; j< 10; j++)

if( judgeCoordInFrame(enemy[i], bullet[j]))

{

score+= 5;

drawThisEnemyToNull( enemy[i]);

COORD a={1, 1};

COORD b={45, 3};

enemy[i].position[0]= random(a, b);

enemy[i].position[1].X= enemy[i].position[0].X+ 3;

enemy[i].position[1].Y= enemy[i].position[0].Y+ 2;

drawThisBulletToNull( bullet[j]);

bullet[j].Y= 30;

}

}

void Game::Shoot()

{

for(int i=0; i<10; i++)

if(bullet[i].Y== 30)

{

bullet[i].X= position[5].X;

bullet[i].Y= position[5].Y-1;

break;

}

}

void Game::printScore()

{

if(score== 120&& flag_rank== 0)

{

rank-= 3;

flag_rank= 1;

}

else if( score== 360&& flag_rank== 1)

{

rank-= 5;

flag_rank= 2;

}

else if( score== 480&& flag_rank== 2)

{

rank-= 5;

flag_rank= 3;

}

int x=rank/5;

SetPos(60, 6);

cout<<score;

if( rank!=rankf)

{

SetPos(60, 7);

if( x== 5)

title="初级飞行员";

else if( x== 4)

title="中级飞行员";

else if( x== 3)

title="高级飞行员";

else if( x== 2)

title="王牌飞行员";

cout<<title;

}

rankf= rank;

}

void Game::Playing()

{

//HANDLE MFUN;

//MFUN= CreateThread(NULL, 0, MusicFun, NULL, 0, NULL);

drawEnemy();

drawPlane();

int flag_bullet= 0;

int flag_enemy= 0;

while(1)

{

Sleep(8);

if(_kbhit())

{

char x= _getch();

if('a'== x||'s'== x||'d'== x||'w'== x)

{

drawPlaneToNull();

planeMove(x);

drawPlane();

judgePlane();

}

else if('p'== x)

Pause();

else if('k'== x)

Shoot();

else if('e'== x)

{

//CloseHandle(MFUN);

GameOver();

break;

}

}

/*处理子弹*/

if( 0== flag_bullet)

{

bulletMove();

drawBulletToNull();

drawBullet();

judgeEnemy();

}

flag_bullet++;

if( 5== flag_bullet)

flag_bullet= 0;

/*处理敌人*/

if( 0== flag_enemy)

{

drawEnemyToNull();

enemyMove();

drawEnemy();

judgePlane();

}

flag_enemy++;

if( flag_enemy>= rank)

flag_enemy= 0;

/*输出得分*/

printScore();

}

}

void Game::GameOver()

{

system("cls");

COORD p1={28,9};

COORD p2={53,15};

drawFrame(p1, p2,'=','|');

SetPos(36,12);

string str="Game Over!";

for(int i=0; i<str.size(); i++)

{

Sleep(80);

cout<<str[i];

}

Sleep(1000);

system("cls");

drawFrame(p1, p2,'=','|');

SetPos(31, 11);

cout<<"击落敌机:"<<score/5<<"架";

SetPos(31, 12);

cout<<"得分:"<<score;

SetPos(31, 13);

cout<<"获得称号:"<<title;

SetPos(30, 16);

Sleep(1000);

cout<<"继续?是(y)|否(n)制作:老八";

as:

char x=_getch();

if(x=='n')

exit(0);

else if(x=='y')

{

system("cls");

Game game;

int a= drawMenu();

if(a== 2)

game.rank= 20;

system("cls");

drawPlaying();

game.Playing();

}

else goto as;

}

int main()

{

srand((int)time(0));

HideCursor();

Game game;

int a= drawMenu();

if(a== 2)

game.rank= 20;

system("cls");

drawPlaying();

game.Playing();

}

C++做一个小游戏,有源代码的最好,谢谢

#include<iostream>

#include<fstream>

#include<ctime>

#include<cmath>

#include<stdlib.h>

#include<stdio.h>//时间//文件

#include<string>

#define random(x)(rand()%x)

using namespace std;

void thunder(int Dif,int Row,int Column,char*USer)

{

int r,c,alls[22][22],backstage[22][22]={0};

srand((int)time(0));

for(r=1;r<=Row;r++)//生成alls(0~1)1是雷

{

for(c=1;c<=Column;c++)

{

if(random(6)<1){alls[r][c]=1;} else{alls[r][c]=0;};

}

};

for(r=0;r<=Row+1;r++)//生成 backstage(正确答案)

{

for(int c=0;c<=Column+1;c++)

{

if(alls[r][c]==1)

{

(int)backstage[r][c]='*';//将1变为*代表雷

}

else

{

for(int i=r-1;i<=r+1;i++)//将0变为数字(代表周围雷数)

for(int j=c-1;j<=c+1;j++)

{

if(alls[i][j]!=alls[r][c]&&alls[i][j]==1){backstage[r][c]++;};

}

};//else结束

};// for结束

};// for结束

cout<<"======================*********================================"<<endl;

char surface[22][22];//生成surface(用户界面)

for(r=0;r<22;r++)//全部为零

for(c=0;c<22;c++)

{

surface[r][c]='0';

}

for(r=1;r<=Row;r++)//中间化#形成0包围#的形式(通过数#-->(*||数字)的个数赢的时候停止循环)

for(c=1;c<=Column;c++)

{

surface[r][c]='#';

}

for(r=1;r<=Row;r++)//输出 surface界面便于检查

{

for(c=1;c<=Column;c++){cout<<""<<surface[r][c];};

cout<<endl;

};

cout<<"请按格式输入"<<endl

<<"前两个数字为坐标,最后一个数字“1”表示此位置为雷,“0”则表示不是。"<<endl

<<"如:1 3 1表示一行三列是雷;2 4 0表示二行四列不是雷"<<endl

<<"提示:当数字周围雷都被扫出时,可再次按要求输入此位置,可得到周围数字。"<<endl;

long i=10000000L;//计算时间开始

clock_t start,finish;

double duration;

start=clock();

while(i--);//计算时间开始

int num=Row*Column;//计算#号个数

while(num!=0)//控制是否点完所有位置

{

int x,y,judge;

cin>>x>>y>>judge;

if(alls[x][y]!=judge)

{

cout<<"you lose!!!"<<endl;

cout<<"The answer is:"<<endl;

for(r=1;r<=Row;r++)//输了输出backstage显示正确答案

{

for(int c=1;c<=Column;c++)

{

cout<<""<<(char)(backstage[r][c]==42?backstage[r][c]:backstage[r][c]+'0');//输出backstage

}

cout<<endl;

}

break;

}

else

{

if(alls[x][y]==1){if(surface[x][y]=='#'){num--;}surface[x][y]='@';}//雷判断正确显示“@”;数“#”

else

{

if(backstage[x][y]!=0)//数字判断正确显示数字

{

if(surface[x][y]=='#'){num--; surface[x][y]=backstage[x][y]+'0';}//数“#”

else

{

int lei_num=0;

for(int i=x-1;i<=x+1;i++)//数数字周围雷的个数

for(int j=y-1;j<=y+1;j++)

{

if(surface[i][j]=='@')

lei_num++;

}

if(backstage[x][y]==lei_num)//看数字周围雷是否全部扫出提示显示数字周围

{

for(int i=x-1;i<=x+1;i++)

for(int j=y-1;j<=y+1;j++)

if(surface[i][j]=='#')//数“#”

{

surface[i][j]=backstage[i][j]+'0';

num--;

}

}

}

}

else//数字为零时显示零周围的零

{

if(surface[x][y]=='#'){num--;};//数“#”

surface[x][y]=backstage[x][y]+'0';

for(int i=x-1;i<=x+1;i++)//显示零周围的数字

for(int j=y-1;j<=y+1;j++)

if(surface[i][j]=='#')//避免死循环

{

surface[i][j]=backstage[i][j]+'0';

num--;//数“#”

}

for(int k=0;k<20;k++)//最多20层零(点出最边上的零)

{

for(int R=1;R<=Row;R++)//检查所有零

for(int C=1;C<=Column;C++)//再次显示零周围的数字

{

if(surface[R][C]=='0')

{

for(int i=R-1;i<=R+1;i++)

for(int j=C-1;j<=C+1;j++)

{

if(surface[i][j]=='#')//避免死循环数“#”

{

surface[i][j]=backstage[i][j]+'0';

num--;

}

}

}

}//匹配for内

}//匹配 for外

}//匹配else

}//匹配else

}//匹配els

cout<<endl;

cout<<"======================*********================================"<<endl;

for(r=1;r<=Row;r++)//输出界面(已修改)

{

for(c=1;c<=Column;c++){cout<<""<<surface[r][c];};

cout<<endl;

};

}//匹配while

finish=clock();//计算时间结束

duration=(double)(finish-start)/CLOCKS_PER_SEC;//时间变量

if(num==0)//所有

{

cout<<" You win! Congratulations!!"<<endl;

cout<<" Your time is:"<<duration<<endl;

if(Dif==1)//读取简单扫雷的存储文件

{

string Name;

string name[6];

double Time,rang;

double times[6];

int i=0;

ifstream inf("扫雷简单.txt");

for(i=0;i<5;i++)//文件中信息导入到数组里

{

inf>>Name;inf>>rang>>Time;

name[i]=Name;

times[i]=Time;

}

inf.close();

name[5]=USer;//本轮玩家信息

times[5]=duration;

double t1=0;

string t2;

for(int j=0;j<5;j++)//冒泡排序法

{

for(i=0;i<5-j;i++)

{

if(times[i]>times[i+1])

{

t1=times[i];

times[i]=times[i+1];

times[i+1]=t1;

t2=name[i];

name[i]=name[i+1];

name[i+1]=t2;

}

}

}

ofstream outf("扫雷简单.txt");

for(i=0;i<5;i++)//将前五名玩家信息存储到文件中

{

cout<<name[i]<<""<<i+1<<""<<times[i]<<endl;

outf<<name[i]<<""<<i+1<<""<<times[i]<<endl;

}

outf.close();

}

if(Dif==2)//读取一般扫雷的存储文件

{

string Name;

string name[6];

double Time,rang;

double times[6];

int i=0;

ifstream inf("扫雷一般.txt");

for(i=0;i<5;i++)//文件中信息导入到数组里

{

inf>>Name;inf>>rang>>Time;

name[i]=Name;

times[i]=Time;

}

inf.close();

name[5]=USer;//本轮玩家信息

times[5]=duration;

double t1=0;

string t2;

for(int j=0;j<5;j++)//冒泡排序法

{

for(i=0;i<5-j;i++)

{

if(times[i]>times[i+1])

{

t1=times[i];

times[i]=times[i+1];

times[i+1]=t1;

t2=name[i];

name[i]=name[i+1];

name[i+1]=t2;

}

}

}

ofstream outf("扫雷一般.txt");

for(i=0;i<5;i++)//将前五名玩家信息存储到文件中并输出

{

cout<<name[i]<<""<<i+1<<""<<times[i]<<endl;

outf<<name[i]<<""<<i+1<<""<<times[i]<<endl;

}

outf.close();

}

if(Dif==3)//读取困难扫雷的存储文件

{

string Name;

string name[6];

double Time,rang;

double times[6];

int i=0;

ifstream inf("扫雷困难.txt");

for(i=0;i<5;i++)//文件中信息导入到数组里

{

inf>>Name;inf>>rang>>Time;

name[i]=Name;

times[i]=Time;

}

inf.close();

name[5]=USer;//本轮玩家信息

times[5]=duration;

double t1=0;

string t2;

for(int j=0;j<5;j++)//冒泡排序法

{

for(i=0;i<5-j;i++)

{

if(times[i]>times[i+1])

{

t1=times[i];

times[i]=times[i+1];

times[i+1]=t1;

t2=name[i];

name[i]=name[i+1];

name[i+1]=t2;

}

}

}

ofstream outf("扫雷困难.txt");

for(i=0;i<5;i++)//将前五名玩家信息存储到文件中

{

cout<<name[i]<<""<<i+1<<""<<times[i]<<endl;

outf<<name[i]<<""<<i+1<<""<<times[i]<<endl;

}

outf.close();

}

}

}

void scale(int dif,char*User)//选择难度

{

int row,column;

if(dif==1){row=3;column=3;}

if(dif==2){row=7;column=7;}

if(dif==3){row=10;column=10;}

cout<<"The scale is:"<<row<<"*"<<column<<endl;

thunder(dif,row,column,User);

};

int main()

{

int Continue=1;

int difficulty;

char user[10];

cout<<" Welcom to the game!"<<endl

<<"请输入用户名!"<<endl;

cin>>user;

while(Continue==1)

{

cout<<"=======================*******************======================="<<endl

<<"请选择难度!"<<endl

<<"简单——1"<<endl

<<"一般——2"<<endl

<<"困难——3"<<endl;

cin>>difficulty;

scale(difficulty,user);

cout<<"继续游戏——1结束游戏——0"<<endl;

cin>>Continue;

}

return 0;

}

扫雷小游戏,自己编的代码

好了,关于c++小游戏代码和c++小游戏简单代码的问题到这里结束啦,希望可以解决您的问题哈!

优源码官方下载 优缘码官方正版下载服务器购买平台?服务器购买