Mongolopedia Wolna Encyklopedia

Napisz więc to, co widziałeś, i to, co jest, i to, co potem musi się stać.

Narzędzia użytkownika

Narzędzia witryny


kalisoft:kk

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

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&Kings ====== ====== Khans&Kings ======
 ===== 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, oraz pozwala nimi zarządzać 
 + 
 +===== Format mapy ===== 
 +Mapy do gry K&K są zapisywanie w prostym formacie tekstowym, z rozszerzeniem: .kkmap . Format inspirowany jest formatem OSM. 
 + 
 +<code> 
 +1200x2050 #wielkość mapy w pikselach 
 +way [ID] [atrybuty]: (15,12) (57,53) #definiowanie ścierzek oraz ich punktów kontrolnych 
 +way mongolskokazachskaN border river: (15, 15) (72,11) #możliwe atrybuty: border, river 
 +area [type][attributes]: [ways] #type: country, province, subprovince, lake, see 
 +area province Wschodnia Mongolia: mongolskokazachskaN 
 +area subprovince forest: mongolskokazachskaN # atrybuty podprowincji: forest, capital(tylko jedna na prowincję) 
 +area subprovince forest capital: a45 
 +area country[Wielkie Imperium Mongolskie]: mongolskokazachskaN, mongolsko kazachskaS 
 +</code> 
 +Ścierzki nie muszą tworzyć idealnie zamkniętych obszarów o ile da się taki obszar jednoznacznie określić. 
 + 
 +===== KKserver (strona serwera) ===== 
 +Serwer do gry K&został oparty na protokole 9P2000. Przestrzeń nazw eksportowana przez serwer, wygląda następująco:
   * 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)+      * civ (OREAD) - nazwa cywilizacji, którą przewodzi gracz 
 +      * food (ORDWR) 
 +        * > - 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)
-        * >[int] - posiadana ilość zasobu +      * wood (ORDWR) 
-      * wood (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)
-        * >[int] - posiadana ilość zasobu +      * stone (ORDWR) 
-      * stone (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)
-        * >[int] - posiadana ilość zasobu +      * ore (ORDWR) 
-      * ore (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)
-        * >[int] - posiadana ilość zasobu +      * gold (ORDWR) 
-      * gold (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)
-        * >[int] - posiadana ilość zasobu+      * techs/ 
 +        * technology_name (ORDWR) 
 +          * > podaje informacje o technologi i jej wymaganiach; format: 
 +            * 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) doświadczenie 
 +              * > ilość posiadanego doświadczenia 
 +              * <[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: "154\n125" 
 +            * 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 '\n': 
 +                * +50% ataku na stepie [premia podstawowa] 
 +                * +25% ataku w lesie [premia dodatkowa] 
 +                * etc. 
 +              * < dodaje nową premię 
 +    * provinces/ 
 +      * subprovince_id/ (qid) 
 +        * 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: "uid1\n uid2" 
 +          * <[uid] przesuń jednostkę na tę prowincję 
 +        * buldings (ORDWR) - lista budynków w podprowincji: 
 +          * > lista budynków: "Młyn: +1 do żywności\n Fort: +1 do Obrony, +1 do pojemności" 
 +===== KKlogic (strona serwera) ===== 
 +Logika gry, obsługuje zapytania graczy do serwera i rostrzyga, czy są zgodne z zasadami. 
kalisoft/kk.1411640930.txt.gz · ostatnio zmienione: 2014/09/25 12:28 przez ghi