c++代码实现我的世界(3)续(3)

本文介绍了在C++编程中,作者为了避免使用可能超出内存限制的三维数组,选择了使用嵌套结构体的方式进行数据存储。代码示例中展示了如何定义和使用这些结构体,包括worldx、worldy、Food和Blocks等,适用于模拟游戏世界的场景。作者还提及了对于某些属性的处理,如光、高度、掉落和合成表等。
摘要由CSDN通过智能技术生成

c++代码编写我的世界

前言

大家好,小编在这里先道个歉。上一次写的是错的,由于我们用的是结构体,于是就需要乘上项目数:4。一算,就知道我们超了2147483647。

计算

在小编的计算下,计算出的结果小的可怜:

world1[481][387][480]

所以说,小编不想用三维数组。

最后

小编想对大家说明一下,我们不用三维数组(至少在定义世界里)。

代码

然后就是我们的代码:

#include<bits/stdc++.h>
using namespace std;
struct worldx{
    struct worldy{
        int z_block1[510];
        int z_block2[510];
        double z_high[510];
        short z_light[510];
    }y[400];
}world1[510],world2[510],world3[510];
struct Food {
    unsigned short bake_fool=0;
    unsigned short bake_hart=0;
    string En,Cn;
    bool can_cook=0;
    int th1,th2,th3,th4,th5,th6,th7,th8,th9;
}M_food[1000];
struct Blocks{
    int thing1,thing2,thing3,thing4,thing5,thing6,thing7,thing8,thing9;//合成表
    unsigned light=0;//光
    string En,Cn;//名字
    unsigned int fall=1;//掉落(模组)
    bool xushi=1,gwxushi=1;//虚实
    bool fall=0;//是否掉落
    double high=1;//高度
    unsigned get_tool=0;//工具
    unsigned fumo_tool=0;//附魔(不需要==0)
    double get_time=0;//获取时间
    short bake_jump;//类粘液块方块
    unsigned fangxiang=0;//放置方向
}block1[100000],block2[10000],block3[5000];//主世界、下界、末地
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值