#include <stdio.h>
struct snake_part {
int x, y;
struct snake_part *next;
};
struct snake {
struct snake_part *head;
int direction;
};
struct snake create_snake(int head_x, int head_y) {
struct snake_part
*head
= malloc(sizeof *head
); head->x = head_x;
head->y = head_y;
head->next = NULL;
struct snake s = {head, 2};
return s;
}
void print_snake_info(struct snake *s) {
printf("snake head coordinates: x: %d, y: %d\n", s
->head
->x
, s
->head
->y
); printf("snake direction: %d\n", s
->direction
); }
int main() {
struct snake s = create_snake(10, 10);
print_snake_info(&s);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgpzdHJ1Y3Qgc25ha2VfcGFydCB7CiAgICBpbnQgeCwgeTsKICAgIHN0cnVjdCBzbmFrZV9wYXJ0ICpuZXh0Owp9OwoKc3RydWN0IHNuYWtlIHsKICAgIHN0cnVjdCBzbmFrZV9wYXJ0ICpoZWFkOwogICAgaW50IGRpcmVjdGlvbjsKfTsKCnN0cnVjdCBzbmFrZSBjcmVhdGVfc25ha2UoaW50IGhlYWRfeCwgaW50IGhlYWRfeSkgewogICAgc3RydWN0IHNuYWtlX3BhcnQgKmhlYWQgPSBtYWxsb2Moc2l6ZW9mICpoZWFkKTsKICAgIGhlYWQtPnggPSBoZWFkX3g7CiAgICBoZWFkLT55ID0gaGVhZF95OwogICAgaGVhZC0+bmV4dCA9IE5VTEw7CgogICAgc3RydWN0IHNuYWtlIHMgPSB7aGVhZCwgMn07CiAgICByZXR1cm4gczsKfQoKdm9pZCBwcmludF9zbmFrZV9pbmZvKHN0cnVjdCBzbmFrZSAqcykgewogICAgcHJpbnRmKCJzbmFrZSBoZWFkIGNvb3JkaW5hdGVzOiB4OiAlZCwgeTogJWRcbiIsIHMtPmhlYWQtPngsIHMtPmhlYWQtPnkpOwogICAgcHJpbnRmKCJzbmFrZSBkaXJlY3Rpb246ICVkXG4iLCBzLT5kaXJlY3Rpb24pOwp9CgppbnQgbWFpbigpIHsKICAgIHN0cnVjdCBzbmFrZSBzID0gY3JlYXRlX3NuYWtlKDEwLCAxMCk7CgogICAgcHJpbnRfc25ha2VfaW5mbygmcyk7CgogICAgcmV0dXJuIDA7Cn0=