• 大小: 2.31MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-04
  • 语言: C/C++
  • 标签: C/C  

资源简介

用于Windows,Mac OS X和Linux的Minecraft克隆。 使用现代OpenGL(着色器)只需几千行C语言。 使用基于Python的服务器包含在线多人游戏支持。

资源截图

代码片段和文件信息

# This file allows you to programmatically create blocks in Craft.
# Please use this wisely. Test on your own server first. Do not abuse it.

import requests
import socket
import sqlite3
import sys

DEFAULT_HOST = ‘127.0.0.1‘
DEFAULT_PORT = 4080

EMPTY = 0
GRASS = 1
SAND = 2
STONE = 3
BRICK = 4
WOOD = 5
CEMENT = 6
DIRT = 7
PLANK = 8
SNOW = 9
GLASS = 10
COBBLE = 11
LIGHT_STONE = 12
DARK_STONE = 13
CHEST = 14
LEAVES = 15
CLOUD = 16
TALL_GRASS = 17
YELLOW_FLOWER = 18
RED_FLOWER = 19
PURPLE_FLOWER = 20
SUN_FLOWER = 21
WHITE_FLOWER = 22
BLUE_FLOWER = 23

OFFSETS = [
    (-0.5 -0.5 -0.5)
    (-0.5 -0.5 0.5)
    (-0.5 0.5 -0.5)
    (-0.5 0.5 0.5)
    (0.5 -0.5 -0.5)
    (0.5 -0.5 0.5)
    (0.5 0.5 -0.5)
    (0.5 0.5 0.5)
]

def sphere(cx cy cz r fill=False fx=False fy=False fz=False):
    result = set()
    for x in range(cx - r cx + r + 1):
        if fx and x != cx:
            continue
        for y in range(cy - r cy + r + 1):
            # if y < cy:
            #     continue # top hemisphere only
            if fy and y != cy:
                continue
            for z in range(cz - r cz + r + 1):
                if fz and z != cz:
                    continue
                inside = False
                outside = fill
                for dx dy dz in OFFSETS:
                    ox oy oz = x + dx y + dy z + dz
                    d2 = (ox - cx) ** 2 + (oy - cy) ** 2 + (oz - cz) ** 2
                    d = d2 ** 0.5
                    if d < r:
                        inside = True
                    else:
                        outside = True
                if inside and outside:
                    result.add((x y z))
    return result

def circle_x(x y z r fill=False):
    return sphere(x y z r fill fx=True)

def circle_y(x y z r fill=False):
    return sphere(x y z r fill fy=True)

def circle_z(x y z r fill=False):
    return sphere(x y z r fill fz=True)

def cylinder_x(x1 x2 y z r fill=False):
    x1 x2 = sorted((x1 x2))
    result = set()
    for x in range(x1 x2 + 1):
        result |= circle_x(x y z r fill)
    return result

def cylinder_y(x y1 y2 z r fill=False):
    y1 y2 = sorted((y1 y2))
    result = set()
    for y in range(y1 y2 + 1):
        result |= circle_y(x y z r fill)
    return result

def cylinder_z(x y z1 z2 r fill=False):
    z1 z2 = sorted((z1 z2))
    result = set()
    for z in range(z1 z2 + 1):
        result |= circle_z(x y z r fill)
    return result

def cuboid(x1 x2 y1 y2 z1 z2 fill=True):
    x1 x2 = sorted((x1 x2))
    y1 y2 = sorted((y1 y2))
    z1 z2 = sorted((z1 z2))
    result = set()
    a = (x1 == x2) + (y1 == y2) + (z1 == z2)
    for x in range(x1 x2 + 1):
        for y in range(y1 y2 + 1):
            for z in range(z1 z2 + 1):
                n = 0
                n += x in (x1 x2)
                n += y in (y1 y2)
                n += z in (z1 z2)
                if not fill

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-02-02 14:55  fogleman-Craft-fe3e7b3\
     文件         127  2014-02-02 14:55  fogleman-Craft-fe3e7b3\.gitignore
     文件        1197  2014-02-02 14:55  fogleman-Craft-fe3e7b3\CMakeLists.txt
     文件        1060  2014-02-02 14:55  fogleman-Craft-fe3e7b3\LICENSE.md
     文件        9708  2014-02-02 14:55  fogleman-Craft-fe3e7b3\README.md
     文件        8052  2014-02-02 14:55  fogleman-Craft-fe3e7b3\builder.py
     目录           0  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\
     目录           0  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glew\
     文件        3797  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glew\LICENSE.txt
     目录           0  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glew\include\
     目录           0  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glew\include\GL\
     文件      884743  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glew\include\GL\glew.h
     文件       65851  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glew\include\GL\glxew.h
     文件       61250  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glew\include\GL\wglew.h
     目录           0  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glew\src\
     文件      854006  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glew\src\glew.c
     文件      406788  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glew\src\glewinfo.c
     文件       38333  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glew\src\visualinfo.c
     目录           0  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glfw\
     文件         949  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glfw\.gitignore
     目录           0  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glfw\CMake\
     文件         567  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glfw\CMake\amd64-mingw32msvc.cmake
     文件         562  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glfw\CMake\i586-mingw32msvc.cmake
     文件         587  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glfw\CMake\i686-pc-mingw32.cmake
     文件         583  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glfw\CMake\i686-w64-mingw32.cmake
     目录           0  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glfw\CMake\modules\
     文件         350  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glfw\CMake\modules\FindEGL.cmake
     文件         394  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glfw\CMake\modules\FindGLESv1.cmake
     文件         393  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glfw\CMake\modules\FindGLESv2.cmake
     文件         593  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glfw\CMake\x86_64-w64-mingw32.cmake
     文件       14896  2014-02-02 14:55  fogleman-Craft-fe3e7b3\deps\glfw\CMakeLists.txt
............此处省略162个文件信息

评论

共有 条评论