Free Hero Mesh

Check-in [215e7bbe96]
Login
This is a mirror of the main repository for Free Hero Mesh. New tickets and changes will not be accepted at this mirror.
Overview
Comment:Implement shift+leftclick to try to move Hero the number of steps toward where it is clicked, similar to the MESH:Hero.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 215e7bbe96ae594a63780028948a906f5feb7d4c
User & Date: user on 2023-09-03 23:39:52.518
Other Links: manifest | tags
Context
2023-10-13
04:11
Add the ^? command (which is used only for debugging and may be changed in future). check-in: 8ad7607451 user: user tags: trunk
2023-09-03
23:39
Implement shift+leftclick to try to move Hero the number of steps toward where it is clicked, similar to the MESH:Hero. check-in: 215e7bbe96 user: user tags: trunk
2023-08-29
19:25
Make CTRL+DEL to delete all moves ahead of the current point in the move list, as described in a note in the HEARTS1 puzzle set. check-in: e5df02f6f7 user: user tags: trunk
Changes
102
103
104
105
106
107
108

109
110
111
112
113
114
115
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116







+







?.gameKey.alt.O: 'SCRLOCK
?.gameKey.alt.S: 'SHIFT
?.gameKey.alt.T: 'TAB
?.gameKey.alt.Z: 'CTRL

! Game key bindings
?.gameClick.left: select 'xy',$X,$Y where has_xy_input();
?.gameClick.shift.left: with p(x,y) as materialized (select o.x,o.y from objects o,classes c on(o.class=c.id) where c.player limit 1), n(n) as (select max(1,abs($X-x),abs($Y-y)) n from p union all select n-1 m from n where m) select ''' ',case sign($X-p.x)*3+sign($Y-p.y) when -4 then 36 when -3 then 37 when -2 then 35 when -1 then 38 when 0 then 12 when 1 then 40 when 2 then 33 when 3 then 39 when 4 then 34 end from p,n where abs($X-p.x)=abs($Y-p.y) or $X=p.x or $Y=p.y;
?.gameKey.ctrl.D: select '^d',$key_xy;
?.gameKey.ctrl.E: ^E
?.gameKey.ctrl.I: select 'mi',:import_move_list;
?.gameKey.ctrl.K: with a(x,y,z) as (select count() filter (where solved),count() filter (where solved or solvable),count() from levels) select ':m',x||'/'||y||' ('||(100*x/y)||'%)'||iif(z-y,' + '||(z-y),'') from a;
?.gameKey.ctrl.L: ^L
?.gameKey.ctrl.R: select 'go',id from levels order by random() limit 1;
?.gameKey.ctrl.X: select 'mx',:export_move_list;