Coder Social home page Coder Social logo

sourcecraft-gen's Introduction

sourcecraft-gen

blog:

www.thesourcecraft.wordpress.com

Introduction

Sourcecraft-gen is the application that turns a code base into a structured file that minecraft transforms into a world of blocks. The structured file is a list of coordinates and a block id. Such as:

block_id, x, y, z

1, 0, 1, 0
1, 0, 1, 1
1, 1, 1, 1
1, 1, 1, 0
1, 0, 2, 0
1, 0, 2, 1
1, 1, 2, 1
1, 1, 2, 0

This file would be run through the second part of the project, sourcecraft-mod, which would read the file and generate a 2x2 cube in the world originating at the coordinate x:0, y:1, z:0 (sitting on ground level)

Project Structure

Folders

/cities

  • Contains generated city files like the one shown above

/maps

  • Contains 2d maps generated from the city files by the mapping application

/metrics

  • Contains serialized java 'ClassMetrics' arrays

/sources

  • Contains xml representations of the code base being visualized

/com.sourcecraft.gen

  • The java application

Packages

Core

  • Contains all the core datatypes used in the application such as Point3D and BuildingEntity, etc..

Metrics

  • A set of objects that encompass the statistics about a class in the source code being analyzed

Parser

  • Classes responsible for parsing the source code and translating them into 'Metric' objects

Designer

  • Classes responsible for constructing the basic building size and structure from the metrics object.

Decorator

  • Classes responsible for decorating buildings with certain elements like doors and windows after the basic design is completed by the designer

Planner

  • Classes responsible for determing the layout and location of buildings in the world and writing the blocks to the city file

Mapper

  • An additional application which translates the city file into a readable map of 1's and 0's to preview the layout by the planner

Templates

  • A set of classes which represent different building theme configurations

Runner

  • The main entry point to the application which executes different templates

Util

  • Some helper classes for mathematical and IO functions

Tests

  • Test suite

Usage

Extension

sourcecraft-gen's People

Contributors

faddison avatar

Stargazers

Claire Barretto avatar

Watchers

 avatar James Cloos avatar  avatar  avatar Claire Barretto avatar

sourcecraft-gen's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.