package org.teachingkidsprogramming.recipes.quizzes.graders; import org.teachingextensions.logo.Tortoise; import org.teachingextensions.logo.Turtle; import org.teachingextensions.logo.utils.ColorUtils.PenColors; import org.teachingextensions.logo.utils.LineAndShapeUtils.Paintable; import org.teachingextensions.logo.utils.TortoiseUtils; import java.awt.*; public class QuizUtils { public static void displayScores(Graphics2D g, int x, boolean[] answers) { g.setColor(PenColors.Blues.CornflowerBlue); g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); g.setFont(new Font("Tahoma", Font.BOLD, 14)); int y = 80; int correct = 0; for (boolean b : answers) { if (b) { correct++; } } g.drawString(String.format("You Scored %s out of %s", correct, answers.length), x, y); for (int i = 0; i < answers.length; i++) { boolean b = answers[i]; y += 25; g.setColor(PenColors.Blues.LightBlue); g.drawString(String.format("Question %s - ", i + 1), x, y); if (b) { g.setColor(PenColors.Greens.ForestGreen); g.drawString("Pass", x + 90, y); } else { g.setColor(PenColors.Reds.Red); g.drawString("Fail", x + 90, y); } } } public static void prepareScoringScreen(boolean[] answers, Paintable paintable, int turtleSpeed) { TortoiseUtils.resetTurtle(); Tortoise.setSpeed(turtleSpeed); Tortoise.getBackgroundWindow().setColor(Color.black); Tortoise.getBackgroundWindow().getCanvas().add(paintable); Tortoise.show(); } public static Turtle createTestTurtle() { Turtle turtle = new Turtle(); turtle.setSpeed(Turtle.TEST_SPEED); return turtle; } }