Giter Site home page Giter Site logo

doodle-maps's Introduction

Doodle Maps

TODO translate readme and developer documentaion

Altalanos leiras

A program egy hexagon alapu terkepet, es ket koordinatat kap bemenetnek. A ket koordinata a ket pont amik kozott megkeresi a legrovidebb es a leggyorsabb utat. A legrovidebb es a leggyorsabb ut kozotti kulonbseget a tile-ok nehezsege teszi lehetove. 0-5-ig terjed a nehezsegi szint, ahol 1 a legegyszerubb (pl ret) es 5 a legnehezebb (pl hegy), a 0 pedig az atkelhetetlent jelenti. Miutan megkapta a terkepet a program egy grafot keszit belole, majd A* (A star) algoritmus felhasznalasaval megkeresi a keresett utakat. Az utak megtalalasa utan egy vektor alapu kepfajlt general a program amin vizualizalva vannak a hexagon tile-ok es az utak is. Az utakat ket urleny abrazolja, a sarga urleny megy a legrovidebb, a kek pedig a leggyorsabb uton.

Hasznalat

./run <path_to_json_file> > map.svg

Bemenet

Bemenetnek a program egy JSON fajlt fog fogadni. Ebben a fajlban lesz benne a terkep merete, nehezsegi szintek szerint a tile-ok koordinatai, es a ket pont amik kozott az utakat keressuk. Alapbol meret alapjan general egy csak 0 nehezsegu tile-okbol allo terkepet a program, igy ezeket a tile-okat kulon nem kell megadnunk. Az osszes tobbi tile nehezsegi szintek szerint vannak csoportositva, koordinatak szerint, vegul pedig a ket keresett pont. Ezenkivul a fajlban van meg a rajzolt terkep hexagon magassaga (pixelben megadva), es a rajzolasi felulet. Pelda egy 5x5-os terkepre (example_maps/map1.json):

{
  "map":{
    "size":[5, 5],
    "tiles":{
      "1":[[1, 0], [2, 0], [1, 3], [2, 4], [2, 1]],
      "2":[[1, 2], [3, 3], [0, 0]],
      "3":[[2, 2]],
      "4":[[0, 2]],
      "5":[[0, 1], [3, 2], [4, 4]]
    },
    "tiles_of_interest":[[0, 0], [2, 4]]
  },
  "svg":{
    "hexagon_height":140,
    "draw_area":[1280, 720]
  }
}

A json fajl parseolasahoz a cJSON konyvtarat hasznalja a program.

Kimenet

A kimenet egy SVG fajl lesz, amiben meglesznek kolonboztetve grafikusan a kulonbozo nehezsegu tile-ok, es ra lesz rajzolva a kiszamitott legrovidebb, es leghosszabb ut, kulonbozo szinekkel.

Pelda kimenet

Pelda kimenete az example_maps/map1.json fajlnak:

example_out

Terkep

A terkep egy offset koordinatas odd-r vizszintes hexagon terkep lesz. Ez azt jelenti, hogy a legfelso sor az elso sor, es ebben a sorban minden tile vizszintesen egymas mellett van, viszont igy az oszlopokban a tile-ok nem tokeletesen fuggolegesek egymassal. A kovetkezo kep egy 7x7-es meretu terkepnek mutatja be a koordinatait:

map_type


Credit for artwork used: Kenney.nl (CC0)

doodle-maps's People

Contributors

1m0d avatar

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.