Asalto y castigo [en MasterBASIC con MBim, para SAM Coupé]
Descripción del contenido de la página
Versión de Asalto y castigo escrita en MasterBASIC con MBim para SAM Coupé.
Proyecto durmiente. Iniciado en 2011-07-24. 70% completado.
Esta segunda versión mía de Asalto y castigo es una conversión de la versión anterior para QL. Era mucho más fácil hacer la traducción al MasterBASIC de la SAM Coupé desde el código en SuperBASIC de la QL que desde cualquiera de las versiones originales en dialectos de BASIC no estructurados. La estructuración del programa en procedimientos ya estaba hecha en la versión para QL.
El proyecto empezó al poco de publicar la versión para QL, pero enseguida quedó aparcado y durmió durante meses (entre 2011-08 y 2012-11), debido a que MBimport no era aún fiable; de hecho el proyecto estuvo abandonado porque parecía imposible lograr que esta herramienta por fin funcionara bien. En 2012-11 se retomó el desarrollo de MBimport y por fin se logró hacerlo funcionar suficientemente bien, aunque el problema de fondo residía en el sistema operativo.
La conversión
La conversión de SuperBASIC a MasterBASIC es fácil, y gracias a MBim puede hacerse cómodamente, con un editor como Vim.
MasterBASIC carece de la estructura select
y de funciones largas. La primera debe simularse con if
- else if
y las segundas sustituirse con funciones cortas creadas con deffn
(que permiten un solo cálculo) y con procedimientos que usen parámetros pasados por referencia con ref
. También hay que tener en cuenta el alcance de las variables, su inicialización predeterminada y los cambios de tipo automáticos que hace SuperBASIC. Un detalle que hay que cuidar es la adaptación de los bucles y estructuras de control cortos de SuperBASIC.
El detalle de los principales pasos dados durante la conversión puede leerse al comienzo del historial de desarrollo.
Novedades
El programa tendrá algunas novedades respecto a la versión para QL y las versiones originales:
Técnicas: Preparación anticipada de sus datos, para ahorrar memoria; un intérprete de comandos un poco más sofisticado.
Estéticas: La fotografía de la carátula original será utilizada como fondo bajo la ventana de texto. Quizá también otras, dependiendo del tipo de escenario.
Argumentales: alguna pequeña novedad está en el horno de las ideas, algo que anime a probar la aventura aunque se conozca la versión original.
En el momento de actualizar estas líneas (2012-12), la conversión está muy avanzada. El siguiente paso es solucionar la adaptación de las matrices (índices que comienzan en uno en lugar de en cero, y la cuestión de la longitud fija de los elementos de las matrices de texto).
Pantallazos
Imágenes del estado del programa en 2012-12-12. Se aprecia que algunos caracteres aún no están definidos (el código fuente en formato MBim usa ISO 8859-1, que no coincide con el juego de caracteres propio de la SAM Coupé):