推箱子游戏

发布时间 2023-08-08 20:29:26作者: 王ys
#include <iostream>
#include <iomanip>
#include <Windows.h>
using namespace std;
int main(int argc, char** argv) {
	int h=20;
	int l=20;
	int x=3;
	int y=3;
	char a;
	int q_x=5;
	int q_y=5;
	while(1){
		for(int i=0;i<h;i++){
			for(int ii=0;ii<l;ii++){
				if((i==y&&ii==x)||(i==q_y&&ii==q_x)){
					if(i==q_y&&ii==q_x){
					cout<<setw(2)<<"■";
					}
					if(i==y&&ii==x){
					cout<<setw(2)<<"O";
					}
				}else{
						cout<<setw(2)<<".";
					}
			}
			cout<<endl;
		}
		cout<<"输入wasd控制方向,# 退出"<<endl; 
		cin>>a;
		if(a=='w'){
			y--;
			if(q_y==y&&q_x==x){
				q_y--;
			}
			if(y<0){
				y=0;
			}
		}else if(a=='s'){
			y++;
			if(q_y==y&&q_x==x){
				q_y++;
			}
			if(y>=h){
				y=h-1;
			}
		}else if(a=='a'){
			x--;
			if(q_y==y&&q_x==x){
				q_x--;
			}
			if(x<0){
				x=0;
			}
		}else if(a=='d'){
			x++;
			if(q_y==y&&q_x==x){
				q_x++;
			}
			if(x>=l){
				y=l-1;
			}
		}else if(a=='#'){
			return 0;
		}
		system("cls");
	}
	return 0;
}