LU-LSP-b11:projekts

From DiLab
Revision as of 16:30, 20 December 2011 by Atis (talk | contribs)
Jump to: navigation, search

Uzdevums: izstrādāt koncepciju un arhitektūru klienta-servera sistēmai, kas realizē daudzlietotāju vidi reālā laika stratēģiskai datorspēlei "Tanciņi".


Serveris

Serverim jābūt savietojamam ar kopējo komunikācijas protokolu - tā, lai visu grupu klienti varētu pie tā slēgties!

Serveris spēj saņemt šādas komandas:

  •  ?

Serveris var nosūtīt šādas komandas:

  •  ?

Ir pasaules karte ar NxM šūnām. Katrā šūnā var būt:

  •  ?

Servera programmā ir "galvenais cikls" (while (1) vai for (;;)), tajā notiek:

  •  ?

Serveris uztur informāciju par klientiem:

  •  ?

Klients

Klientam jābūt savietojamam ar kopējo komunikācijas protokolu - tā, lai tas spētu slēgties pie visu grupu serveriem!

Klients spēj saņemt šādas komandas:

  •  ?

Klients var nosūtīt šādas komandas:

  •  ?

Klienta programmā ir "galvenais cikls", tajā notiek:

  •  ?

Direktorijas serveris

Uztur informāciju par aktīvajiem serveriem:

  •  ?

Datu apmaiņas protokols

Izmanto TCP protokola soketus, ports 1337.

ASCII formāts datiem.

Komandas sākumu apzīmē ar '^'.

Komandas beigas apzīmē ar '$'.

Komandas piemērs:

^G_U$

Nozīme: "go up" - virzīties uz augšu.

Komandu parameterus vienu no otra atdala ar kādu no whitespace simboliem: tukšumu, tab ('\t'), newline ('\n') vai carriage return ('\r') simboliem. Ja ir vairāki whitespace simboli pēc kārtas, tie jāuztver analoģiski vienam.

Komandas

Klients -> serverim

  • S - start game Parametri:
  • E - disconnect (end game) Parametri:
  • G - go Parametri: virziens (U, B, L, vai R burti)
  • F - shoot (fire) Parametri:
  • T - stobra kustiiba (turret movement) (opcionāls) Parametri:

Serveris -> klientam

  • M - map info

Map info parametri

Kartes lauciņi var būt:

  • šķērslis (necaurejams tankiem) - O
  • masīvs šķērslis (necauršaujaums & necaurejams tankiem) - X
  • ceļš - R
  • zāle (kustība notiek 2x lēnāk, nekā pa ceļu) (opcionāls) - G
  • purvs (kustība notiek 5x lēnāk, nekā pa ceļu) (opcionāls) - S

Map info komandas Parametri:

  • Kartes dimensijas: divi skaitļi N (platums) un M (augstums).
  • NxM burtus gara karte ar terrain type. piemēram: "R R R R X R ...". Karti sūta, sākot no augšējās rindas, no kreisās puses uz labo.
  • Nenoteikta garuma saraksts ar objektiem. Objekts tiek aprakstīts šādi:

"O-burts Tips X-koordināta Y-koordināta Health-status"

Tips:

  • T - tanks
  • S - shot (šāviņš)

Objekta piemērs: "O T 1 2 100" - tanks lauciņā (1,2) ar 100% veselību.

Koordināta 0 0 atbilst augšējam kreisajam stūrim.