# City Sprint
## Overview
**City Sprint** is a high-speed civilization building pvp game. Dive into a fast-paced world where building cities, managing troops, and outpacing rivals is all in a day’s sprint.
Features
- Dynamic Game Board: Keeps the action rolling with constant updates.
- City Object: Develop and manage vibrant cities.
- Building and Troop Objects: Construct essential buildings and command your troops to victory.
- Multiplayer: Ensure that each player is receiving an updated and accurate state of the game.
Installation
- Clone the repository:
git clone https://github.com/YourUsername/CitySprint.git
cd CitySprint
Development
We're actively working on:
- Enhancing server functionality for real-time updates.
- Creating and refining City, Building, and Troop objects.
Stay tuned for more features and updates
Contributing
Contributions are welcome! Fork the repository and submit your ideas and enhancements via pull requests.
Coding Standards and Best Practices
Overview
This document outlines the coding standards and best practices for developing our web-based video game using C++. Following these guidelines will help ensure code quality, readability, maintainability, and efficient concurrency management.
General Guidelines
- Consistent Formatting: Use consistent indentation (4 spaces) and brace styles (
K&R
style for everything).
- Naming Conventions: Use
camelCase
for variables and functions, and PascalCase
for struct and class names.
- Comments: Write meaningful comments to explain the purpose of the code, especially complex logic and multi-threaded sections.
- Error Handling: Implement robust error handling and logging mechanisms to capture and report errors.
Headers and Libraries
- Include necessary headers and libraries at the beginning of the file.
- Group related includes together and order them logically (e.g., standard libraries, third-party libraries, project headers).
#include <winsock2.h>
#include <windows.h>
#include <iostream>
#include <vector>
#include <map>
#include <string>
#include <thread>
#include <mutex>
#include <sstream>
#include <iomanip>
#include <fstream>
#include <openssl/sha.h>
#include "misc_lib.h"
#pragma comment(lib, "ws2_32.lib")