Introduction
Introduction Statistics Contact Development Disclaimer Help
Updated - gnuskii - GNUSki improved for ascii skiing experience.
git clone git://bitreich.org/gnuskii git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws…
Log
Files
Refs
Tags
README
LICENSE
---
commit 87b943aed70c17b78f041e9b92e0e4240b3dbbc9
parent b964e57401e264dbf9a4804eb6d99714f7305a0e
Author: Rudolf Olah <[email protected]>
Date: Mon, 27 Jun 2005 21:50:56 -0400
Updated
Diffstat:
M src/draw.h | 200 ++++++++++++++++++++++++++---…
1 file changed, 170 insertions(+), 30 deletions(-)
---
diff --git a/src/draw.h b/src/draw.h
@@ -24,34 +24,158 @@ void add(int x, int y, char d)
addch(d);
};
-void drawSkiDude(int x, int y, int angle)
+class object
{
- color_set(COLOR_CYAN,0);
+private:
+public:
+ int x, y;
+ object();
+ object(int newX, int newY);
+ virtual void draw();
+ virtual int getX();
+ virtual int getY();
+};
+
+object::object()
+{
+ x = 0;
+ y = 0;
+};
+
+object::object(int newX, int newY)
+{
+ x = newX;
+ y = newY;
+};
+
+void object::draw()
+{
+};
+
+int object::getX()
+{
+ return x;
+};
+
+int object::getY()
+{
+ return y;
+};
+
+
+
+
+class skiDude : public object
+{
+private:
+ int nextX, nextY;
+ int angle;
+public:
+ skiDude(int newX, int newY, int newAngle);
+ void crash();
+ void draw();
+ void setX(int newX);
+ void setY(int newY);
+ void setAngle(int newAngle);
+ int getX();
+ int getY();
+ int getNextX();
+ int getNextY();
+ int getAngle();
+};
+
+void skiDude::setX(int newX)
+{
+ x = newX;
+ nextX = newX + 1;
+};
+
+void skiDude::setY(int newY)
+{
+ y = newY;
+ switch (angle)
+ {
+ case angle_l:
+ case angle_cl: nextY = newY + 1;
+ break;
+ case angle_c: nextY = newY;
+ break;
+ case angle_r:
+ case angle_cr: nextY = newY - 1;
+ break;
+ };
+ nextY = newY + 1;
+};
+
+void skiDude::setAngle(int newAngle)
+{
+ if (newAngle > 4)
+ angle = 4;
+ else if (newAngle < 0)
+ angle = 0;
+ else
+ angle = newAngle;
+};
+
+int skiDude::getX() { return x; };
+
+int skiDude::getY() { return y; };
+
+int skiDude::getNextX() { return nextX; };
+
+int skiDude::getNextY() { return nextY; };
+
+int skiDude::getAngle() { return angle; };
+
+skiDude::skiDude(int newX, int newY, int newAngle)
+{
+ setAngle(newAngle);
+ setX(newX);
+ setY(newY);
+};
+
+void skiDude::crash()
+{
+ add(x, y, 'X');
+};
+
+void skiDude::draw()
+{
+ color_set(COLOR_CYAN, 0);
switch (angle)
{
- /*
- case angle_l: add(y,x+2,'S'); add(y,x+1,'S'); …
- case angle_cl: add(y+2,x+2,'S'); add(y+1,x+1,'S'…
- case angle_c: add(y+2,x,'S'); add(y+1,x,'S'); …
- case angle_cr: add(y+2,x-2,'S'); add(y+1,x-1,'S'…
- case angle_r: add(y,x-2,'S'); add(y,x-1,'S'); …
- */
- case angle_l: add(y,x+1,'|'); //add(y,x+2,'|');
- add(y+1,x+1,'|'); //add…
+ case angle_l: add(y, x+1, '|');
+ add(y+1, x+1, '|');
break;
- case angle_cl: add(y+1,x+1,'\\'); //add(y+2,x+2,…
- add(y+2,x+1,'\\'); //ad…
+ case angle_cl: add(y+1, x+1, '\\');
+ add(y+2, x+1, '\\');
break;
- case angle_c: add(y+1,x,'='); //add(y+2,x,'=');
+ case angle_c: add(y+1, x, '=');
break;
- case angle_cr: add(y+1,x-1,'/'); //add(y+2,x-2,'…
- add(y+2,x-1,'/'); //add…
+ case angle_cr: add(y+1, x-1, '/');
+ add(y+2, x-1, '/');
break;
- case angle_r: add(y,x-2,'|'); //add(y,x-1,'|');
- add(y+1,x-2,'|'); //add…
+ case angle_r: add(y, x-2, '|');
+ add(y+1, x-2, '|');
break;
};
- color_set(COLOR_WHITE,0);
+ color_set(COLOR_WHITE, 0);
+};
+
+
+
+
+class tree : public object
+{
+public:
+ tree(int newX, int newY);
+ void draw();
+};
+
+tree::tree(int newX, int newY)
+{
+ x = newX;
+ y = newY;
};
//Draws a tree
@@ -60,25 +184,41 @@ void drawSkiDude(int x, int y, int angle)
/|\
|
*/
-void drawTree(int x, int y)
+void tree::draw()
+{
+ color_set(COLOR_GREEN, 0);
+ add(x, y, '/'); add(x+2, y, '\\');
+ add(x, y+1, '/'); add(x+2, y+1, '\\');
+ color_set(COLOR_YELLOW, 0);
+ add(x+1, y, '|'); add(x+1, y+1, '|'); add(x+1, y+2, '|');
+ color_set(COLOR_WHITE, 0);
+};
+
+
+
+
+class rock : public object
+{
+public:
+ rock(int newX, int newY);
+ void draw();
+};
+
+rock::rock(int newX, int newY)
{
- color_set(COLOR_GREEN,0);
- add(x,y,'/'); add(x+2,y,'\\');
- add(x,y+1,'/'); add(x+2,y+1,'\\');
- color_set(COLOR_YELLOW,0);
- add(x+1,y,'|'); add(x+1,y+1,'|'); add(x+1,y+2,'|');
- color_set(COLOR_WHITE,0);
+ x = newX;
+ y = newY;
};
//Draws a rock
/*
@
*/
-void drawRock(int x, int y)
+void rock::draw()
{
- color_set(COLOR_WHITE,0);
- add(x,y,'@');
- color_set(COLOR_WHITE,0);
+ color_set(COLOR_WHITE, 0);
+ add(x, y, '@');
+ color_set(COLOR_WHITE, 0);
};
#endif
You are viewing proxied material from bitreich.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.