Enhance README and main.py for improved usability and functionality
This commit is contained in:
parent
47275971de
commit
b2f4f69937
36
README.md
36
README.md
|
@ -1,7 +1,41 @@
|
|||
# CS 2450 Final Project
|
||||
*Kyler Olsen* - *Spring 2025*
|
||||
|
||||
__Scripture Chase Game__
|
||||
## Scripture Chase Game
|
||||
|
||||
- Repo: [git.purplecello.org/KylerOlsen/CS2450-Final-Project](https://git.purplecello.org/KylerOlsen/CS2450-Final-Project.git)
|
||||
- Mirror: [github.com/KylerOlsen/CS2450-Final-Project](https://github.com/KylerOlsen/CS2450-Final-Project.git)
|
||||
|
||||
## Dependencies
|
||||
|
||||
Python 3.10 or greater is recommended.
|
||||
|
||||
In the root of the repo run this command.
|
||||
```pip install -r requirements.txt```
|
||||
|
||||
## Running
|
||||
|
||||
The following command with run the server.
|
||||
|
||||
```python3 main.py -s```
|
||||
|
||||
The following command with run the client.
|
||||
|
||||
```python3 main.py```
|
||||
|
||||
Here are the options for running.
|
||||
|
||||
```
|
||||
$ python3 main.py -h
|
||||
usage: main.py [-h] [-s] [-H HOST] [-p PORT] [-n PLAYERNAME]
|
||||
|
||||
Run the server or client.
|
||||
|
||||
options:
|
||||
-h, --help show this help message and exit
|
||||
-s, --server Run as server
|
||||
-H HOST, --host HOST Host address (default: '')
|
||||
-p PORT, --port PORT Port number (default: 7788)
|
||||
-n PLAYERNAME, --playername PLAYERNAME
|
||||
Player name (for client)
|
||||
```
|
||||
|
|
29
main.py
29
main.py
|
@ -2,6 +2,7 @@
|
|||
# CS 2450 Final Project
|
||||
# Apr 2025
|
||||
|
||||
import argparse
|
||||
import random
|
||||
|
||||
def name_gen():
|
||||
|
@ -51,13 +52,33 @@ def server(host: str='', port: int=7788):
|
|||
lib = Library(host, port)
|
||||
lib.serve_forever()
|
||||
|
||||
def client(playername: str, host: str='localhost', port: int=7788):
|
||||
def client(playername: str = "", host: str='localhost', port: int=7788):
|
||||
from ui import UI
|
||||
if not playername: playername = name_gen()
|
||||
ui = UI(playername, host, port)
|
||||
ui.loop()
|
||||
|
||||
def main():
|
||||
client(name_gen())
|
||||
def main(argv):
|
||||
parser = argparse.ArgumentParser(description="Run the server or client.")
|
||||
parser.add_argument(
|
||||
"-s", "--server", action="store_true", help="Run as server"
|
||||
)
|
||||
parser.add_argument(
|
||||
"-H", "--host", type=str, default="", help="Host address (default: '')"
|
||||
)
|
||||
parser.add_argument(
|
||||
"-p", "--port", type=int, default=7788, help="Port number (default: 7788)"
|
||||
)
|
||||
parser.add_argument(
|
||||
"-n", "--playername", type=str, default="", help="Player name (for client)"
|
||||
)
|
||||
args = parser.parse_args(argv[1:])
|
||||
|
||||
if args.server:
|
||||
server(host=args.host, port=args.port)
|
||||
else:
|
||||
client(playername=args.playername, host=args.host or 'localhost', port=args.port)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
from sys import argv
|
||||
main(argv)
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
blessed==1.21.0
|
Loading…
Reference in New Issue