multiplayer-game-circle-tennis

command module
v0.0.0-...-f8f0c86 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 5, 2020 License: MIT Imports: 3 Imported by: 0

README

multiplayer-game-circle-tennis

trello:https://trello.com/b/J1wlGiDf/multiplayergameserver

1-Event Driven Cominication yapılması,

2-Gelen eventlerin parçalanarak ilgili listenerların ilgili handlerlarını tetiklemesi,

3- Event based cominication için modellerin oluşturulması,

4-Game boardın oluşturulması

5-Server tarafının mimarisini şekillendirerek ayağa kaldırılması

6-Client tarafının mimarisi ve servera bağlanabilmesi,

7-Bağlanan clientların sıraya girebilmesini sağlayacak yapının kurulması,

8-Server kendi içerisinde 1 den fazla gameBoard barındırmalıdır.

9-Clientlar bağlandığında username belirleyebilmelidir.

10-Clientlar tarafından gönderilicek eventlerin belirlenmesi

11-Main metodunda GameEvent sıralamasının yapılması,

12-Frame rate belirlenecek döngü hep kendini takip edecek,

13-Game loop dışında eventler modelleri değiştirebilmeli,

14-Clientlar ile pingleşilerek kimin requestlere cevap verip vermediği anlaşılmalı.


(10)=> clientlar tarafından gönderilip dinlenecek eventler.

a-Top sopaya çarptı

b-Sopaların boostu bastı
c-sopa hareket etti(sağa git sola git dur)
d-gol oldu (golü atan ve yiyen state tutuluyor)

(4)=> Game board game array=> x,y arrayLength sopaların kendi alanları (client ID'lerine göre belirlenebilir)[]sopalar top

top=>
    x,y vector,
    hız,
    topa son vuran,
sopalar=>
    x,y coordinanat,
    yön,
    hız,
    clientId,
    Renk,
    bölge

(2)=>EventListener UserConnected, UserJoined, UserJoinedQueue, UserLeft, GameStart, SopaMoved, TopSopaya çarptı, ScorEldeEdildi,

(5)=> Server struct dispatcher, clients, pattern, logger, idManager, userNameRegistry, upgrader, =>NewServer(pattern,logger,dispatcher,idManager,USerNameRegistry)

=>ServerListen()
    handlerFunc=>fireUserConnected,logger,healtcheckHandler
=>SendToClient(clientId,meesage) =>send clientMessage,
=>GetClientIDs,
=>GetClient,

(6)=>Client struct id, *websocket, channel, doneCh, server *Server, NewClient(ws,server)=>return make2Chan,idManager.NexTPlayerId(),ws SendMessage([]bytes)=>channel<-bytes=>logger, ClientListen=>listenWrite(),listenRead() listenWrite()=>while wait channels=>ws.WriteMessage, listenRead()=>while wait ReadWebSocket=>Handle EvensMessage And Fire EventHandler(switchCase,FireTargetAngle,FireJoinedGame etc.)

#Features: - log tüm paketler tarafından ulaşılabilir olmalı ve her seferinde log'objesini inject etmemeliyim - file yazma seçeneği sadece opsiyonel olmalıdır. - log objeleri seviye olarakta global tanımlanlalııdr like upspin.io

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package errors defines globaly
Package errors defines globaly

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL