我的世界(简易版)—— c++

最近我发现,我身边的人好像都在玩我的世界,于是 闲着没事做 为了磨练自己,

c++我的世界,TA来了!

查看下个版本歪比吧波~( ̄▽ ̄)~* 的c++我的世界

先导入头文件(有一些没用):

#include<bits/stdc++.h>
#include<unistd.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#include<iostream>
#include<Windows.h>
using namespace std;
int world_map[30][30],nventory_article[8];
int player_x=1,player_y=1;
using namespace std;

再整理函数:

        颜色函数:

        

void color(int n)//颜色
{
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), n);
	return;
}

        反馈挖掘函数:

void block_excavate(int excavate_x,int excavate_y){
	if(world_map[excavate_y][excavate_x]==1){
		world_map[excavate_y][excavate_x]=0;
		nventory_article[0]+=4;
		nventory_article[1]+=3;
		nventory_article[2]+=6;
		nventory_article[3]+=2;
	}else if(world_map[excavate_y][excavate_x]==2){
		world_map[excavate_y][excavate_x]=0;
		nventory_article[4]+=4;
	}
	return;
}

        输出物品函数:

        

void Out_article(int n){
	color(15);
	if(n==0) cout<<"木头:"<<nventory_article[n];
	else if(n==1) cout<<"木棍:"<<nventory_article[n];
	else if(n==2) cout<<"树叶:"<<nventory_article[n];
	else if(n==3) cout<<"苹果:"<<nventory_article[n];
	else if(n==4) cout<<"石头:"<<nventory_article[n];
	return;
}

        世界初始化函数:

        

void world_map_c(){
	int sth=0;
	srand((unsigned int)time(NULL));
	for(int i=0;i<30;i++)
		for(int j=0;j<30;j++){
			sth=rand()%5;
			if(sth<=2){
				world_map[i][j]=0;
			}else if(sth==3){
				world_map[i][j]=1;
			}else{
				world_map[i][j]=2;
			}
		}
	return;
}

        刷新函数:

void world_map_s(){
	for(int i=0;i<30;i++){
		for(int j=0;j<30;j++){
			if(i==player_y and j==player_x){
				color(240);
				cout<<"我";
			}else if(world_map[i][j]==0){
				color(175);
				cout<<"草";
			}else if(world_map[i][j]==1){
				color(162);
				cout<<"树";
			}else{
				color(120);
				cout<<"石";
			}
		}
		Out_article(i);
		cout<<endl;
	}
	color(0);
	cout<<' ';
	return;
}

        移动/挖掘函数:

        

void world_map_p(){
	while(1){
		char into;
		into=getch();
		system("cls");
		if(into=='a') player_x--;
		else if(into=='d') player_x++;
		else if(into=='w') player_y--;
		else if(into=='s') player_y++;
		else if(into=='t') block_excavate(player_x,player_y-1);
		else if(into=='g') block_excavate(player_x,player_y+1);
		else if(into=='f') block_excavate(player_x-1,player_y);
		else if(into=='h') block_excavate(player_x+1,player_y);
		else break;
		world_map_s();
	}
	return;
}

        最后,主函数:

        

int main()
{
	world_map_c();
	world_map_p();
	return 1;
}

整理一下:

注:运行开始时按下s即可显示,wasd移动,htfg挖掘反向(草不可挖掘)

#include<bits/stdc++.h>
#include<unistd.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#include<iostream>
#include<Windows.h>
using namespace std;
int world_map[30][30],nventory_article[8];
int player_x,player_y;
using namespace std;
void color(int n)//颜色
{
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), n);
	return;
}
void block_excavate(int excavate_x,int excavate_y){
	if(world_map[excavate_y][excavate_x]==1){
		world_map[excavate_y][excavate_x]=0;
		nventory_article[0]+=4;
		nventory_article[1]+=3;
		nventory_article[2]+=6;
		nventory_article[3]+=2;
	}else if(world_map[excavate_y][excavate_x]==2){
		world_map[excavate_y][excavate_x]=0;
		nventory_article[4]+=4;
	}
	return;
}
void Out_article(int n){
	color(15);
	if(n==0) cout<<"木头:"<<nventory_article[n];
	else if(n==1) cout<<"木棍:"<<nventory_article[n];
	else if(n==2) cout<<"树叶:"<<nventory_article[n];
	else if(n==3) cout<<"苹果:"<<nventory_article[n];
	else if(n==4) cout<<"石头:"<<nventory_article[n];
	return;
}
void world_map_c(){
	int sth=0;
	srand((unsigned int)time(NULL));
	for(int i=0;i<30;i++)
		for(int j=0;j<30;j++){
			sth=rand()%5;
			if(sth<=2){
				world_map[i][j]=0;
			}else if(sth==3){
				world_map[i][j]=1;
			}else{
				world_map[i][j]=2;
			}
		}
	return;
}
void world_map_s(){
	for(int i=0;i<30;i++){
		for(int j=0;j<30;j++){
			if(i==player_y and j==player_x){
				color(240);
				cout<<"我";
			}else if(world_map[i][j]==0){
				color(175);
				cout<<"草";
			}else if(world_map[i][j]==1){
				color(162);
				cout<<"树";
			}else{
				color(120);
				cout<<"石";
			}
		}
		Out_article(i);
		cout<<endl;
	}
	color(0);
	cout<<' ';
	return;
}
void world_map_p(){
	while(1){
		char into;
		into=getch();
		system("cls");
		if(into=='a') player_x--;
		else if(into=='d') player_x++;
		else if(into=='w') player_y--;
		else if(into=='s') player_y++;
		else if(into=='t') block_excavate(player_x,player_y-1);
		else if(into=='g') block_excavate(player_x,player_y+1);
		else if(into=='f') block_excavate(player_x-1,player_y);
		else if(into=='h') block_excavate(player_x+1,player_y);
		else break;
		world_map_s();
	}
	return;
}
int main()
{
	world_map_c();
	world_map_p();
	return 1;
}

成品:

都看到这里了,点个赞再走吧❤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值