Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Temas relacionados > Debates
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 06-10-2013
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 27
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
No tengo ni idea de GO, así que no sé muy bien cómo va; y la verdad es que me pierdo con eso del YIELD y las corrutinas...

Los mensajes no son GOTOs, ya que modifican el flujo del programa. Es más, es que en mi lenguaje no se definen flujos de ejecución, en el sentido estricto. Tanto las respuestas a mensajes como las descripciones de los estados se ejecutan en un tick o, quizá mejor dicho, en una iteración del bucle principal de juego. Es decir:
Código Delphi [-]
  PROCEDURE BucleJuego;
  BEGIN
    REPEAT
      ObtieneEntradasJugador; { Teclado, ratón, mando de juego... }
      ActualizaEstadosActores;
      DespachaMensajesPendientes;
      DibujaNuevoFotograma;
    UNTIL FinJuego;
  END;
ActualizaEstadosActores y DespachaMensajesPendientes son los puntos de entrada al intérprete del lenguaje. En el primero se ejecuta la rutina del estado actual del actor y en el segundo se despachan los mensajes de la cola de pendientes.

Hay que tener en cuenta, también, que puede establecerse un retardo al envío de un mensaje. Es decir, que pueden funcionar como una especie de "alarma". Por ejemplo, cuando el minero Bob llega a casa avisa a su esposa Helen; la respuesta podría ser:
Código:
ACTOR Helen IS Wife
 ...

  MESSAGE EnCasa
    IF SENDER = Esposo
      Msg "Hi hun.  I'll prepare your dinna'."
      SEND MESSAGE CenaLista TO SELF DELAY 100
    END IF
  END MESSAGE

  MESSAGE CenaLista
    IF SENDER = SELF
      Msg "Hun, her' are your dinna'."
      SEND MESSAGE CenaLista TO Esposo
    END IF
  END
 ...
END ACTOR
Como ves, las respuestas a estos mensajes no modifican el estado de la esposa, por lo que no modifican el "flujo" del programa.

No sé si esto aclara algo. Espero que sí.

Última edición por Ñuño Martínez fecha: 06-10-2013 a las 12:12:04.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Nuevo Foro Morfik programacion web /pascal ASAPLTDA Debates 32 10-12-2010 22:16:51
Nuevo tipo /contrato mant de Embarcadero avmm2004 Noticias 52 04-03-2009 17:22:50
Tipo de dato C a Pascal Young Varios 1 23-02-2009 17:21:11
crear un programa tipo pascal que funcione con el disco de inicio ms-dos kurono Varios 5 14-03-2008 22:28:17
manual de excepciones de object pascal para free pascal??? Garion OOP 3 27-05-2005 00:42:29


La franja horaria es GMT +2. Ahora son las 06:40:24.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi