2018/9/26 Assignment 1.2 – CS 242 – Illinois Wiki https://wiki.illinois.edu/wiki/display/cs242/Assignment+1.2 1/3 / Home / Assignments Triphol “Pao” Nilkuha (admin) , Kim, Yongjin 23, 2018 Assignment 1.2 Assignment 1.2 Creating a GUI for Your Chess library Overview This week, we will be focusing on ModelViewController architecture. This means you will be implementing the graphical user interface (GUI), but GUI is only a part of MVC, so do not waste your time with small specifics. Your GUI should be clean and easy to use, but it doesn’t have to be pretty and fancy. For this assignment, you are required to use either Eclipse or IntelliJ IDEA. Both are free and have powerful refactoring tools available. Read this entire page before beginning your assignment, and post on Piazza if anything is still unclear. Part 0: Refactoring & Polishing Test Suite You should be refactoring your code all the time. You do not need to have a big chunk of time dedicated to refactoring, refactoring should be part of your daily programming activities. You should refactor to make your code more maintainable, extensible, and understandable, as well as to incorporate any feedback from your moderator. Add tests (first) and fix them as you write your code. Part I: Game Loop The central component of any game, from a programming standpoint, is the game loop. The game loop allows the game to run smoothly regardless of a user’s input or lack thereof. The game loop is the main loop that repeatedly gathers the user input, handles and computes them, and render to the screen. Implement the game loop for your chess game. Your custom pieces need to be included in the chess game. Some resources you may find useful are: Java Gaming Understanding the Basic Concepts Understanding the Game Loop Basix Java Game Programming Required Features As always, you will be graded on participation and implementing the guidelines for modular, readable code. To receive full requirements for the assignment, your GUI must fulfill several requirements: Start/restart/forfeit a game A player is allowed to forfeit a game at any point in time If both players agree, they can restart a game and the score will be tied Each player should be given a unique name Scores are recorded if a pair of players play several games Move a piece A player can only move their piece, not the opponent’s Eclipse vs. IntelliJ IDEA You are likely already familiar with Eclipse from earlier programming courses here at UIUC. Some staff prefers IntelliJ. If you’ve never tried it out, consider using it for this project (Some people think it’s better, and you can get the