private void gameRender() throws CanvasException {
        if (oImg == null) {
            if (VectorWorld.DEBUG_GFX) {
                System.err.println("oImg is null");
            }
            throw new CanvasException("oImg is null");
        }
        oImg.flush();
        offscreen = oImg.createGraphics();
        if (offscreen == null) {
            if (VectorWorld.DEBUG_GFX) {
                System.err.println("offscreen is null");
            }
            throw new CanvasException("offscreen is null");
        }
        offscreen.setColor(Color.white);
        offscreen.fillRect(0, 0, PWIDTH, PHEIGHT);
        offscreen.setColor(Color.BLACK);

        // TODO: draw graphics to represent game state
        drawEdges(offscreen, puzz);
        drawVerts(offscreen, puzz);
        drawOlapCounter(offscreen,puzz);

        offscreen.dispose();
    }