#include "stdafx.h"#include<iostream>#include<stdlib.h>#include<conio.h>using namespace std;int main(){ bool movedown(int& x,int& y); bool moveup(int& x,int& y); bool moveright(int& x,int& y); bool moveleft(int& x,int& y); bool success=false; void pritemap(); pritemap(); int x=1; int y=1; char ch; while(ch=getch()) {switch(ch) { case'w':success=moveup(x,y);system("cls");pritemap();break; case's':success=movedown(x,y);system("cls");pritemap();break; case'a':success=moveleft(x,y);system("cls");pritemap();break; case'd':success=moveright(x,y);system("cls");pritemap();break; } if(success) {cout<<"success"<<endl; return 0;}} return 0;}int map[10][10]={ {1,1,1,1,1,1,1,1,0,0}, {1,2,0,0,0,0,0,1,0,0}, {1,1,1,1,1,0,0,1,0,0}, {0,1,4,0,0,0,0,1,0,0}, {0,1,1,1,1,0,1,1,0,0}, {1,1,1,1,1,0,1,1,1,1}, {1,0,0,0,0,0,3,0,0,1}, {1,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,0,0,1}, {1,1,1,1,1,1,1,1,1,1},};void pritemap(){ for(int i=0;i<10;i++) {for(int j=0;j<10;j++) { if(map[i][j]==1) cout<<"* "; else if(map[i][j]==0) cout<<" "; else if(map[i][j]==2) cout<<"! "; else if(map[i][j]==4) cout<<"@ "; else if(map[i][j]==5) cout<<"&"; else cout<<"# "; } cout<<endl;}}bool moveright(int& x,int& y){ bool success = false ; if(map[y][x+2] == 0&&map[y][x+1]==3 ) { map[y][x] = 0; x++; map[y][x] = 2; map[y][x+1]=3; } else if(map[y][x+1]==0) { map[y][x]=0; x++; map[y][x]=2; } else if(map[y][x+2] == 4) { map[y][x] = 0; x++; map[y][x] = 2; map[y][x+1]=5; success = true ; } return success;}bool moveleft(int& x,int& y){ bool success = false ; if(map[y][x-2] == 0&&map[y][x-1]==3 ) { map[y][x] = 0; x--; map[y][x] = 2; map[y][x-1]=3; } else if(map[y][x-1]==0) { map[y][x]=0; x--; map[y][x]=2; } else if(map[y][x-2] == 4) { map[y][x] = 0; x--; map[y][x] = 2; map[y][x-1]=5; success = true ; } return success;}bool movedown(int& x,int& y){ bool success = false ; if(map[y+2][x] == 0&&map[y+1][x]==3 ) { map[y][x] = 0; y++; map[y][x] = 2; map[y+1][x]=3; } else if(map[y+1][x]==0) { map[y][x]=0; y++; map[y][x]=2; } else if(map[y+2][x] == 4) { map[y][x] = 0; y++; map[y][x] = 2; map[y+1][x]=5; success = true ; } return success;}bool moveup(int& x,int& y){ bool success = false ; if(map[y-2][x] == 0&&map[y-1][x]==3 ) { map[y][x] = 0; y--; map[y][x] = 2; map[y-1][x]=3; } else if(map[y-1][x]==0) { map[y][x]=0; y--; map[y][x]=2; } else if(map[y-2][x] == 4) { map[y][x] = 0; y--; map[y][x] = 2; map[y-1][x]=5; success = true ; } return success;}
第一次发表,捧个场!!!!呵呵。。。。