Rename student examples

This commit is contained in:
2021-10-17 23:29:44 -07:00
parent 0101f0c6da
commit ee88b2faa6

View File

@@ -24,7 +24,7 @@ static int actualIdx = 0;
/* drawReferenceLine implementation. */ /* drawReferenceLine implementation. */
void drawReferenceLine(int x0, int y0, int x1, int y1) { void drawReferenceLine(int x0, int y0, int x1, int y1) {
if (referenceIdx < sizeof(referenceLines) / sizeof(line_t)) { if (referenceIdx < sizeof(referenceLines) / sizeof(line_t)) {
referenceLines[referenceIdx++] = (line_t) {x0, y0, x1, y1}; referenceLines[referenceIdx++] = (line_t) {.x0 = x0, .y0 = y0, .x1 = x1, .y1 = y1};
} else { } else {
exit(1); exit(1);
} }
@@ -33,7 +33,7 @@ void drawReferenceLine(int x0, int y0, int x1, int y1) {
/* drawLine implementation. */ /* drawLine implementation. */
void drawLine(int x0, int y0, int x1, int y1) { void drawLine(int x0, int y0, int x1, int y1) {
if (actualIdx < sizeof(actualLines) / sizeof(line_t)) { if (actualIdx < sizeof(actualLines) / sizeof(line_t)) {
actualLines[actualIdx++] = (line_t) {x0, y0, x1, y1}; actualLines[actualIdx++] = (line_t) {.x0 = x0, .y0 = y0, .x1 = x1, .y1 = y1};
} else { } else {
exit(1); exit(1);
} }
@@ -41,8 +41,25 @@ void drawLine(int x0, int y0, int x1, int y1) {
/* drawSquare implementations follow. */ /* drawSquare implementations follow. */
void drawSquareWeird(int x, int y, int len) static void drawSquareStudent1(int x, int y, int len) {
if (x+len > 10){
len = 10-x;
}
if (y+len > 10){
len = 10-y;
}
drawLine(x, y, x+len, y);
drawLine(x, y, x, y+len);
drawLine(x+len, y, x+len, y+len);
drawLine(x, y+len, x+len, y+len);
}
void drawSquareStudent2(int x, int y, int len)
{ {
if(((x+len<10) && (x-len>= 0)) && ((y-len>0) && (y+len<=10)) && len>0) if(((x+len<10) && (x-len>= 0)) && ((y-len>0) && (y+len<=10)) && len>0)
@@ -88,22 +105,37 @@ void drawSquareWeird(int x, int y, int len)
} }
} }
static void drawSquareAlmostCorrect(int x, int y, int len) { void drawSquareStudent3(int x, int y, int len)
if (x+len > 10){ {
len = 10-x; if (0 <= x && x > 10 && 0 < y && y <= 10 && len > 0){
drawLine(x, y, x + len, y);
drawLine(x + len, y, x + len, y - len);
drawLine(x + len, y - len, x, y - len);
drawLine(x, y - len, x, y);
} }
if (y+len > 10){ else if (x + len < 0|| y - len >= 10){
len = 10-y;
len++;
drawLine(x, y, x + len, y);
drawLine(x + len, y, x + len, y - len);
drawLine(x + len, y - len, x, y - len);
drawLine(x, y - len, x, y);
} }
drawLine(x, y, x+len, y); else {
drawLine(x, y, x, y+len); len--;
drawLine(x+len, y, x+len, y+len); drawLine(x, y, x + len, y);
drawLine(x, y+len, x+len, y+len); drawLine(x + len, y, x + len, y - len);
drawLine(x + len, y - len, x, y - len);
drawLine(x, y - len, x, y);
}
} }
/* Example drawSquare that's just drawReferenceSquare reordered. */ /* Example drawSquare that's just drawReferenceSquare reordered. */