home
·
contact
·
privacy
projects
/
plomrogue
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added diagonal movement, with a 1.4 penalty.
[plomrogue]
/
src
/
server
/
yx_uint16.c
diff --git
a/src/server/yx_uint16.c
b/src/server/yx_uint16.c
index d79300008bf98d33f43827ff860340adfb1e7a33..e64e98fa44b97139543aef44ce260acbf4bf59e2 100644
(file)
--- a/
src/server/yx_uint16.c
+++ b/
src/server/yx_uint16.c
@@
-19,20
+19,40
@@
extern uint8_t yx_uint16_cmp(struct yx_uint16 * a, struct yx_uint16 * b)
extern struct yx_uint16 mv_yx_in_dir(char d, struct yx_uint16 yx)
{
extern struct yx_uint16 mv_yx_in_dir(char d, struct yx_uint16 yx)
{
- if (d == '
N
' && yx.y > 0)
+ if (d == '
8
' && yx.y > 0)
{
yx.y--;
}
{
yx.y--;
}
- else if (d == '
E'
&& yx.x < UINT16_MAX)
+ else if (d == '
9' && yx.y > 0
&& yx.x < UINT16_MAX)
{
{
+ yx.y--;
+ yx.x++;
+ }
+ else if (d == '6' && yx.x < UINT16_MAX)
+ {
+ yx.x++;
+ }
+ else if (d == '3' && yx.x < UINT16_MAX && yx.y < UINT16_MAX)
+ {
+ yx.y++;
yx.x++;
}
yx.x++;
}
- else if (d == '
S
' && yx.y < UINT16_MAX)
+ else if (d == '
2
' && yx.y < UINT16_MAX)
{
yx.y++;
}
{
yx.y++;
}
- else if (d == '
W'
&& yx.x > 0)
+ else if (d == '
1' && yx.y < UINT16_MAX
&& yx.x > 0)
{
{
+ yx.y++;
+ yx.x--;
+ }
+ else if (d == '4' && yx.x > 0)
+ {
+ yx.x--;
+ }
+ else if (d == '7' && yx.x > 0 && yx.y > 0)
+ {
+ yx.y--;
yx.x--;
}
return yx;
yx.x--;
}
return yx;