Add huge matrix support
This commit is contained in:
parent
230d58e9c3
commit
00e6eddabe
34
IcePath.c
34
IcePath.c
|
@ -1,14 +1,13 @@
|
|||
#define VERSION "0.01"
|
||||
#define VERSION "0.10"
|
||||
|
||||
#define N 512
|
||||
#define SPEED 50000 // less is more
|
||||
#define SPEED 30000 // less is more
|
||||
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <ncurses.h>
|
||||
#include <unistd.h>
|
||||
|
||||
void printm();
|
||||
void play();
|
||||
|
@ -269,13 +268,36 @@ void move_ptr(int direction) {
|
|||
}
|
||||
|
||||
void printm() {
|
||||
int i, j;
|
||||
int i, j, a = 1, b = 1;
|
||||
int left = 0, right = 0, up = 0, down = 0;
|
||||
clear();
|
||||
printw("Level %d.%d: %s. Moves: %d. Use arrows to move.\nRetry [r]. Quit [q]\n\n", level[selected.pos].world, level[selected.pos].num, level[selected.pos].name, moves);
|
||||
if (level[selected.pos].height > 9 || level[selected.pos].width > 9)
|
||||
printw("Warning! Keep this window in fullscreen mode please\n\n\n");
|
||||
for (i = 0; i < level[selected.pos].height; i++) {
|
||||
for (j = 0; j < level[selected.pos].width; j++) {
|
||||
while (left + right < 18 && (a == 1 || a == 2)) {
|
||||
a = 0;
|
||||
if (ptr.x - left - 1 > 0) {
|
||||
left++;
|
||||
a++;
|
||||
}
|
||||
if (ptr.x + right + 1 < level[selected.pos].width) {
|
||||
right++;
|
||||
a++;
|
||||
}
|
||||
}
|
||||
while (up + down < 18 && (b == 1 || b == 2)) {
|
||||
b = 0;
|
||||
if (ptr.y - up - 1 > 0) {
|
||||
up++;
|
||||
b++;
|
||||
}
|
||||
if (ptr.y + down + 1 < level[selected.pos].height) {
|
||||
down++;
|
||||
b++;
|
||||
}
|
||||
}
|
||||
for (i = ptr.y - up - 1; i <= ptr.y + down; i++) {
|
||||
for (j = ptr.x - left - 1; j <= ptr.x + right; j++) {
|
||||
if (i == ptr.y && j == ptr.x) {
|
||||
printw("YOU");
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue