home
·
contact
·
privacy
projects
/
plomrogue
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add auto-mapping / map memory.
[plomrogue]
/
src
/
server
/
yx_uint8.c
diff --git
a/src/server/yx_uint8.c
b/src/server/yx_uint8.c
index 06fa81db7707cf9240280d328a3a4afc4317d684..8d47c82e505d85ec275bfaf98b1bf3dfc2a4e760 100644
(file)
--- a/
src/server/yx_uint8.c
+++ b/
src/server/yx_uint8.c
@@
-19,41
+19,33
@@
extern uint8_t yx_uint8_cmp(struct yx_uint8 * a, struct yx_uint8 * b)
extern struct yx_uint8 mv_yx_in_dir(char d, struct yx_uint8 yx)
{
extern struct yx_uint8 mv_yx_in_dir(char d, struct yx_uint8 yx)
{
- if
(d == '8' && yx.y > 0
)
+ if
(d == 'e' && yx.y > 0 && (yx.x < UINT8_MAX || !(yx.y % 2))
)
{
{
+ yx.x = yx.x + (yx.y % 2);
yx.y--;
}
yx.y--;
}
- else if (d == '
9' && yx.y > 0
&& yx.x < UINT8_MAX)
+ else if (d == '
d'
&& yx.x < UINT8_MAX)
{
{
- yx.y--;
- yx.x++;
- }
- else if (d == '6' && yx.x < UINT8_MAX)
- {
- yx.x++;
- }
- else if (d == '3' && yx.x < UINT8_MAX && yx.y < UINT8_MAX)
- {
- yx.y++;
yx.x++;
}
yx.x++;
}
- else if (d == '
2' && yx.y < UINT8_MAX
)
+ else if (d == '
c' && yx.y < UINT8_MAX && (yx.x < UINT8_MAX || !(yx.y % 2))
)
{
{
+ yx.x = yx.x + (yx.y % 2);
yx.y++;
}
yx.y++;
}
- else if (d == '
1' && yx.y < UINT8_MAX && yx.x > 0
)
+ else if (d == '
x' && yx.y < UINT8_MAX && (yx.x > 0 || yx.y % 2)
)
{
{
+ yx.x = yx.x - !(yx.y % 2);
yx.y++;
yx.y++;
- yx.x--;
}
}
- else if (d == '
4
' && yx.x > 0)
+ else if (d == '
s
' && yx.x > 0)
{
yx.x--;
}
{
yx.x--;
}
- else if (d == '
7' && yx.x > 0 && yx.y > 0
)
+ else if (d == '
w' && yx.y > 0 && (yx.x > 0 || yx.y % 2)
)
{
{
+ yx.x = yx.x - !(yx.y % 2);
yx.y--;
yx.y--;
- yx.x--;
}
return yx;
}
}
return yx;
}