Skip to content

SSTIA/fun-portal

Repository files navigation

GOMOKU BRAIN COMPETITION

Build Status experimental GPL Licence David

Introduction

Gomoku/Renju is an abstract strategy board game played in a 15 by 15 board. To avoid ambiguity, Gomoku/Renju here uses Renju rule, which means continuous line of five wins with fouls for black stone.

More information about Renju, see Study Renju

In our game, two players take turns as black to move first. There are six rounds in total and each player moves first (as black) for three times.

The openings are selected from Soosorv rule openings, which are balanced for both sides.

Online Judge System

Visit GomokuJudge to take part in our competition!

Login in via your JAccount and submit your code altered from the file main.c we provided.

For one side, time limit for initialization is 5s, time limit per move is 5s, and time limit per match is 180s. Memory limit is 350MB. The max size of Source code and Compiled exe are both 1MB.

There are some warnings:

  1. Do not copy others' source code. All the code you submitted will be checked for plagiarism. Copycats will fail this project!
  2. Do not share your source code with others. Similar submissions will be treated as plagiarism.
  3. Do not use alternative account to submit your code, otherwise you will be recognized as a copycat.
  4. Do not abuse our cloud execution service, such as intentionally trying to shutdown our judge machine.

Deployment

(WIP)

Dependencies:

  • Node.js
  • MongoDB
  • Redis
  • rabbitMQ

Install dependencies on Debien/Ubuntu

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
$ nvm install 9 && nvm use 9
$ sudo apt-get install mongodb redis-server rabbitmq-server

If you are in Mainland China, it's recommended to use registry by taobao (or use cnpm)

$ npm config set registry https://registry.npm.taobao.org

Run the following command to create configuration scripts for both debug and in-production deployments. In DEBUG mode, config.debug.yaml overrides default settings; In PRODUCTION mode, config.debug.yaml and then config.production.yaml override default settings.

$ touch config.debug.yaml
$ touch config.production.yaml

Edit the configuration according to the comments given. Then, excecute the following command to build the package:

$ npm install -g npminstall
$ npminstall
$ npm run build:server
$ npm run build:ui

Finally, run

$ npm run start

to start the server.

Openings

Black, the player who makes the first move, was long known to have a big advantage (win surely under the original rule), so balanced openings from Soosorv rule are selected to eliminate this issue.

The followings are the openings used in the competition. X represents black and O represents white.

1. 复杂平衡

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   | X |   | X |   | O |   |
  +---+---+---+---+---+---+---+
6 |   |   |   | O |   |   |   |
  +---+---+---+---+---+---+---+
7 |   |   |   | X |   |   |   |
  +---+---+---+---+---+---+---+
8 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
9 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

2. 平衡

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   | X |   | X |
  +---+---+---+---+---+---+---+
6 |   |   |   | O |   | O |   |
  +---+---+---+---+---+---+---+
7 |   |   |   | X |   |   |   |
  +---+---+---+---+---+---+---+
8 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
9 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

3. 平衡(疏星一打)

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   |   | X |   |
  +---+---+---+---+---+---+---+
6 |   |   | X | O | O |   |   |
  +---+---+---+---+---+---+---+
7 |   |   |   | X |   |   |   |
  +---+---+---+---+---+---+---+
8 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
9 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

4. 平衡

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
6 |   |   |   | O | X |   |   |
  +---+---+---+---+---+---+---+
7 |   |   |   | X |   |   |   |
  +---+---+---+---+---+---+---+
8 |   |   | O |   | X |   |   |
  +---+---+---+---+---+---+---+
9 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

5. 平衡

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
6 |   |   |   | O |   | X |   |
  +---+---+---+---+---+---+---+
7 |   |   |   | X |   |   |   |
  +---+---+---+---+---+---+---+
8 |   |   |   |   | O |   |   |
  +---+---+---+---+---+---+---+
9 |   |   | X |   |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

6. 平衡

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
6 |   |   |   | O |   |   | X |
  +---+---+---+---+---+---+---+
7 |   |   |   | X | X | O |   |
  +---+---+---+---+---+---+---+
8 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
9 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

7. 平衡(金星三打)

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
6 |   |   |   | O |   | X |   |
  +---+---+---+---+---+---+---+
7 |   |   | O | X |   | X |   |
  +---+---+---+---+---+---+---+
8 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
9 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

8. 平衡

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
6 |   |   |   | O | O | X |   |
  +---+---+---+---+---+---+---+
7 |   |   |   | X |   |   |   |
  +---+---+---+---+---+---+---+
8 |   |   |   | X |   |   |   |
  +---+---+---+---+---+---+---+
9 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

9. 平衡(斜月三打)

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
6 |   |   | O | O |   |   |   |
  +---+---+---+---+---+---+---+
7 |   |   | X | X |   |   |   |
  +---+---+---+---+---+---+---+
8 |   |   |   |   | X |   |   |
  +---+---+---+---+---+---+---+
9 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

10. 平衡

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
6 |   |   |   | O |   |   |   |
  +---+---+---+---+---+---+---+
7 |   |   |   | X |   | X |   |
  +---+---+---+---+---+---+---+
8 |   |   | O |   |   | X |   |
  +---+---+---+---+---+---+---+
9 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

11. 平衡(瑞星二打)

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   | O |   |   |
  +---+---+---+---+---+---+---+
6 |   |   |   | O |   |   |   |
  +---+---+---+---+---+---+---+
7 |   |   |   | X |   |   |   |
  +---+---+---+---+---+---+---+
8 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
9 |   |   |   | X | X |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

12. 平衡

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
6 |   | X |   | O |   |   |   |
  +---+---+---+---+---+---+---+
7 |   | O |   | X |   |   |   |
  +---+---+---+---+---+---+---+
8 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
9 |   |   |   |   | X |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

13. 平衡

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   | O |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   | X |   |   |   |   |
  +---+---+---+---+---+---+---+
6 |   |   |   | O |   |   |   |
  +---+---+---+---+---+---+---+
7 |   |   |   | X |   |   |   |
  +---+---+---+---+---+---+---+
8 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
9 |   |   |   |   |   | X |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

14. 平衡(长星一打)

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   | O |   | X |   |
  +---+---+---+---+---+---+---+
6 |   |   |   |   | O |   |   |
  +---+---+---+---+---+---+---+
7 |   |   |   | X |   | X |   |
  +---+---+---+---+---+---+---+
8 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
9 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

15. 平衡

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
6 |   |   |   |   | O | X |   |
  +---+---+---+---+---+---+---+
7 |   |   |   | X |   | O |   |
  +---+---+---+---+---+---+---+
8 |   |   |   |   |   | X |   |
  +---+---+---+---+---+---+---+
9 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

16. 平衡

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   |   |   | X |
  +---+---+---+---+---+---+---+
6 |   |   |   |   | O | O |   |
  +---+---+---+---+---+---+---+
7 |   |   |   | X |   | X |   |
  +---+---+---+---+---+---+---+
8 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
9 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

17. 平衡

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
6 |   |   |   |   | O | O |   |
  +---+---+---+---+---+---+---+
7 |   |   |   | X |   |   |   |
  +---+---+---+---+---+---+---+
8 |   |   |   | X |   | X |   |
  +---+---+---+---+---+---+---+
9 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

18. 平衡

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
6 |   |   |   |   | O |   |   |
  +---+---+---+---+---+---+---+
7 |   | X |   | X |   |   |   |
  +---+---+---+---+---+---+---+
8 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
9 |   |   |   |   |   | X |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   | O |   |   |
  +---+---+---+---+---+---+---+

19. 平衡

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
6 |   |   |   |   | O | O |   |
  +---+---+---+---+---+---+---+
7 |   |   |   | X | X |   | X |
  +---+---+---+---+---+---+---+
8 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
9 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

20. 复杂白好

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
6 |   |   | O |   | O |   |   |
  +---+---+---+---+---+---+---+
7 |   | X |   | X |   |   |   |
  +---+---+---+---+---+---+---+
8 |   |   |   |   | X |   |   |
  +---+---+---+---+---+---+---+
9 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

21. 平衡

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
6 |   |   | O |   | O |   |   |
  +---+---+---+---+---+---+---+
7 |   |   |   | X |   |   |   |
  +---+---+---+---+---+---+---+
8 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
9 |   |   | X |   | X |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

22. 平衡

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
6 |   |   |   |   | O | O | X |
  +---+---+---+---+---+---+---+
7 |   |   |   | X |   |   |   |
  +---+---+---+---+---+---+---+
8 |   |   |   | X |   |   |   |
  +---+---+---+---+---+---+---+
9 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

23. 平衡

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
6 |   |   |   |   | O | O | X |
  +---+---+---+---+---+---+---+
7 |   |   |   | X |   |   |   |
  +---+---+---+---+---+---+---+
8 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
9 |   |   |   | X |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

24. 黑稍好

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   | O |   |   |   |   |
  +---+---+---+---+---+---+---+
6 |   |   |   |   | O |   |   |
  +---+---+---+---+---+---+---+
7 |   |   | X | X |   |   |   |
  +---+---+---+---+---+---+---+
8 |   |   | X |   |   |   |   |
  +---+---+---+---+---+---+---+
9 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

25. 平衡

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   | X |   |   |   |
  +---+---+---+---+---+---+---+
6 |   |   |   |   | O | O |   |
  +---+---+---+---+---+---+---+
7 |   |   |   | X |   |   |   |
  +---+---+---+---+---+---+---+
8 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
9 |   |   | X |   |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

26. 平衡

    4   5   6   7   8   9   10
  +---+---+---+---+---+---+---+
4 |   |   | O |   |   |   |   |
  +---+---+---+---+---+---+---+
5 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
6 |   |   |   |   | O |   |   |
  +---+---+---+---+---+---+---+
7 |   | X |   | X |   |   |   |
  +---+---+---+---+---+---+---+
8 |   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+
9 |   | X |   |   |   |   |   |
  +---+---+---+---+---+---+---+
10|   |   |   |   |   |   |   |
  +---+---+---+---+---+---+---+

Reference

  1. Renju Net
  2. 索索夫开局指南2019-07-01

Online Judge System by GomokuFun

Server by Luke Lazurite, Liu Yihao and Shen zheyu

Manual written by Liu Yihao and modified by Sun Yuliang

Openings chosen by Sun Yuliang

JI-SSTIA All Right Reverved