// Path: 1.5.02-Exercise-ReciprocatingMotion/core/src/com/udacity/gamedev/reciprocatingmotion/ReciprocatingMotion.java
// public class ReciprocatingMotion extends ApplicationAdapter {
// 
//     private static final float WORLD_SIZE = 480;
//     private static final float CIRCLE_RADIUS = WORLD_SIZE / 20;
//     private static final float MOVEMENT_DISTANCE = WORLD_SIZE / 4;
// 
//     // TODO: Define a constant that fixes how long a cycle of the animation should take in seconds
// 
// 
//     ShapeRenderer renderer;
//     ExtendViewport viewport;
// 
//     // TODO: Create a long to hold onto ApplicationAdapter creation time
// 
// 
//     @Override
//     public void create() {
//         renderer = new ShapeRenderer();
//         viewport = new ExtendViewport(WORLD_SIZE, WORLD_SIZE);
// 
//         // TODO: Save current value of TimeUtils.nanoTime()
// 
//     }
// 
//     @Override
//     public void resize(int width, int height) {
//         viewport.update(width, height, true);
//     }
// 
//     @Override
//     public void dispose() {
//         renderer.dispose();
//     }
// 
//     @Override
//     public void render() {
//         viewport.apply();
// 
//         Gdx.gl.glClearColor(0, 0, 0, 1);
//         Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
// 
//         renderer.setProjectionMatrix(viewport.getCamera().combined);
//         renderer.begin(ShapeType.Filled);
// 
//         // Since we're using an extend viewport, the world might be bigger than we expect
//         float worldCenterX = viewport.getWorldWidth() / 2;
//         float worldCenterY = viewport.getWorldHeight() / 2;
// 
//         // TODO: Figure out how long it's been since the animation started using TimeUtils.nanoTime()
// 
// 
//         // TODO: Use MathUtils.nanoToSec to figure out how many seconds the animation has been running
// 
// 
//         // TODO: Figure out how many cycles have elapsed since the animation started running
// 
// 
//         // TODO: Figure out where in the cycle we are
// 
// 
//         // TODO: Use MathUtils.sin() to set the x position of the circle
// 
// 
//         float x = worldCenterX;
//         float y = worldCenterY;
//         renderer.circle(x, y, CIRCLE_RADIUS);
//         renderer.end();
// 
//     }
// }


import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;
import com.udacity.gamedev.reciprocatingmotion.ReciprocatingMotion;
package com.udacity.gamedev.reciprocatingmotion.desktop;


public class DesktopLauncher {
	public static void main (String[] arg) {
		LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
// Path: 1.5.02-Exercise-ReciprocatingMotion/core/src/com/udacity/gamedev/reciprocatingmotion/ReciprocatingMotion.java
// public class ReciprocatingMotion extends ApplicationAdapter {
// 
//     private static final float WORLD_SIZE = 480;
//     private static final float CIRCLE_RADIUS = WORLD_SIZE / 20;
//     private static final float MOVEMENT_DISTANCE = WORLD_SIZE / 4;
// 
//     // TODO: Define a constant that fixes how long a cycle of the animation should take in seconds
// 
// 
//     ShapeRenderer renderer;
//     ExtendViewport viewport;
// 
//     // TODO: Create a long to hold onto ApplicationAdapter creation time
// 
// 
//     @Override
//     public void create() {
//         renderer = new ShapeRenderer();
//         viewport = new ExtendViewport(WORLD_SIZE, WORLD_SIZE);
// 
//         // TODO: Save current value of TimeUtils.nanoTime()
// 
//     }
// 
//     @Override
//     public void resize(int width, int height) {
//         viewport.update(width, height, true);
//     }
// 
//     @Override
//     public void dispose() {
//         renderer.dispose();
//     }
// 
//     @Override
//     public void render() {
//         viewport.apply();
// 
//         Gdx.gl.glClearColor(0, 0, 0, 1);
//         Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
// 
//         renderer.setProjectionMatrix(viewport.getCamera().combined);
//         renderer.begin(ShapeType.Filled);
// 
//         // Since we're using an extend viewport, the world might be bigger than we expect
//         float worldCenterX = viewport.getWorldWidth() / 2;
//         float worldCenterY = viewport.getWorldHeight() / 2;
// 
//         // TODO: Figure out how long it's been since the animation started using TimeUtils.nanoTime()
// 
// 
//         // TODO: Use MathUtils.nanoToSec to figure out how many seconds the animation has been running
// 
// 
//         // TODO: Figure out how many cycles have elapsed since the animation started running
// 
// 
//         // TODO: Figure out where in the cycle we are
// 
// 
//         // TODO: Use MathUtils.sin() to set the x position of the circle
// 
// 
//         float x = worldCenterX;
//         float y = worldCenterY;
//         renderer.circle(x, y, CIRCLE_RADIUS);
//         renderer.end();
// 
//     }
// }


// Path: 1.5.02-Solution-ReciprocatingMotion/desktop/src/com/udacity/gamedev/reciprocatingmotion/desktop/DesktopLauncher.java
import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;
import com.udacity.gamedev.reciprocatingmotion.ReciprocatingMotion;

package com.udacity.gamedev.reciprocatingmotion.desktop;


public class DesktopLauncher {
	public static void main (String[] arg) {
		LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
		new LwjglApplication(new ReciprocatingMotion(), config);