As essential workers in the medical industry are in the forefront in today's world, we wanted to make a game that would help students that are aspiring to be in this career to progress through their studies. To do this, we wanted to make a game that would try to simulate the pressures that come with being a surgeon without being in the operating room.
What it does
Our game is a text-based quiz, consisting of three levels of increasing difficulty that quizzes the user on the methods that need to be used to help a patient with a given ailment. The game rewards players who answer the multiple-choice questions quicker, as it demonstrates their ability to work under pressure. If a player makes a small mistake, the game continues, but points will be deducted from the end score. If the player makes a big mistake, however, the level will restart after a game over screen is displayed. At the end of the game, the score of the player is shown along with a gauge of how well they did overall.
How we built it
We used Java for the code, implementing object-oriented programming, including inheritance. We also used a little bit of Python to help with the timer. We used JavaFx to display the graphics.
Challenges we ran into
In each question, we have a group of radio buttons and a confirm button to select the desired answer. We were having trouble determining which of the radio buttons was selected after the confirm button was clicked and using this information to determine the score that was given to the user based on their choice.
Additionally, we had a bit of trouble transitioning from one level to the next.
Accomplishments that we're proud of
We are proud of the graphics that we implemented throughout the project because all four members in the group were relatively unfamiliar with GUIs prior to this hackathon, but as we progressed, we learned more and more about how to use graphics in our code and are very pleased with the result.
Also, we are proud of the structure of our code. We used inheritance to avoid duplicating code and we think that as a result, our code is more concise, intuitive, and was easier to edit than if we had used a different method.
Lastly, we are simply proud of the fact that we were able to finish everything that we wanted to finish and even create a few extra aspects of our code before the deadline.
What we learned
We learned how to better implement GUIs
We learned how to use a GitHub repository as a way to collaborate on code.
We learned the importance of commenting as it was necessary towards the end of the project in order to understand parts of our code that were written much earlier.
What's next for Surgeon Simulator
Next, we will implement visual interaction in order to complete the steps of surgery. This will better simulate the process of the surgery to the students.