最近我发现,我身边的人好像都在玩我的世界,于是 闲着没事做 为了磨练自己,
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;
}
成品:
都看到这里了,点个赞再走吧❤