猫史档案馆


【Python作品分享】简易版我的世界

用户:机敏的导弹鲨SAon机敏的导弹鲨SAon查看:0 回复:3 评论:0 创建时间:2023-04-14T17:39:10


【作品展示】

center_image

 

【作品介绍】

玩过我的世界的应该都会玩吧

wasd - 移动

空格 - 跳跃

鼠标左键 - 撸方块

鼠标右键 - 放方块

主要用的库是ursina,实现了3D和第一人称视角,还有perlin_noise(柏林噪音),这个库实现了随机地形的效果,第23和第24行中的“50”和“50”可以修改,他们决定着地图大小,不建议改的太大,可能会稍微卡顿一下,不过不要紧,我只是还原了我的世界的初步功能,大家也可以在我的基础上继续修改。哦,对了,这是我的第二个发布的作品,我以后会继续努力的!(喜欢就评论一下吧!)

 

【作品源代码】

from ursina import *
from ursina.prefabs.first_person_controller import FirstPersonController
from perlin_noise import PerlinNoise

octaves=int(input("请输入世界种子1(1-5,也可以很大):"))
seed=int(input("请输入世界种子2:"))

class Block(Button):
    def __init__(self,position=(0,0,0)):
        super().__init__(parent=scene,position=position,model='cube',orgin_y=0.5,texture='white_cube',color=color.color(0,0,random.uniform(0.9,1)),highlight_color=color.green)

    def input(self,key):
        if self.hovered:
            if key=='left mouse down':
                destroy(self)
            if key=='right mouse down':
                block=Block(position=self.position+mouse.normal)

app=Ursina()

noise=PerlinNoise(octaves=octaves,seed=seed)

for z in range(50):
    for x in range(50):
        block=Block(position=(x,0,z))
        block.y=floor(noise([x/24,z/24])*8)

player=FirstPersonController()

sky=Sky()

app.run()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
机敏的导弹鲨SAon机敏的导弹鲨SAon

大家好,我是一个刚学python编程没多久的十岁的小学生,希望大家多多关照,有做的不好的地方我非常欢迎你来评价,但请不要乱说。

点赞1


评论


一只斑点狗一只斑点狗

 

@机敏的导弹鲨SAon,我也是,你的作品很好,已关

点赞0


评论


GcehuryGcehury

喵d

点赞0


评论