The StarCraft II API provides access to in-game state observation and unit control. The API is a wrapper around protobuf defined protocol over a websocket connection.
While it's possible to write directly to the protocol, this library provides a C++ and class-based abstraction. You can see a simple example below.
#include <sc2api/sc2_api.h>
#include <iostream>
using namespace sc2;
class Bot : public Agent {
public:
virtual void OnGameStart() final {
std::cout << "Hello, World!" << std::endl;
}
virtual void OnStep() final {
std::cout << Observation()->GetGameLoop() << std::endl;
}
};
int main(int argc, char* argv[]) {
Coordinator coordinator;
coordinator.LoadSettings(argc, argv);
Bot bot;
coordinator.SetParticipants({
CreateParticipant(Race::Terran, &bot),
CreateComputer(Race::Zerg)
});
coordinator.LaunchStarcraft();
coordinator.StartGame(sc2::kMapBelShirVestigeLE);
while (coordinator.Update()) {
}
return 0;
}
You can find a detailed tutorial on what this code does in docs/tutorial1.md.
You can find API in documentation on our github pages site. The documentation is generated from code automatically, using Doxygen
To editor and generate the documentation yourself.
This library uses CMake to generate project files. It builds with Visual Studio on Windows and Makefiles on the other platforms. It relies on the following contrib packages.
Follow the instructions for submodules and building in docs/building.md.
We do our best to conform to the Google C++ Style Guide with the exception that we use four space tabs instead of two space tabs.
This repository only comes with a few maps for testing.
Additional maps and replays can be found here.
If you are using Visual Studio 2017 and just want precompiled library files you can download the following package:
Additional community built AI libraries can be found here.
If you are new to programming, the CommandCenter framework may be a good starting point.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。