游戏
2026-05-31 21:27:29
发布于:浙江
上代码!!!
#include<iostream>
#include<windows.h>
#include<conio.h>
#include<time.h>
#include<string>
using namespace std;
int i,j,x,y,bushu,n,m,bjx,bjy,xx,ps;
char fx,f[1010][1010];
void cmp1(int x, int y){
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos = {x, y};
SetConsoleCursorPosition(hConsole, pos);
}
void cmp2(){
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
COORD coordScreen = {0, 0};
DWORD dwWritten;
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo(hConsole, &csbi);
DWORD dwConSize = csbi.dwSize.X * csbi.dwSize.Y;
FillConsoleOutputCharacter(hConsole, ' ', dwConSize, coordScreen, &dwWritten);
SetConsoleCursorPosition(hConsole, coordScreen);
}
void cmp3(){
CONSOLE_CURSOR_INFO cursor_info = {1, 0};
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
void game(){
cmp3();
cin>>n;cmp2();cin>>m;cmp2();
for(i=1;i<=n;i++)
for(j=1;j<=m;j++) cin>>f[i][j];
cmp2();
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(f[i][j]=='*') f[i][j]=' ';
cmp2();
cout<<"准备好了吗?\n";
Sleep(2000);
cmp2();
cout<<"游戏要开始了!\n";
Sleep(2000);
cmp2();
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
cmp1(j-1,i-1);
cout<<f[i][j];
}
cout<<"\n";
}
for(i=1;i<=n;i++){
for(j=1;j<=m;j++)
if(f[i][j]=='k'){
x=i;y=j;break;
}
if(j!=m+1) break;
}
for(i=1;i<=n;i++){
for(j=1;j<=m;j++)
if(f[i][j]=='$'){
bjx=i;bjy=j;break;
}
if(j!=m+1) break;
}
bushu=0;
Sleep(2000);
cmp3();
while(x!=bjx||y!=bjy){
fx=getch();
if(fx==75||fx=='a'||fx=='A'){
if(f[x][y-1]=='@'){
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
cmp1(j-1,i-1);
cout<<f[i][j];
}
cout<<"\n";
}
}
else if(x<1||y<1||x>n||y>m){
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
cmp1(j-1,i-1);
cout<<f[i][j];
}
cout<<"\n";
}
}
else{
bushu++;
f[x][y-1]='k';f[x][y]=' ';y--;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
cmp1(j-1,i-1);
cout<<f[i][j];
}
cout<<"\n";
}
}
}
if(fx==77||fx=='d'||fx=='D'){
if(f[x][y+1]=='@'){
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
cmp1(j-1,i-1);
cout<<f[i][j];
}
cout<<"\n";
}
}
else if(x<1||y<1||x>n||y>m){
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
cmp1(j-1,i-1);
cout<<f[i][j];
}
cout<<"\n";
}
}
else{
bushu++;
f[x][y+1]='k';f[x][y]=' ';y++;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
cmp1(j-1,i-1);
cout<<f[i][j];
}
cout<<"\n";
}
}
}
if(fx==72||fx=='w'||fx=='W'){
if(f[x-1][y]=='@'){
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
cmp1(j-1,i-1);
cout<<f[i][j];
}
cout<<"\n";
}
}
else if(x<1||y<1||x>n||y>m){
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
cmp1(j-1,i-1);
cout<<f[i][j];
}
cout<<"\n";
}
}
else{
bushu++;
f[x-1][y]='k';f[x][y]=' ';x--;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
cmp1(j-1,i-1);
cout<<f[i][j];
}
cout<<"\n";
}
}
}
if(fx==80||fx=='s'||fx=='S'){
if(f[x+1][y]=='@'){
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
cmp1(j-1,i-1);
cout<<f[i][j];
}
cout<<"\n";
}
}
else if(x<1||y<1||x>n||y>m){
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
cmp1(j-1,i-1);
cout<<f[i][j];
}
cout<<"\n";
}
}
else{
bushu++;
f[x+1][y]='k';f[x][y]=' ';x++;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
cmp1(j-1,i-1);
cout<<f[i][j];
}
cout<<"\n";
}
}
}
}
cmp2();
cout<<"你赢了!\n";
Sleep(1000);system("pause");cmp2();
cout<<"共用了"<<bushu<<"步\n";
Sleep(1000);system("pause");cmp2();
cout<<"获得奖金无数!!!"<<"\n";
system("pause");
}
int main(){
system("pause");
cmp2();
cout<<"开始游戏!\n";
Sleep(2000);
cmp2();
cout<<"----------------------\n";
cout<<"| |\n";
cout<<"----------------------\n";
cout<<"正在加载...";
for(i=2;i<=21;i++){
cmp1(i-1,1);
cout<<"#";
Sleep(300);
}
Sleep(2000);
cmp2();
cout<<"加载成功!";
Sleep(2000);
cmp2();
cout<<"请输入地图!";
Sleep(2000);
cmp2();
while(1){
cout<<"请输入地图!";
Sleep(2000);
cmp2();
game();cmp2();
cout<<"游戏结束!\n";
Sleep(1000);
cmp2();
cout<<"是否继续游戏?\n";
Sleep(1000);
cmp2();
cout<<"是.1 否.2\n";
Sleep(1000);
cin>>xx;
cmp2();
if(xx==2){
cout<<"----------------------\n";
cout<<"| |\n";
cout<<"----------------------\n";
cout<<"正在退出...";
for(i=2;i<=21;i++){
cmp1(i-1,1);
cout<<"#";
Sleep(500);
}
Sleep(1000);
cmp2();
cout<<"退出成功!\n";
return 0;
}
}
return 0;
}
给个赞!





















































































有建议私信,万分感谢!!!
全部评论 3
d
4小时前 来自 浙江
0d
4小时前 来自 浙江
0d
4小时前 来自 浙江
0




















有帮助,赞一个