I got back to this after more than three years. This update is mostly to wrap up the changes that were waiting for deployment all those years. Parts of codes moved around, all keys should now be shown in help (though after all that time I do not even remember what was missing) and units getting loaded into transporters use all their left moves doing so. if you exit out of freeroaming (J) on an empty tile the cursor jumps back to the last selected unit.
In the meantime Imgur seems to have started distinguishing more between images and posts. I could not find a way how to edit description of uploaded file, it seems you now just need to make a post and do it there. Here you can see the game in progress: each side has capture extra town, ships are slowly moving in. Selected yellow one has one army inside, red one has two and was recently selected. Printouts show the same situation, with few extra debugging lines about "current unit" so that I check if cursor behaves properly.
v18 dev
=========
- help is now listing all keys
- help shown after the first load of new map
- units use all left moves when loaded, unless they are loaded into towns
- even units with 0 moves left show their moves in their info
- added "End of turn" marker
- added licensing/contact info also to this info file and not just to gem specs
- several exception handlers added to Cursor
- units stored in Tile class
fixed: units are still stored via Map class instead of Tile one
- movement and function keys processed in Cursor, movement checked in Unit
fixed: units are still accessed via Window class instead of Cursor one
- moving of cursor stores the current unit so it can possibly get moved (again)
- function setting of units separated to its own method
- autodisabling of freeroam mode on each end of turn moved to the start of next turn
newly found issues
--------------------
! help should be shown after each load of new map
! transported units can't get commands from freeroaming cursor
! transported units don't function properly, their transports secretly function instead of them
! unit info shown twice at the start of the first turn
! units which can't build can still have function set to build (though they do protest)
file changes
--------------
empi.rb
help shown at the start of game
"End of turn" marker
removed calling of @map.draw_units
removed search for next movable unit
map.rb
all_map_units() uses indirect access via get_unit()
get_unit(), set_unit() access given coordinates of @tiles
draw_units() and @units removed
unit.rb
removed processing of movement and function keys
info() uses @moves_max > 0 instead of can_move()
check_movement() sets @moves_left to 1 when unit is loaded so it then gets lowered to 0
cursor.rb
switch_freeroam() renamed to switch_freeroam!()
+move! - Move by given change of coordinates
+to_next_unit! - Find next unit to target with cursor
@unit
+set_function_to_unit(func) - Tries to set function <func> to currently selected unit
tile.rb
@unit
infopane.rb
removed one space from score output
docu/Empi v18.png
docu/Empi v18 - printouts.png
current state
===============
old wishlist
! no panning of map
!x no destruction of units
!x no building of units
! no victory conditions
!x battling units capture instead of damaging
! attacker always wins
! player playing both factions at once
!x hardcoded starting scenario
! no fog of war
! no saving
!x no loading
! no title screen
! no highscore screen
! no settings
! no sound, no music
new problems
! hardcoded save file name
! hardcoded map size
! hardcoded unit type to be built
! transported units are never drawn
!x transported units show only info of their transport instead when selected
!x all units can capture and visit towns
!x units are still stored via Map class instead of Tile one
!x units are still accessed via Window class instead of Cursor one
! damaged units are destroyed
! transported units show in infopane info of their transport instead when selected
! capturing town with units leaves those enemy units inside
! help should be shown after each load of new map
! transported units can't get commands from freeroaming cursor
! transported units don't function properly, their transports secretly function instead of them
! unit info shown twice at the start of the first turn
! units which can't build can still have function set to build (though they do protest)
(! thing to fix, !x fixed thing)