¿ Cuando Se Debe Crear Un Evento ?


Objetivo: ¿ Cuando Se Debe Crear Un Evento ?
Buenos días!.

Hace unos días añadí un evento a mi "futuro" juego de los barquitos.
El evento que hice consiste en esto:

El jugador va situando sus barcos en el tablero y cuando se pasa del limite de barcos
que puede situar, salta un mensaje de texto en la pantalla avisándolo.

Bien.¿ Qué me hubiera impedido contar los barcos y hacer uso de la clase Message ?.

Pues no, yo use esto:

Event MaxBarcos(dato As String)

....
Public Sub Mapa_MouseDown()

If gceldas.Count >= 5 Then
Raise MaxBarcos("Ha llegado al máximo de barcos permitidos")
Stop Event
Else
Me.CrearCelda(Mouse.x, Mouse.y, jugador)
Endif

End

Public Sub Mapa_MaxBarcos(dato As String)

Message.Info(dato)

End


Mapa es el nombre que se me ocurrió por probar para el nombre del observador.

Ah, si, estoy intentando crear un control del tablero de juegos, poco a poco.

Como puede verse ese evento puede mostrar cualquier mensaje de texto, solo que lo he usado para mostrar el aviso de que se ha pasado el jugador
colocando barcos. Con lo que quiero decir, es que se podía haber usado otro nombre para el evento y mostrar distintos mensajes de texto en determinados
momentos del juego y no solo para decir que se pasó en el número de barcos.

¿ Y que hubiese conseguido ?.

Pues el no tener que añadir o hacer uso de la clase message en distintas partes, repitiendo una parte de código.
Aaaah, pero eso no quita que usase una función sustituyendo al evento, ¿ verdad ?.

Saludos

última edición por Shell el Domingo, 06 Noviembre 2016, 09:34; editado 5 veces
Objetivo: Re: ¿ Cuando Se Debe Crear Un Evento ?
Shell:

Citar:
Aaaah, pero eso no quita que usase una función sustituyendo al evento, ¿ verdad ?.

Es que el usar Event y Raise, es más potente que un simple "función".

Imagina que desde otra parte del programa, se necesita saber cuando ocurre el "MaxBarcos", por ejemplo:
- para hacer sonar una alarma (si, me vas a decir que también se puede poner en la función, pero esto es un ejemplo)

O otras cosas... mañana se te ocurre ampliar el programa, y que cuando ocurra ese evento "MaxBarcos", haga algo.(se ponga a fabricar un tablero más grande ).. no tienes que modificar tu código, simplemente la clase o modulo que creas lo que tiene que observar es al "mapa" y actuar en consecuencia cuando salte el evento.

Objetivo: Re: ¿ Cuando Se Debe Crear Un Evento ?
Julio:

¿ No crees que los eventos están mas orientados al aspecto de una interfaz gráfica ?.

Saludos

Objetivo: Re: ¿ Cuando Se Debe Crear Un Evento ?
Shell escribió: [Ver mensaje]
Julio:

¿ No crees que los eventos están mas orientados al aspecto de una interfaz gráfica ?.

Saludos

Para nada. Los eventos son "reacciones" del objeto ante un "suceso". Cierto que la interfaz gráfica tiene su esencia en "esperar sucesos" pero un evento se puede disparar ante cualquier tipo de suceso, provocado por el usuario directamente o no.... (recibir un mensaje, que un disco se llene, encender o apagar, etc. etc.)

Perfil MP  
Objetivo: Re: ¿ Cuando Se Debe Crear Un Evento ?
Pues habrá que crear ejemplos con "evientos" para verlos mejor.


Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.3932s (PHP: -77% SQL: 177%)
Consultas SQL: 44 - Debug off - GZIP Activado