repositorypackage
0.0.0-20240104115224-2ecee742d989
Repository: https://github.com/alextopher/classnet.git
Documentation: pkg.go.dev
# README
CLASSNET
Server progress
- Workflow to creates a new room
- Determines the number of "subnets"
- Chooses the number of messages required to be sent/received (the goal)
- Stop/start/reset the game
- Workflow to destroy the room
- Choose which "subnet" to join
- Students are assigned an IP address within the subnet
- Can prompt the server for a "challenge". The challenge is a destination IP address and a question.
Hosting progress
- Visit /room/:id to get redirected and join the room
- Get given a generated question-answer table
- For now the table is a random map from 4- [ ]digit hex strings to 4- [ ]digit hex strings
- I like the idea of using single symbols instead of strings
- By hand, they craft and send their question packet to the destination IP address.
- The expectation is another student will receive the packet, and will lookup the answer in their table.
- This second student will then send the answer back to the first student.
- Once the first student receives the answer to their question, they upload it to the website where it is verified and counted.
- While waiting for a response, students are expected to create more challenges and send more packets to other students.
- When time runs out, no more challenges can be created, but submissions will continue to be accepted for 1 more minute.
The goal is for the class to answer questions as quickly as possible.
Definitions
Subnet: Within this project, I'm using 192.168.N.0/24 as the subnets. The first 2 bytes are fixed, the third byte is the subnet number, and the last byte is the host number.