项目简介
本项目是基于C++和Boost ASIO库开发的实时多人Pacman游戏。玩家能通过TCP连接到服务器,和其他玩家共同参与Pacman游戏。服务器负责维护游戏状态,如地图、玩家位置、得分等,并将游戏状态信息通过网络发送给所有连接的客户端。客户端接收服务器信息更新游戏状态,同时处理用户输入,将玩家动作指令发送给服务器。
项目的主要特性和功能
- 多人游戏:支持多个玩家同时参与游戏,通过TCP连接与服务器通信。
- 实时通信:利用Boost ASIO库实现异步网络通信,实时更新游戏状态。
- 游戏状态同步:服务器维护游戏状态,并将其同步到所有连接的客户端。
- 客户端输入处理:客户端接收用户键盘控制等输入,并将指令发送给服务器。
- 跨平台支持:项目在Ubuntu 18.04及以上版本开发和测试,支持Linux环境。
安装使用步骤
1. 安装依赖
运行项目前,需安装以下依赖库: - OpenCV 4.4.0:用于图像处理和游戏界面渲染。 - Boost ASIO:用于实现异步网络通信。
OpenCV 4.4.0 安装步骤
bash
sudo apt-get purge libopencv* python-opencv
sudo apt-get autoremove
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install mesa-utils libgl1-mesa-dri libgtkgl2.0-dev libgtkglext1-dev
sudo apt-get install libatlas-base-dev gfortran libeigen3-dev
sudo apt-get install python3-dev python3-numpy
mkdir opencv
cd opencv
unzip opencv.zip
unzip opencv_contrib.zip
cd opencv-4.4.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.4.0/modules -D OPENCV_ENABLE_NONFREE=ON -D OPENCV_GENERATE_PKGCONFIG=ON ../
make -j$(nproc)
sudo make install
sudo ldconfig
Boost ASIO 安装步骤
bash
wget https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.gz
tar xvfz boost_1_72_0.tar.gz
cd boost_1_72_0
sudo ./bootstrap.sh
sudo ./b2 install
2. 编译代码
bash
cd IoT_Final
g++ -std=c++11 Server.cpp -o Server -lboost_system -pthread
g++ -std=c++11 Client.cpp -o Client -lboost_system -pthread $(pkg-config --libs --cflags opencv4)
3. 运行游戏
bash
./Server <port>
./Client <ip_address> <port>
其中<port>
是服务器监听的端口号,<ip_address>
是服务器的IP地址。当4个客户端连接后,游戏将自动开始。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】