A small game that allows to set and practice programming tasks.
- neutralino.js
- React.js
- Mantine
- Monaco-Editor/React
- Tabler-Icons-React
- Usage:
- python (3.x)
- Linux user still needs to grant execution rights by using the command
chmod +x filename
before launching the application. - Minimal screen resolution:
1280 x 1024px
.
- Development:
- python (3.x)
- node.js (v18.16.1)
- npm (v9.8.1)
- Run all builds at least once.
sudo npm install -g @neutralinojs/neu
neu create ProgApp --template AndreasWillibaldWeber/ProgGame
cd react-src
npm i # one-time execution of npm i is sufficient
npm start
cd ..
neu run --frontend-lib-dev
cd react-src
npm i # one-time execution of npm i is sufficient
npm run build
cd ..
neu run -- --window-enable-inspector
cd react-src
npm i # one-time execution of npm i is sufficient
npm run build
cd ..
neu build --release
- Create a GitHub actions workflow for automatic builds.
- Create UI for programming and for program output.
- Connect UI with Python interpreter.
- Program execution button works.
- Editor and output clear button works.
- Implement Game Logic.
- The player is given 5 programming tasks one after the other, which must be solved in a single attempt.
- Create 5 tasks as examples
- Button to start a game round works.
- Button to reset a game works.
- Input field for player name works.
- Load tasks into the editor and check for correctness after execution.
- Tasks, tests and template code can be defined by a single file.
- The 5 programming tasks are randomly selected.
- More than 5 programming tasks can be defined by a file.
- A List of player names that have completely solved a round can be displayed
- Extensive testing and bug fixing of version 1.0.0-alpha
- Replace Alert() with proper dialogues in React.
- Implement tests.
- Extensive testing and bug fixing of version 1.0.1-alpha
- Show tasks in a separate dialogue, not as a comment in the editor (possibly use the output panel).
- Implement more executors for programming languages.
- Implement executors for different programming languages.
- Implement UI elements for selecting a programming language.
- Tasks can be defined in one file for different languages.
- Define and render tasks using Markdown syntax.
- Enable Markdown syntax
- Enable LaTeX mathematical expressions
- Enable PlanUML or Mermaid for diagrams
- Extensive testing and bug fixing of version 1.1.0-alpha