Great job! Can you tell us a little bit about what modules you used and maybe a general step-by-step to making the game? Do you plan to make a desktop port?
FIRST PART
To cklester and to everyone can be interested I put here a simple description of the steps that I followed to port the old code into B4A and to build a working app.
Before I have to say that the tutorials and the examples provided by Erel and many other members of this forum were precious in every step.
Please don't care if I list also steps that can be obvious.
1) Read tutorials about B4A, in particular those about the lifecycle of activities (i.e. this one:
https://www.b4x.com/etp.html?vimeography_gallery=1&vimeography_video=255402345)
2) Download some examples, and try to modify them, just to become familiar with the development environment and with the debugger. The B4A Bridge is a fantastic tool to get an app to run immediately on a device in release or in debug mode.
3) Put down the flow of the app, in natural language or with flow diagrams (...they are old stuff but always work and can be a great help).
4) Once the flow is clear in your mind you can start. Maybe the flow will change during the work, maybe it will be optimized or you'll have to find workarounds because you'll get stuck somewhere, but a clear initial plan is always a good start.
5) Design the user interface. I found the B4A Designer tool a excellent help. Give meaningful names to the panels, buttons, labels and other component: it will make easier to work with them in the code. IMPORTANT: it is always better to design and test a single or very few components of the UI at one time. So it is needed to set priorities, and slowly add the other components.
6) Declare variables and data structures that you think you'll need in your code. Here too, one starts with a minimum set, then the number of variables will grow during the development.
7) Fill the Sub Activity_Create with al the initialization code, like Activity.LoadLayout, Activity.Title, Activity.AddMenuItem, initialize the canvas where you'll want to draw, initialize your variables. Enable and make visible what you want to show at the start. For Salami I wrote a set of init subroutines called in the Activity_Create and in other parts of the code. These subroutines are small modules, each one performs a single task, one draws the initial grid, one sets the initial values for the matrix that will contain the status of the grid's cells, one sets the initial language, one checks the expire date of the app, and so on.
8) Test the results of the activity creation, that is: see if when you launch the app you get what you expect. It is a first important step, even if the app is still empty and, for instance, the menu items will not work, you'll add the other components one at a time.
----------------------------
Before this text becomes a book I stop here, just to know if I am writing what I was asked for.
To write a app being only one person is a difficult task. In all the software projects it should be good that the programs are tested by someon different from who wrote the code, but when you have to do all on your own I believe that it is needed a lot of order and organization, and a method that will reduce errors in design and coding. For this reason I have started in the way that you see, but if you want to know something else just ask.
I'll continue with a second and maybe a third part in another day. Have a good weekend to everyone!