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
|
# CS 2450 Final Project
|
||||||
*Kyler Olsen* - *Spring 2025*
|
*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)
|
- 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)
|
- 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
|
# CS 2450 Final Project
|
||||||
# Apr 2025
|
# Apr 2025
|
||||||
|
|
||||||
|
import argparse
|
||||||
import random
|
import random
|
||||||
|
|
||||||
def name_gen():
|
def name_gen():
|
||||||
|
@ -51,13 +52,33 @@ def server(host: str='', port: int=7788):
|
||||||
lib = Library(host, port)
|
lib = Library(host, port)
|
||||||
lib.serve_forever()
|
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
|
from ui import UI
|
||||||
|
if not playername: playername = name_gen()
|
||||||
ui = UI(playername, host, port)
|
ui = UI(playername, host, port)
|
||||||
ui.loop()
|
ui.loop()
|
||||||
|
|
||||||
def main():
|
def main(argv):
|
||||||
client(name_gen())
|
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__":
|
if __name__ == "__main__":
|
||||||
main()
|
from sys import argv
|
||||||
|
main(argv)
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
blessed==1.21.0
|
Loading…
Reference in New Issue