在好例子网,分享、交流、成长!
您当前所在位置:首页Python 开发实例Python网络编程 → 我的世界代码+素材

我的世界代码+素材

Python网络编程

下载此实例
  • 开发语言:Python
  • 实例大小:0.02M
  • 下载次数:13
  • 浏览次数:87
  • 发布时间:2021-10-13
  • 实例类别:Python网络编程
  • 发 布 人:艾尔翔
  • 文件格式:.zip
  • 所需积分:3
 相关标签: 我的世界 素材 代码

实例介绍

【实例简介】无
【实例截图】
【核心代码】
def tex_coord(x, y, n=4):
""" Return the bounding vertices of the texture square.

"""
m = 1.0 / n
dx = x * m
dy = y * m
return dx, dy, dx m, dy, dx m, dy m, dx, dy m

def tex_coords(top, bottom, side):
""" Return a list of the texture squares for the top, bottom and side.

"""
top = tex_coord(*top)
bottom = tex_coord(*bottom)
side = tex_coord(*side)
result = []
result.extend(top)
result.extend(bottom)
result.extend(side * 4)
return result

TEXTURE_PATH = 'texture.png'

GRASS = tex_coords((1, 0), (0, 1), (0, 0))
SAND = tex_coords((1, 1), (1, 1), (1, 1))
BRICK = tex_coords((2, 0), (2, 0), (2, 0))
STONE = tex_coords((2, 1), (2, 1), (2, 1))

FACES = [
( 0, 1, 0),
( 0,-1, 0),
(-1, 0, 0),
( 1, 0, 0),
( 0, 0, 1),
( 0, 0,-1),
]

def normalize(position):
""" Accepts `position` of arbitrary precision and returns the block
containing that position.

Parameters
----------
position : tuple of len 3

Returns
-------
block_position : tuple of ints of len 3

"""
x, y, z = position
x, y, z = (int(round(x)), int(round(y)), int(round(z)))
return (x, y, z)

def sectorize(position):
""" Returns a tuple representing the sector for the given `position`.

Parameters
----------
position : tuple of len 3

Returns
-------
sector : tuple of len 3

"""
x, y, z = normalize(position)
x, y, z = x // SECTOR_SIZE, y // SECTOR_SIZE, z // SECTOR_SIZE
return (x, 0, z)

class Model(object):

def __init__(self):

# A Batch is a collection of vertex lists for batched rendering.
self.batch = pyglet.graphics.Batch()

# A TextureGroup manages an OpenGL texture.
self.group = TextureGroup(image.load(TEXTURE_PATH).get_texture())

# A mapping from position to the texture of the block at that position.
# This defines all the blocks that are currently in the world.
self.world = {}

# Same mapping as `world` but only contains blocks that are shown.
self.shown = {}

# Mapping from position to a pyglet `VertextList` for all shown blocks.
self._shown = {}

# Mapping from sector to a list of positions inside that sector.
self.sectors = {}

# Simple function queue implementation. The queue is populated with
# _show_block() and _hide_block() calls
self.queue = deque()

self._initialize()

实例下载地址

我的世界代码+素材

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
;
报警