#include<iostream>
#include<cstdlib>
#include <ctime>
#include<windows.h>
#include<conio.h>
using namespace std;
void colour(int ForgC, int BackC) {
WORD wColor = ((BackC & 0x0F) << 4) + (ForgC & 0x0F);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), wColor);
}
int main(){
int hp=3;
srand((unsigned int)time(NULL));
int room1[20][30],bag[5][5],playerx=2,playery=2;
for(int i=1;i<19;i++){
for(int j=1;j<29;j++){
if(rand()%50==0){
room1[i][j]=1;
}else if(rand()%80==0){
room1[i][j]=2;
}else{
room1[i][j]=0;
}
// cout<<room1[i][j];
}
// cout<<endl;
}
for(int j=0;j<29;j++){
room1[1][j]=3;
}for(int j=1;j<29;j++){
room1[19][j]=3;
}for(int j=1;j<20;j++){
room1[j][0]=3;
}for(int j=1;j<19;j++){
room1[j][28]=3;
}
for(int i=0;i<5;i++){
for(int j=1;j<5;j++){
bag[i][j]=0;
}
}
while(1==1){
system("cls");
cout<<"血量:"<<hp<<"按esc进入背包"<<endl<<endl;
for(int i=0;i<20;i++){
for(int j=0;j<30;j++){
if(j==playerx&&i==playery){
colour(8,0);
cout<<"我";
}else if(room1[i][j]==1){
colour(2,0);
cout<<"树";
}else if(room1[i][j]==2){
colour(8,0);
cout<<"石";
}else if(room1[i][j]==0){
colour(0,0);
cout<<" ";
}else if(room1[i][j]==3){
colour(3,0);
cout<<"水";
}
}
cout<<endl;
}
int move;
while(1==1){
if(_kbhit()){
move=getch();
if(move=='w'){
if(room1[playery-1][playerx]==0){
playery--;
break;
}
}else if(move=='a'){
if(room1[playery][playerx-1]==0){
playerx--;
break;
}
}else if(move=='s'){
if(room1[playery+1][playerx]==0){
playery++;
break;
}
}else if(move=='d'){
if(room1[playery][playerx+1]==0){
playerx++;
break;
}
}else if(move==27){
for(int q=0;q<5;q++){
for(int j=0;j<5;j++){
if(bag[q][j]==0){
cout<<"|"<<" "<<"|";
}else if(bag[q][j]==1){
cout<<"|"<<"木头"<<"|";
}
}
cout<<endl<<"________________________________________"<<endl;
}
}
if(move=='w'){
if(room1[playery-1][playerx]==1){
if(rand()%10==0){
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
if(bag[i][j]==0){
bag[i][j]==1;
}
}
}
break;
}
}
}else if(move=='a'){
if(room1[playery][playerx-1]==1){
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
if(bag[i][j]==0){
bag[i][j]==1;
}
}
}
break;
}
}else if(move=='s'){
if(room1[playery+1][playerx]==1){
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
if(bag[i][j]==0){
bag[i][j]==1;
}
}
}
break;
}
}else if(move=='d'){
if(room1[playery][playerx+1]==1){
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
if(bag[i][j]==0){
bag[i][j]==1;
}
}
}
break;
}
}
}else{
Sleep(10);
}
}
}
}
10-09
226
226
07-25
1万+
1万+
07-25
5946
5946






