七天写个简易版 Minecraft - 结题报告(附源代码仓库地址)

基于《我的世界》灵感,开发了一个简易版Minecraft。实现了随机地形生成、摄像机漫游、方块放置与破坏等功能。采用C++编程,使用OpenGL库。虽然存在无限地形渲染和背包系统的优化空间,但团队成员对MVVM模式和协作开发有了深入理解,提升了图形学和项目管理技能。
摘要由CSDN通过智能技术生成

项目简介

项目描述

​ 参考3D沙盒游戏minecraft(中文名:我的世界),做一个简易版minecraft。玩家根据第一视角可在生成的有限随机地图中随意移动,损毁方块或放置方块,搭建属于自己的方块世界。

版本库:https://github.com/yunwei37/mc/

操作规则

1、开启游戏:在游戏开始界面中按“Enter”键

2、位置移动:在当前视角方向下,“W”键向前、“S”键向后、“A”键向左,“D”键向右,“Q”键向上,“Z”键向下

3、第一视角移动:运用鼠标的移动可以改变玩家第一视角

4、方块放置与损毁:鼠标右键仿放置方块,鼠标左键销毁方块

5、放置方块转换:“1”键换soil,“2”键换stone,“3”键换stone brick,“4”键换sand,“5”键换bark,“6”键换cactus

验收测试

1、源代码在MC\MC文件中,含各级目录树

2、release测试版本在MC\Setup1\Release中,运行setup1.msi

项目需求

基本目标

1、实现基本地形生成

2、实现摄像机漫游

3、实现方块的放置和破坏

高级选项

1、实现无限地形、可重入的地形存储系统

2、丰富的方块类型

3、背包系统

项目开发

迭代计划

第一轮迭代 第二轮迭代 第三轮迭代
用时 2天 3天 2天
成果 实现基本地形生成、摄像机漫游 扩增多种地形、增加植物群系、优化随机的地表高度(使其更符合自然地势) 实现基本的的方块放置和破坏功能

开发技术和工具

工具
编程语言 C++17
开发环境 visual studio 2019
开发系统 Windows
版本控制 Git,Github
持续集成 appveyor
相关库 openGL、glm、freetype等
开发模式 MVVM
交流协作 QQ

小组分工

第一轮迭代 第二轮迭代 第三轮迭代
(id: diaoshaoyou) view层、文档、直播汇报 测试与集成、app层 model层、viewmodel层、文档
(id:yunwei37) model层、viewmodel层 view层、文档 app层、测试与集成
(id:ycrisp) 测试与集成、app层 model层、viewmodel层 view层、直播汇报

项目成果

游戏效果图

1、封面

在这里插入图片描述

图1 封面

2、不同地形各处风景

在这里插入图片描述

图2 斜坡与植物群

在这里插入图片描述

图3 森林与植物群

在这里插入图片描述

图4 仰视云朵

在这里插入图片描述

图5 海边风景

3、放置与损毁方块

在这里插入图片描述

图6 放置不同类型的方块

在这里插入图片描述

图7 销毁草地方块

代码框架

好的,下面我将给你一个简单的 Minecraft 插件示例,该插件将在玩家加入服务器时向他们发送欢迎消息。这个插件是使用 Java 编写的,你需要了解一些 Java 编程知识才能理解。 首先,你需要一个开发环境。我建议使用 IntelliJ IDEA,因为它是一个非常好的 Java 开发 IDE,而且有一个免费的社区版。你还需要安装 Minecraft 服务器和 Bukkit API。 现在让我们开始编写插件。首先,创建一个新的 Java 项目,然后添加 Bukkit API 到你的项目依赖中。在 IntelliJ IDEA 中,你可以通过右键单击项目名称,然后选择“Open Module Settings”来打开项目配置。 在项目配置中,选择“Libraries”选项卡,然后单击“+”按钮,选择“From Maven...”选项。在搜索框中输入“bukkit”,然后选择最新版本的 Bukkit API,单击“OK”按钮。 现在你已经添加了 Bukkit API,可以开始编写插件了。创建一个新的 Java 类,命名为“WelcomePlugin”。这个类需要实现 Bukkit 的 Plugin 接口,所以让它继承 org.bukkit.plugin.java.JavaPlugin 类。这个类也需要一个 @Plugin 注释,这是告诉 Bukkit 你的插件的信息。 在 WelcomePlugin 类中,添加一个 onEnable() 方法,这个方法将在插件加载时被调用。我们将在这个方法中注册一个事件监听器,以便在玩家加入服务器时发送欢迎消息。 ```java import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.plugin.java.JavaPlugin; @Plugin(name = "WelcomePlugin", version = "1.0") public class WelcomePlugin extends JavaPlugin implements Listener { @Override public void onEnable() { // 注册事件监听器 getServer().getPluginManager().registerEvents(this, this); } // 玩家加入服务器事件 @EventHandler public void onPlayerJoin(PlayerJoinEvent event) { Player player = event.getPlayer(); // 发送欢迎消息 player.sendMessage(ChatColor.GREEN + "欢迎来到我的服务器," + player.getName() + "!"); } } ``` 现在你已经创建了一个简单的 Minecraft 插件,当玩家加入服务器时,将向他们发送欢迎消息。你可以使用 Maven 打包成 jar 文件,然后将其放入 Minecraft 服务器的 plugins 文件夹中。现在你可以启动 Minecraft 服务器并尝试加入,看看是否会收到欢迎消息。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值