mirror of
https://github.com/rzzzwilson/pymlac.git
synced 2025-06-10 09:32:41 +00:00
Got 'Imlac' text moving around screen
This commit is contained in:
@@ -37,37 +37,110 @@ DLine Char_I[] = {{REL, OFF, 0, -6},
|
||||
{REL, OFF, -1, 0},
|
||||
{REL, ON, 2, 0},
|
||||
};
|
||||
int len_Char_I = (sizeof(Char_I) / sizeof(Char_I[0]));
|
||||
|
||||
DLine Char_m[] = {{REL, ON, 0, -3},
|
||||
{REL, ON, 1, -1},
|
||||
{REL, ON, 0, 1},
|
||||
{REL, ON, 1, 1},
|
||||
{REL, ON, 0, 1},
|
||||
{REL, OFF, 0, -1},
|
||||
{REL, ON, 1, -1},
|
||||
{REL, ON, 1, 1},
|
||||
{REL, ON, 0, 3},
|
||||
};
|
||||
int len_Char_m = (sizeof(Char_m) / sizeof(Char_m[0]));
|
||||
|
||||
int Magnification = 5;
|
||||
DLine Char_l[] = {{REL, OFF, 1, 0},
|
||||
{REL, ON, -1, -1},
|
||||
{REL, ON, 0, -5},
|
||||
};
|
||||
int len_Char_l = (sizeof(Char_l) / sizeof(Char_l[0]));
|
||||
|
||||
DLine Char_a[] = {{REL, OFF, 0, -1},
|
||||
{REL, ON, 0, -2},
|
||||
{REL, ON, 1, -1},
|
||||
{REL, ON, 2, 0},
|
||||
{REL, ON, 1, 1},
|
||||
{REL, ON, 0, 3},
|
||||
{REL, OFF, -4, -1},
|
||||
{REL, ON, 1, 1},
|
||||
{REL, ON, 1, 0},
|
||||
{REL, ON, 2, -2},
|
||||
};
|
||||
int len_Char_a = (sizeof(Char_a) / sizeof(Char_a[0]));
|
||||
|
||||
DLine Char_c[] = {{REL, OFF, 3, -1},
|
||||
{REL, ON, -1, 1},
|
||||
{REL, ON, -1, 0},
|
||||
{REL, ON, -1, -1},
|
||||
{REL, ON, 0, -2},
|
||||
{REL, ON, 1, -1},
|
||||
{REL, ON, 1, 0},
|
||||
{REL, ON, 1, 1},
|
||||
};
|
||||
int len_Char_c = (sizeof(Char_c) / sizeof(Char_c[0]));
|
||||
|
||||
int Magnification = 4;
|
||||
|
||||
|
||||
unsigned int
|
||||
make_drawlist(void)
|
||||
{
|
||||
static int x_origin = 10;
|
||||
static int y_origin = 45;
|
||||
static int deltax = 2;
|
||||
static int deltay = 1;
|
||||
|
||||
drawlist_end = 0;
|
||||
|
||||
DLine dline = {ABS, OFF, 100, 100};
|
||||
memcpy(&drawlist[drawlist_end], &dline, sizeof(DLine));
|
||||
DLine dline = {ABS, OFF, x_origin, y_origin};
|
||||
memcpy(&drawlist[drawlist_end], &dline, sizeof(dline));
|
||||
++drawlist_end;
|
||||
|
||||
memcpy(&drawlist[drawlist_end], Char_I, sizeof(Char_I));
|
||||
drawlist_end += sizeof(Char_I);
|
||||
drawlist_end += len_Char_I;
|
||||
|
||||
DLine dline2 = {ABS, OFF, 106, 100};
|
||||
memcpy(&drawlist[drawlist_end], &dline2, sizeof(DLine));
|
||||
DLine dline2 = {ABS, OFF, x_origin+4, y_origin};
|
||||
memcpy(&drawlist[drawlist_end], &dline2, sizeof(dline2));
|
||||
++drawlist_end;
|
||||
|
||||
memcpy(&drawlist[drawlist_end], Char_m, sizeof(Char_m));
|
||||
drawlist_end += sizeof(Char_m);
|
||||
drawlist_end += len_Char_m;
|
||||
|
||||
DLine dline3 = {ABS, OFF, x_origin+10, y_origin};
|
||||
memcpy(&drawlist[drawlist_end], &dline3, sizeof(dline3));
|
||||
++drawlist_end;
|
||||
|
||||
memcpy(&drawlist[drawlist_end], Char_l, sizeof(Char_l));
|
||||
drawlist_end += len_Char_l;
|
||||
|
||||
DLine dline4 = {ABS, OFF, x_origin+13, y_origin};
|
||||
memcpy(&drawlist[drawlist_end], &dline4, sizeof(dline4));
|
||||
++drawlist_end;
|
||||
|
||||
memcpy(&drawlist[drawlist_end], Char_a, sizeof(Char_a));
|
||||
drawlist_end += len_Char_a;
|
||||
|
||||
DLine dline5 = {ABS, OFF, x_origin+19, y_origin};
|
||||
memcpy(&drawlist[drawlist_end], &dline5, sizeof(dline5));
|
||||
++drawlist_end;
|
||||
|
||||
memcpy(&drawlist[drawlist_end], Char_c, sizeof(Char_c));
|
||||
drawlist_end += len_Char_c;
|
||||
|
||||
// move origins
|
||||
x_origin += deltax;
|
||||
y_origin += deltay;
|
||||
|
||||
if (x_origin > 200 || x_origin < 10)
|
||||
{
|
||||
deltax = -deltax;
|
||||
}
|
||||
|
||||
if (y_origin > 230 || y_origin < 10)
|
||||
{
|
||||
deltay = -deltay;
|
||||
}
|
||||
|
||||
return drawlist_end;
|
||||
}
|
||||
@@ -152,7 +225,7 @@ main(int argc, char **argv)
|
||||
{
|
||||
drawlist_end = make_drawlist();
|
||||
|
||||
SDL_Delay(5);
|
||||
SDL_Delay(30);
|
||||
SDL_PollEvent(&event);
|
||||
|
||||
switch (event.type)
|
||||
@@ -191,6 +264,7 @@ main(int argc, char **argv)
|
||||
enum BEAM beam = drawlist[dindex].beam;
|
||||
int dx = drawlist[dindex].dx * Magnification;
|
||||
int dy = drawlist[dindex].dy * Magnification;
|
||||
|
||||
unsigned int new_x;
|
||||
unsigned int new_y;
|
||||
|
||||
@@ -200,7 +274,9 @@ main(int argc, char **argv)
|
||||
new_y = dy;
|
||||
|
||||
if (beam == ON)
|
||||
SDL_RenderDrawLine(renderer, abs_x, abs_y, new_x + 1, new_y + 1);
|
||||
{
|
||||
SDL_RenderDrawLine(renderer, abs_x, abs_y, new_x, new_y);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -208,7 +284,9 @@ main(int argc, char **argv)
|
||||
new_y = abs_y + dy;
|
||||
|
||||
if (beam == ON)
|
||||
SDL_RenderDrawLine(renderer, abs_x, abs_y, new_x + 1, new_y + 1);
|
||||
{
|
||||
SDL_RenderDrawLine(renderer, abs_x, abs_y, new_x, new_y);
|
||||
}
|
||||
}
|
||||
|
||||
abs_x = new_x;
|
||||
|
||||
Reference in New Issue
Block a user