Mongolopedia Wolna EncyklopediaNapisz więc to, co widziałeś, i to, co jest, i to, co potem musi się stać.
Różnice między wybraną wersją a wersją aktualną.
| Nowa wersja | Poprzednia wersja | ||
|
kalisoft:kk [2014/09/25 12:28] ghi utworzono |
kalisoft:kk [2014/09/25 15:21] (aktualna) ghi |
||
|---|---|---|---|
| Linia 1: | Linia 1: | ||
| ====== Khans& | ====== Khans& | ||
| ===== Moduły ===== | ===== Moduły ===== | ||
| - | ==== KKserver ==== | + | * Strona serwera: |
| - | Serwer do gry K&K oparty na protokole 9P2000. Przestrzeń nazw eksportowana przez serwer, wygląda następująco: | + | * KKserver - serwer gry, obsługuje rządania klientów: dołączanie do gry, zakończenie gry |
| + | * KKlogic - obsługuje logikę gry: dodawanie surowców, rozstrzyganie walk | ||
| + | * Strona klienta: | ||
| + | * KKwaitingroom - interfejs pozwalajączy połączyć się z serwerem, poczekać na graczy, wybrać scenariusz oraz rozpocząć grę | ||
| + | * KKmap - moduł rysujący mapę gry (eksportowana jako Image), oraz przechwytujący kliknięcia w poszczególne podprowincje | ||
| + | * KKgame - główny interfejs gry | ||
| + | * KKresearch - rysuje drzewko technologii, | ||
| + | |||
| + | ===== Format mapy ===== | ||
| + | Mapy do gry K&K są zapisywanie w prostym formacie tekstowym, z rozszerzeniem: | ||
| + | |||
| + | < | ||
| + | 1200x2050 #wielkość mapy w pikselach | ||
| + | way [ID] [atrybuty]: (15,12) (57,53) # | ||
| + | way mongolskokazachskaN border river: (15, 15) (72,11) #możliwe atrybuty: border, river | ||
| + | area [type][attributes]: | ||
| + | area province Wschodnia Mongolia: mongolskokazachskaN | ||
| + | area subprovince forest: mongolskokazachskaN # atrybuty podprowincji: | ||
| + | area subprovince forest capital: a45 | ||
| + | area country[Wielkie Imperium Mongolskie]: | ||
| + | </ | ||
| + | Ścierzki nie muszą tworzyć idealnie zamkniętych obszarów o ile da się taki obszar jednoznacznie określić. | ||
| + | |||
| + | ===== KKserver | ||
| + | Serwer do gry K& | ||
| * ctl (OWRITE) | * ctl (OWRITE) | ||
| * <end turn - zakończ turę bierzącego gracza | * <end turn - zakończ turę bierzącego gracza | ||
| + | * wait (OREAD) - zwraca EOF w chwili twojej tury | ||
| * players/ | * players/ | ||
| * player_name/ | * player_name/ | ||
| - | * food (ORW) | + | |
| + | | ||
| + | * > - posiadana ilość zasobu | ||
| * <[int] - ilość zasobu do dodania(lub odjęcia w przypadku liczby ujemnej) | * <[int] - ilość zasobu do dodania(lub odjęcia w przypadku liczby ujemnej) | ||
| - | | + | * wood (ORDWR) |
| - | * wood (ORW) | + | |
| * <[int] - ilość zasobu do dodania(lub odjęcia w przypadku liczby ujemnej) | * <[int] - ilość zasobu do dodania(lub odjęcia w przypadku liczby ujemnej) | ||
| - | | + | * stone (ORDWR) |
| - | * stone (ORW) | + | |
| * <[int] - ilość zasobu do dodania(lub odjęcia w przypadku liczby ujemnej) | * <[int] - ilość zasobu do dodania(lub odjęcia w przypadku liczby ujemnej) | ||
| - | | + | * ore (ORDWR) |
| - | * ore (ORW) | + | |
| * <[int] - ilość zasobu do dodania(lub odjęcia w przypadku liczby ujemnej) | * <[int] - ilość zasobu do dodania(lub odjęcia w przypadku liczby ujemnej) | ||
| - | | + | * gold (ORDWR) |
| - | * gold (ORW) | + | |
| * <[int] - ilość zasobu do dodania(lub odjęcia w przypadku liczby ujemnej) | * <[int] - ilość zasobu do dodania(lub odjęcia w przypadku liczby ujemnej) | ||
| - | | + | * techs/ |
| + | * technology_name (ORDWR) | ||
| + | | ||
| + | * wymaganie1, wymaganie2 | ||
| + | * +1 do stanu jednostek | ||
| + | * etc. | ||
| + | * < technologia zostaje aktywowane, jeżeli spełnione są wymagania; zasoby zostąną odjęte z puli | ||
| + | * units/ | ||
| + | * id/ (uid) | ||
| + | * class (OREAD) - zwraca klasę jednostki (w K&K2 zwaną nazwą) | ||
| + | * type (OREDA) - zwraca typ jednostki | ||
| + | * group (ORDWR) - grupa do której należy oddział. Grupy poruszają się i atakują wspólnie | ||
| + | * > nazwa grupy | ||
| + | * < przyłącz jednostkę do nowej grupy | ||
| + | * name (ORDWR) - nazwa jednostki nadana przez gracza | ||
| + | * > nazwa jednostki | ||
| + | * < nowa nazwa dla jednostki | ||
| + | * level (ORDWR) - poziom jednostki | ||
| + | * > odczytaj poziom jednostik | ||
| + | * < [int] zwiększ poziom jednostki o [int] | ||
| + | * ex (ORDWR) | ||
| + | * > ilość | ||
| + | * <[int] ilość doświadczenia do dodania | ||
| + | * pp (ORDWR) - punkty promocji: ile nowych promocji gracz może sobie dodać | ||
| + | * > ilość punktów promocji | ||
| + | * <[int] ilość pp do dodania | ||
| + | * range (OREAD) - qid prowincji w zasięgu ruchu: " | ||
| + | * str (ORDWD) - atak jednostki | ||
| + | * > zwraca wartość współczynnika | ||
| + | * <[int] ilość współczynnika do dodania(lub odjęcia w przypadku liczby ujemnej) | ||
| + | * def (ORDWR) | ||
| + | * > zwraca wartość współczynnika | ||
| + | * <[int] ilość współczynnika do dodania(lub odjęcia w przypadku liczby ujemnej) | ||
| + | * qua (ORDWR) - stan jednostki | ||
| + | * > zwraca wartość współczynnika | ||
| + | * <[int] ilość współczynnika do dodania(lub odjęcia w przypadku liczby ujemnej) | ||
| + | * rel (ORDWR) - niechęć jednstki | ||
| + | * > zwraca wartość współczynnika | ||
| + | * <[int] ilość współczynnika do dodania(lub odjęcia w przypadku liczby ujemnej) | ||
| + | * spd (ORDWR) - szybkość jednostki | ||
| + | * > zwraca wartość współczynnika | ||
| + | * <[int] ilość współczynnika do dodania(lub odjęcia w przypadku liczby ujemnej) | ||
| + | * bonuses (ORDWR) | ||
| + | * >zwraca premie jednostki oddzielone ' | ||
| + | * +50% ataku na stepie [premia podstawowa] | ||
| + | * +25% ataku w lesie [premia dodatkowa] | ||
| + | * etc. | ||
| + | * < dodaje nową premię | ||
| + | * provinces/ | ||
| + | * subprovince_id/ | ||
| + | * province (OREAD) - nazwa prowincji do której należy | ||
| + | * ulimit (OREAD) - maksymalna liczba garnizonów mogących stacjonować w prowincji | ||
| + | * units (ORDWR) - jednostki stacjonujące w podprowincji | ||
| + | * > lista jednostek: " | ||
| + | * <[uid] przesuń jednostkę na tę prowincję | ||
| + | * buldings (ORDWR) - lista budynków w podprowincji: | ||
| + | * > lista budynków: " | ||
| + | ===== KKlogic (strona serwera) ===== | ||
| + | Logika gry, obsługuje zapytania graczy do serwera i rostrzyga, czy są zgodne z zasadami. | ||