文章目录
Prerequisite
最近在学c++,直接看书学习基础语法有点无聊,于是希望结合游戏开发来深入了解这门语言。网上搜罗了一番,决定从四子棋(connect four)着手,大概300来行代码。这个系列目前只实现了“人人对战模式”,“人机博弈”的算法有空再完善它。首先说一下编程环境:
- 编程语言:c++
- 游戏开发库:SDL-2.0
- 开发环境:windows或者linux,Visual Studio或者其他IDE
完整代码已经放上github了,在这里
这里跳过SDL-2.0的环境配置了,基本就是跟c++使用第三方库是一样的,准备好必要的头文件以及库文件,让编译器知道去哪儿找它们就可以了。开始吧!
这一部分我们只是简单地显示一个指定大小的窗口5秒钟,然后退出程序
显示窗口
首先,SDL2.0要求我们做一些初始化的工作。另外,因为我们后面会使用到png图片和字体的加载,我们这里一并把这些初始化工作都作了,先写个initialize()
函数:
// main.cpp
#include <SDL.h>
#include <SDL_image.h>
#include <SDL_ttf.h>
using namespace std;
bool initialize() {
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
printf("Failed to initialize SDL! SDL Error: %s\n", SDL_GetError());
return false;
}
int imgFlags = IMG_INIT_PNG;
if (!(IMG_Init(</