/Program-Wars

A web-based educational card game for teaching basic concepts of computer programming and cybersecurity

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Program Wars

This fork represents the end of the work I did on this project over the summer of 2020 at the University of Lethbridge. I was hired as a programmer to upgrade the game to include new modes, cades, and a new UI. I spent 4 months working with members of the group to accomplish this task. Most of the code in the current version was written by me, and the UI organization and layout was also done by me. Other people on the project were responsible for things like overall game mechanics and art. The project had been under development for several years by other students and this version was the focus of a graduate student masters project.

I forked this project so that I woud have an easier record of where my work stopped. Both to remember what I had done and to more easily showcase my work on this project.

Before working on this project I had almost no experience with JavaScript or Vuejs. So the code and design is bound to have some things that would make experienced web developers sad, but I worked really hard to do a good job. We did make several design decisions that used a more object oriented approach to creating the game data and game states. This was partly done to ensure that future students that learn oop would have an easier time onboarding to the project. We felt, while Vuejs and Vuex are often suited to a functional approach, it would be best to keep it familiar for future students.

Below is the original readme with links to some deployments of the website. These may or may not be up to date with this version of the project. Links may also break over time if the original project changes, but they are kept just in case.

If you find this and are interested in Program Wars or it's purpose of teaching basic programming concepts head over to the upstream repo and check it out.

Program Wars (original readme)

Program Wars is a web-based card game for teaching or reinforcing the fundamental concepts of programming and cybersecurity to those with limited or no programming experience. In the game, players construct a computer program that meets or exceeds a goal number of statements. Players build their program using “instruction” cards and “repetition” cards. Some repetition cards allow the player to change the number of repetitions using “variable” cards. Players can also “group” instructions to protect portions of their program from being cyberattacked (i.e. “hacked”). Players can also use other cyberattacks (Malware and Power Outage) to stop their opponents from winning.

To play Program Wars go to https://program-wars.firebaseapp.com

To access the current dev version go to https://program-wars-dev.firebaseapp.com

If you would like to contribute to the project, see CONTRIBUTING.

For more information about the project, refer to the wiki.