Each language package contains a set of models (Vehicle, Player, etc.), MyStrategy class, where you write the logic of your strategy, and files Runner.* and RemoteProcessClient.*, which are necessary for running the strategy process and exchanging data with the game process.

There are bat-files in each language package that build the strategy to an executable file (exceptions: language package for Java builds to a JAR file, language packages for Python and Ruby build to a ZIP-archive).

Also, some language packages contain project files for one or several popular IDEs.

All the language packages are published on GitHub. Just like on out site, you can always find an actual version on the package, as well as follow the history of the changes made.

For your convenience we have developed a Repeater utility that will help you to replay the games that your strategy took part in locally on your computer.

Why ? Specifically, the same class was added for transfers to less error there. Plus the IDE (QtCreator I) if the specified class, then auto-completion will be given only the values for this enumeration, but not for all available listings.

Why ? Specifically, the same class was added for transfers to less error there. Plus the IDE (QtCreator I) if the specified class, then auto-completion will be given only the values for this enumeration, but not for all available listings.

You so. But someone could use another/older IDE version of the compiler. From our site you are using C++14, but in General we tried to maximize the client’s backward compatible. But if in your code the strategy was used in new chips, then the person is aware, than it will be to compile and the environment to develop. We will think more on this topic. You may do as you suggest.

You so. But someone could use another/older IDE version of the compiler. From our site you are using C++14, but in General we tried to maximize the client’s backward compatible. But if in your code the strategy was used in new chips, then the person is aware, than it will be to compile and the environment to develop. We will think more on this topic. You may do as you suggest.

Well, until it turns out that a version is specified with++14, but in fact there is a maximum of C++11.

But the build script requires completor with the support of C++14, I had to put the 7th gcc instead of the fourth. Maybe just lower the required version ? For some older versions of Ubuntu such as gcc with support for c++14 can be absent in the standard repositories of packets.

For local-runner I had to manually put the jre-8, because in the standard repositories trusty tahr only jre7.

PS Maybe QtCreator to add the pro file ? Under linux there is something like this

Prompt to a teapot how to start a local runner from under IntelliJ IDEA ? the menu command run ‘Runner’ leads to the error: Exception in thread “main” java.net.ConnectException: Connection refused: connect

Prompt to a teapot how to start a local runner from under IntelliJ IDEA ? the menu command run ‘Runner’ leads to the error: Exception in thread “main” java.net.ConnectException: Connection refused: connect

First you need to start yourself a local runner with local-runner.sh and then your strategy

Probably @MikeWazowski want to automatically start local-runner before the start of your strategy using IDEA. Need IDEA add script start local-runner and in “before launch”. To do this, open the “Edit configurations”, then in “before launch” add external tool launch script local-runner. Only the script must be correct so that it launched the runner in the background to give control IDEA. In Windows is “START /b” command, in Linux “command &”

You have a joint in the package under Pascal FacilityControl.pas Swears on this line constructor TFacility.Create(const facility: TFacility); overload; I basically locally at corrected. The runner runs successfully and the remote icon to the emulator, but not sure will it work it you

Don’t know where to write, ask here. You can add a functional selection given rekta and groups. now if you are trying to allocate in a given area for a specific group nothing happens , no indication of group norm. groups definitely exist, without specifying rekta allocated norms. Package C++

Don’t know where to write, ask here. You can add a functional selection given rekta and groups. now if you are trying to allocate in a given area for a specific group nothing happens , no indication of group norm. groups definitely exist, without specifying rekta allocated norms. Package C++

public static final ActionType ADD_TO_SELECTION should help apparently

public static final ActionType ADD_TO_SELECTION should help apparently

For example I have group number 1 fought the rest of the character to the group number 2, I don’t want to change the positions of the groups, I need to return units to their group, if I simply allocate I will touch the part of units of the 2nd group, what I would like. Here could help but if you deselect groups of more than 2 is already zamaroczy and spend a large number of teams.

For example I have group number 1 fought the rest of the character to the group number 2, I don’t want to change the positions of the groups, I need to return units to their group, if I simply allocate I will touch the part of units of the 2nd group, what I would like. Here could help but if you deselect groups of more than 2 is already zamaroczy and spend a large number of teams.

Probably @MikeWazowski want to automatically start local-runner before the start of your strategy using IDEA. Need IDEA add script start local-runner and in “before launch”. To do this, open the “Edit configurations”, then in “before launch” add external tool launch script local-runner. Only the script must be correct so that it launched the runner in the background to give control IDEA. In Windows is “START /b” command, in Linux “command &”

Thank you ! Now with Shift-F10 all good runs without much fuss to run the script ;)

Good afternoon. I had a problem. Can’t have solution in c++14. A compile-time error. ‘ACTION_ROTATE’ is not a member of ’model::ActionType“ ‘ACTION_SETUP_VEHICLE_PRODUCTION’ is not a member of ’model::ActionType” etc. This is not the first version of the algorithm, before all was capillos. SchA can’t send even a strategy of quick start.

Good afternoon. I had a problem. Can’t have solution in c++14. A compile-time error. ‘ACTION_ROTATE’ is not a member of ’model::ActionType“ ‘ACTION_SETUP_VEHICLE_PRODUCTION’ is not a member of ’model::ActionType” etc. This is not the first version of the algorithm, before all was capillos. SchA can’t send even a strategy of quick start.

Get the ID of ACTION_ steps :) And, it may be worthwhile to download the latest language pack.

Don’t know where to write, ask here. You can add a functional selection given rekta and groups. now if you are trying to allocate in a given area for a specific group nothing happens , no indication of group norm. groups definitely exist, without specifying rekta allocated norms. Package C++

I have the same thing in D-7. Wiped Overload -works. But it’s not against the rules to edit only their strategy.

You have a joint in the package under Pascal FacilityControl.pas Swears on this line constructor TFacility.Create(const facility: TFacility); overload; I basically locally at corrected. The runner runs successfully and the remote icon to the emulator, but not sure will it work it you

I have the same thing in D-7. Wiped Overload -works. But it’s not against the rules to edit only their strategy.

Collect jarnik from source contained in the package, the script contained in the package. When you attempt to submit a solution I get this error: the Field cannot contain binary data. What could be the problem?

Collect jarnik from source contained in the package, the script contained in the package. When you attempt to submit a solution I get this error: the Field cannot contain binary data. What could be the problem?

Good morning. Downloaded the new language pack for Java runner. In the end, when you start a mistake Connected to the target VM, address: ‘127.0.0.1:53737’, transport: ‘socket’ Exception in thread “main” java.io.IOException: Can’t read 4 bytes from input stream. at RemoteProcessClient.readBytes(RemoteProcessClient.java:470) at RemoteProcessClient.readInt(RemoteProcessClient.java:400) at RemoteProcessClient.readGameContextMessage(RemoteProcessClient.java:81) at Runner.run(Runner.java:24) at Runner.main(Runner.java:10) Disconnected from the target VM, address: ‘127.0.0.1:53737’, transport: ‘socket’

Good morning. Downloaded the new language pack for Java runner. In the end, when you start a mistake Connected to the target VM, address: ‘127.0.0.1:53737’, transport: ‘socket’ Exception in thread “main” java.io.IOException: Can’t read 4 bytes from input stream. at RemoteProcessClient.readBytes(RemoteProcessClient.java:470) at RemoteProcessClient.readInt(RemoteProcessClient.java:400) at RemoteProcessClient.readGameContextMessage(RemoteProcessClient.java:81) at Runner.run(Runner.java:24) at Runner.main(Runner.java:10) Disconnected from the target VM, address: ‘127.0.0.1:53737’, transport: ‘socket’ …

So this has changed :) Before was just the enum, enum class now. Progressive community requires the use of new features of the language.

Progressive? Six years progressed? Understand would require something from the C++17, and then the “trick” is only the visibility constraint and the ban to compare with the warm soft, for the loss of backward compatibility. Okay, whining is, well it’s beta was just now spending time searching for a new IDE/compiler instead of the competition.

In the package C# team Assign is not working. Allocated group using ClearAndSelect. Performed on the next tick: (before it checked, and Yes indeed allocated 100 units) move.Action = ActionType.Assign; move.Group = index; On the next tick, there is no selection, there is no group.

In the package C# team Assign is not working. Allocated group using ClearAndSelect. Performed on the next tick: (before it checked, and Yes indeed allocated 100 units) move.Action = ActionType.Assign; move.Group = index; On the next tick, there is no selection, there is no group.

Explain, please, as we now normally use this enum class. Before I could create some array veh_info[VEHICLE_COUNT] to bring current the old units and use it, like, veh_info[VEHICLE_TANK], spin cycles and everything was great for this enum, and intended - and the size was correct and the indexes of the values. Now, even replacing all VehicleType::_COUNT, VehicleType::TANK and so the compiler complains. In one place need a static_cast, and all the others have to put (int)… is this “improvement”? From what I found: 1) are not permitted to use the old enum, 2) restriction of visibility can be used namespace or struct, 3) what is the meaning now assigned values and, in particular, COUNT if now not take advantage of them as the number? In my opinion, you will excuse me, it is thoughtless innovation, narushevshey the logic of these enum’s, which was initially put. And enum class is needed in some other applications.

Explain, please, as we now normally use this enum class. Before I could create some array veh_info[ VEHICLE_COUNT ] to bring current the old units and use it, like, veh_info[VEHICLE_TANK], spin cycles and everything was great for this enum, and intended - and the size was correct and the indexes of the values. Now, even replacing all VehicleType::_COUNT, VehicleType::TANK and so the compiler complains. In one place need a static_cast, and all the others have to put (int)… is this “improvement”? From what I found: 1) are not permitted to use the old enum, 2) restriction of visibility can be used namespace or struct, 3) what is the meaning now assigned values and, in particular, …

Explain, please, as we now normally use this enum class. Before I could create some array veh_info[ VEHICLE_COUNT ] to bring current the old units and use it, like, veh_info[VEHICLE_TANK], spin cycles and everything was great for this enum, and intended - and the size was correct and the indexes of the values. Now, even replacing all VehicleType::_COUNT, VehicleType::TANK and so the compiler complains. In one place need a static_cast, and all the others have to put (int)… is this “improvement”? From what I found: 1) are not permitted to use the old enum, 2) restriction of visibility can be used namespace or struct, 3) what is the meaning now assigned values and, in particular, …

Explain, please, as we now normally use this enum class. Before I could create some array veh_info[ VEHICLE_COUNT ] to bring current the old units and use it, like, veh_info[VEHICLE_TANK], spin cycles and everything was great for this enum, and intended - and the size was correct and the indexes of the values. Now, even replacing all VehicleType::_COUNT, VehicleType::TANK and so the compiler complains. In one place need a static_cast, and all the others have to put (int)… is this “improvement”? From what I found: 1) are not permitted to use the old enum, 2) restriction of visibility can be used namespace or struct, 3) what is the meaning now assigned values and, in particular, …

Explain, please, as we now normally use this enum class. Before I could create some array veh_info[ VEHICLE_COUNT ] to bring current the old units and use it, like, veh_info[VEHICLE_TANK], spin cycles and everything was great for this enum, and intended - and the size was correct and the indexes of the values. Now, even replacing all VehicleType::_COUNT, VehicleType::TANK and so the compiler complains. In one place need a static_cast, and all the others have to put (int)… is this “improvement”? From what I found: 1) are not permitted to use the old enum, 2) restriction of visibility can be used namespace or struct, 3) what is the meaning now assigned values and, in particular, …

Thank you for the option, but it .toInt() better than (int)? The flea. Still use enumeration znacheniem rated as a class is not the right approach because the class is hampered by access values. Much easier to have your enum with go and geishas, which was originally, and all sorts of caste and bring to use the interaction of these enum’s.

Thank you for the option, but it .toInt() better than (int)? The flea. Still use enumeration znacheniem rated as a class is not the right approach because the class is hampered by access values. Much easier to have your enum with go and geishas, which was originally, and all sorts of caste and bring to use the interaction of these enum’s.

Thank you for the option, but it .toInt() better than (int)? The flea. Still use enumeration znacheniem rated as a class is not the right approach because the class is hampered by access values. Much easier to have your enum with go and geishas, which was originally, and all sorts of caste and bring to use the interaction of these enum’s.

Better yet, use std for this: > vРаньше I could create some array veh_info[ VEHICLE_COUNT ] is relevant to bring the old units and use it, like, veh_info[VEHICLE_TANK], spin cycles, and everything was great

Just spent 2 hours of my life wasted and decided to comment on here so others don’t make mistakes. Package python2. Do not use the module enum. It doesn’t work. As I understand it, the problematic module. Also a question to the administration, there is a strange error message verification:

“Your strategy fell short in the test game 2x500. When you initialize the player an unexpected exception was thrown.” Is it possible to make a little more informative?

Just spent 2 hours of my life wasted and decided to comment on here so others don’t make mistakes. Package python2. Do not use the module enum. It doesn’t work. As I understand it, the problematic module. Also a question to the administration, there is a strange error message verification: “Your strategy fell short in the test game 2x500. When you initialize the player an unexpected exception was thrown.” Is it possible to make a little more informative?

Now in such cases should be more detailed error description. Try to send the problematic version of the strategy and see.

One case of incompatibility between Delphi and freepascal discovered, there may be others. It turns out that we only need to work on freepascal. And if you’re used to in Delphi?

In General, documentation FreePascal clearly States that it is not fully compatible with Delphi, there are documented differences. In turn, the organizers of the tournament also made it clear that Pascal accepted the strategy may be compatible with the compiler FreePascal. The syntax of FreePascal quite a allows to write the strategy. Or you just can’t live without generics, helpers, weak references and so on? :-)

I don’t understand why not make another language pack for Delphi? 1 hotfix, and the script to compile is already there. It is strange that he has made without trying!

The Pascal package on Github now compiled and Free Pascal, and Delphi. The website will update later. But we still can’t guarantee that some language elements that you Zavolzhye in the strategy will be compiled everywhere. Before you send the strategy, you should check compile it Free Pascal.

In General, documentation FreePascal clearly States that it is not fully compatible with Delphi, there are documented differences. In turn, the organizers of the tournament also made it clear that Pascal accepted the strategy may be compatible with the compiler FreePascal. The syntax of FreePascal quite a allows to write the strategy. Or you just can’t live without generics, helpers, weak references and so on? :-)

In turn, the organizers of the tournament also made it clear that Pascal accepted strategies that are compatible with the compiler Delphi, putting in the batch file compile-dpr.bat where used dcc32. I’m used to Delphi and switching to another dialect of the language will take additional time, which is reserved for competitions, so not a lot.

In turn, the organizers of the tournament also made it clear that Pascal accepted strategies that are compatible with the compiler Delphi, putting in the batch file compile-dpr.bat where used dcc32. I’m used to Delphi and switching to another dialect of the language will take additional time, which is reserved for competitions, so not a lot.

The organizers clearly indicated one thing - the Free Pascal 3.0+ [Delphi mode] Everything else is Your imagination. Organizari used to free pascal and supported by all versions of Pascal will require additional costs…

Again carefully read the official list of the officially supported languages. Specified only for pascal Free Pascal 3.0+ [Delphi mode]. Where the organizers have indicated that there is support for Delphi? The file compile-dpr.bat is attached in the SDK solely for the convenience of debugging, and nothing more. And by the way, the version of Delphi is also not fully compatible with each other, for example code written in delphi 10.2 Tokyo will fail to compile in delphi 7, you know about it?

Offer you instead of the categorical requirements or use that are provided by the organizers, or to prepare SDK for Delphi. That is what fans of other languages (like Kotlin), isn’t it? Plus you Dafovska license.

Again carefully read the official list of the officially supported languages. Specified only for pascal Free Pascal 3.0+ [Delphi mode]. Where the organizers have indicated that there is support for Delphi? The file compile-dpr.bat is attached in the SDK solely for the convenience of debugging, and nothing more. And by the way, the version of Delphi is also not fully compatible with each other, for example code written in delphi 10.2 Tokyo will fail to compile in delphi 7, you know about it? …

And so you have no license! So would immediately and said, instead of to fence awkward excuses. And where I have expressed categorical requirement? To speak with a customer so angry tone is not the best business. So you have all the participants to disperse can.

And so you have no license! So would immediately and said, instead of to fence awkward excuses. And where I have expressed categorical requirement? To speak with a customer so angry tone is not the best business. So you have all the participants to disperse can.

Personally, I have Dafovska licenses for all versions. And by the way, what makes you think that I belong to the organizers of the tournament? I am an ordinary member.

Spoke as if You were their lawyer. But since You are the organizer, will wait for an official response from the organizers.

Yes, and You have officially responded.

“Pascal package on Github now compiled and Free Pascal, and Delphi. The website will update later. But we still can’t guarantee that some language elements that you Zavolzhye in the strategy will be compiled everywhere. Before you send the strategy, you should check compile Free Pascal it.”

Yes, and You have officially responded. “Pascal package on Github now compiled and Free Pascal, and Delphi. The website will update later. But we still can’t guarantee that some language elements that you Zavolzhye in the strategy will be compiled everywhere. Before you send the strategy, you should check compile Free Pascal it.”

Apparently, GS has guessed: the case of the license. So would immediately and said, than the mystery, Although, of course, a strange niggling for such a large company: the license price of a penny.

Noticed frequent falls strategy for exceeding a time limit when playing against some players. To ensure the absence of bugs in my program, sent a strategy with an empty method move and created a few games. The results are:

Run repeatere shows that almost every tick in the world.vehicle_updates appear group assignments for 300 - 400 ENEMY units (in standard python list for each unit). This leads to significant time consumption strategy (even empty).

This behavior is considered an error. I suggest not to send in vehicle_updates information about assigning groups of the enemy.

Watched most of the strategies of those who develop in C#. A lot of fallen strategies, which begs the question, what’s wrong? Locally my test runs without delay. Memory is no problem, lay out a strategy all games fall. As there are no errors, it turns out at the time. But there’s nothing there, Martin. Judge around this problem on the server, since many who constantly falls.

Watched most of the strategies of those who develop in C#. A lot of fallen strategies, which begs the question, what’s wrong? Locally my test runs without delay. Memory is no problem, lay out a strategy all games fall. As there are no errors, it turns out at the time. But there’s nothing there, Martin. Judge around this problem on the server, since many who constantly falls.

Not the first time participating. If you click on the icon of the language on the game page, it shows the problem. In particular you - the Program failed to terminate within 210.00 sec

SladeThe, and it is possible to obtain detailed information on ticks. How long each lasted. To understand about where to start economici.

You can measure the time in the strategy display long numbers of ticks. Stdout seems to be displayed on the website where your time. And at the same time it is possible to count the percentage of time remaining and optimise computations, if the time.

You can measure the time in the strategy display long numbers of ticks. Stdout seems to be displayed on the website where your time. And at the same time it is possible to count the percentage of time remaining and optimise computations, if the time.

I have the measurements locally made. Found a method that half the time otzhiraet of the total time.

By the way, there are reasons instead of a specific version of the compiler for each language, specify “X. Y+”? Usually in all test systems, compiler versions and keys compile this explicitly. If there is no such reason, please indicate all known information explicitly. Thank you!

If you are sending strategies python 3 stumbles on a similar design: python A: Dict[int, int] = {} Says invalid syntax. In local runner everything works. Here’s a test strategy: ``python from typing import Dict from model.Game import Game from model.Move import Move from model.Player import Player from model.World import World

If you are sending strategies python 3 stumbles on a similar design: python A: Dict[int, int] = {} Says invalid syntax. In local runner everything works. Here’s a test strategy: ``python from typing import Dict from model.Game import Game from model.Move import Move from model.Player import Player from model.World import World …

Sorry, the Syntax for Variable Annotations. it seems, introduced in Python 3.6. If anyone is interested, the same result can be achieved like this: python A = {} # type: Dict[int, int]

Develop a project using IntelliJ IDEA. Suddenly, all uses standard libraries were issued mistakes. In the structure of the project as was specified SDK 1.8, and remained. Can anyone suggest what this may suggest, what may be causing the problem?