 		}
 }
 
+int fillLinesDirection = 0;
+void fillLinesScene(bool changed) {
+		if (changed) {
+				TV.bitmap(BMP_X, BMP_Y, getRandomSymbol());
+				screenToBackBuffer();
+				TV.clear_screen();
+				fillLinesDirection = random(4);		
+		}
+
+		int x = random(WIDTH);
+		int y = random(HEIGHT);
+
+		while (!backBufferGet(x, y)) {
+				TV.set_pixel(x, y, 1);
+
+				switch (fillLinesDirection) {
+						case UP:
+								y--;
+								break;
+						case DOWN:
+								y++;
+								break;
+						case RIGHT:
+								x++;
+								break;
+						case LEFT:
+								x--;
+								break;
+				}
+
+				if (x < 0 || x > WIDTH - 1 || y < 0 || y > HEIGHT - 1) {
+						break;
+				}
+		}
+
+		TV.delay_frame(1);
+		
+		checkSceneEnded(25);
+}
+
+unsigned int circleCounter = 0;
+void circlesScene(bool changed) {
+		if (changed) {
+
+		}
+
+		for (int i = 0; i < HEIGHT / 2; i++) {
+				TV.draw_circle(WIDTH / 2, HEIGHT / 2, i, (i + circleCounter) % 2);
+				TV.delay_frame(1);
+		}
+
+		circleCounter++;
+		
+		checkSceneEnded(15);
+}
+
 void loop() {
 		bool changed = false;
 		if (currentScene != lastScene) {

		FADE_IN,
		WHITE_BEAR,
		PARTY_WORDS,
		TOTAL
};

//TODO: Re-enable "verify code" in Arduino IDE

Scene currentScene = PARTY_WORDS;
Scene lastScene = -1;
TVout TV;
unsigned long startTime = 0;

				case PARTY_WORDS:
						partyWordsScene();
						break;
				case FILL_LINES:
						fillLinesScene(changed);
						break;
				case CIRCLES:
						circlesScene(changed);
						break;
				default:
						TV.print("Invalid scene. ");
						TV.delay(1000);
