-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathprotocolo_server.txt
165 lines (126 loc) · 4.54 KB
/
protocolo_server.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
LO QUE MANDA EL SERVER:
todos los int son mandados en 4 bytes big endian
todas las coordenadas se encuentran en MILIMETROS y los angulos en GRADOS de 0 a 360 , ya que segun barba la conversion la debe realizar el client.
Las coordenadas refieren al CENTRO del objeto
Las string se mandan:
int largo del string
el string en si sin el '\0' del final
ASIGNACION DE ID DE JUGADOR(se manda solo al jugador que corresponde):
char en 0
int con numero de jugador
INFORMACION DE FONDO DE PANTALLA DEL MAPA
char en 1
string del nombre del fondo de pantalla ej: "fondo1.jpg"
CREACION DE UNA VIGA EN EL MAPA:
char en 2
int x
int y
int angle
DIMENSIONES DEL MAPA:
char en 3
int ancho
int alto
CREACION DE UN GUSANO EN EL MAPA
char en 4
int id gusano
int con el numero de jugador que es el dueño
int x
int y
int direccion (-1: izquierda, 1: derecha)
int angle
Es decir, el id de cada gusano esta conformado por un tupla (jugador_dueño, numero) con el que se va a identificar a ese gusano en cada uno de los proximos mensajes
La idea es que los gusanos de cada jugador se muestren de un color distinto.
INICIO DE TURNO
char en 5
int id de jugador actual
int id gusano
POSICION DE UN GUSANO CAMBIA:
char en 6
int id gusano
int x
int y
int direccion (-1: izquierda, 1: derecha)
int angle
CAMBIO DE ESTADO DE UN GUSANO
char en 7
int id gusano
int con numero de nuevo estado
estados: 0=inactivo, 1=moviendose, 2=en el aire, 4=muerto, 5=afectado por una explosion. Actualmente en el agua y muerto deberian tener el mismo significado pero mas adelante no si se agrega un tiempo en el que el gusano se vea abajo del agua. EN EL AGUA ELIMINADO
CREACIÓN DE UN PROYECTIL EN EL MAPA
char en 8
int id de proyectil
int numero de arma: 1=bazooka, 2=mortero, ... continua segun orden en consigna del tp, 11= fragmento de proyectil
int direccion: -1= izquierda, 1 = derecha
int x
int y
int angulo
POSICION DE UN PROYECTIL
char en 9
int id de proyectil
int x
int y
int angulo
EXPLOCION DE UN PROYECTIL EN EL MAPA (explota en la ultima posicion del proyectil)
char en 10
int id de proyectil
EL GUSANO ACTUAL SACO UN ARMA
char en 11
int numero de arma: 1=bazooka, 2=mortero, ... continua segun orden en consigna del tp
EL GUSANO ACTUAL CAMBIA DE ANGULO DE APUNTADO
char en 12
int cambio de angulo: 1=arriba, -1 = abajo
UN GUSANO CAMBIO SU VIDA
char en 13
int id gusano
int nueva vida
UN JUGADOR SE HA DESCONECTADO
char en 14
int numero de jugador que se desconecto
UN JUGADOR HA PERDIDO
char en 15
int numero de jugador que perdio(todos gusanos fueron asesinados)
Un JUGADOR HA GANADO LA PARTIDA
char en 16
int numero de jugador ganador
----MENSAJES DE HALL DE PARTIDAS----
SE HA CREADO UNA NUEVA SALA
char en 17
int id sala creada
string nombre de la sala
int cantidad de jugadores
int numero maximo de jugadores
string nombre del map
Este mensaje se manda ya sea cuando realmente se crea una sala en ese momento pero tambien cuando un nuevo client se conecta se le mande este mensaje con todas las salas que ya existian para que las pueda mostrar(a sus ojos se estan creando)
CAMBIO EN EL NUMERO DE JUGADORES DENTRO DE UNA SALA
Para que el client pueda actualizar el numero de jugadores que hay dentro de la sala
char en 18
int id sala
int nueva cantidad de jugadores
DESTRUCCION DE UNA SALA
las salas se destruyen ya sea porque todos los jugadores se fueron o porque se completo la cantidad maxima de jugadores y empezo la partida
char en 19
int id sala
UN NUEVO JUGADOR SE HA CONECTADO A LA SALA
La idea de este mensaje es que el client vaya guardando para los jugadores de la sala su id y su nombre ya que luego en la partida los va a necesitar
char en 20
int id nuevo jugador
string nombre nuevo jugador
LISTA DE MAPS DISPONIBLES PARA JUGAR
char en 21
int cantidad mapas
por cada mapa:
string nombre de mapa
------------------------------------------------------------------------
MENSAJES QUE QUEDARON PENDIENTES DE LA PARTE DEL JUEGO
SE HA ACABADO LA MUNICION DE UN ARMA
char en 22
int id de arma
solo se le manda al jugador que se quedo sin la municion para que muestre el logito del arma en el menu en rojo
EL OBJETIVO DEL ARMA TELEDIRIGADA ES UN OBJETIVO VALIDO Y POR LO TANTO SE DISPARA(TELEPORT O MISILES)
char en 23
int id arma (9= ataque aereo, 10 = teleport)
PASO UN SEGUNDO DEL TURNO
char en 24
CAMBIO EL VIENTO
char en 25
int velocidad del viento en km/h.(en realidad este valor es de mentira, no esta en kilometros por hora lo genero yo, pero es proporcional a la velocidad que va a obtener el misil por culpa del viento).