<commit_before>package src;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class Game {

    String _player;
    DataBaseWorker _dbworker;
    String _judge;


    public Game(String player, DataBaseWorker dbworker, String judge){
        _player = player;
        //_dbworker = dbworker;
        _judge = judge;
    }

    public void OrganizeGame()
    {
        try {
            Files.walk(Paths.get("d:\\AICupEnvironment\\Games\\Cross\\")).forEach(filePath -> {
                Do(filePath);
            });
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /*
     * Здесь проверяем, есть ли файл runme.sh
     * Если есть, то вызываем программу Judge
     * Ловим int ответ, расшифровка пока такая:
     * 0 - ничья (а что, очень даже может быть)
     * 1 - выиграл первый игрок
     * 2 - выиграл второй игрок
     * Может случиться так, что игра не пройдет (кто-то из игроков не уложится во время или еще что-то)
     * тогда 2 варианта - либо Judge сам решает, что ставит техническое поражение кому-то (то есть другой побеждает)
     * либо определяет эту ситуацию и вернет другое значение
     * это позволит записать в БД соответствующую информацию
    */
    private void Do(Path filePath) {
        if(!filePath.endsWith("runme.sh"))
            return;

        String commands[] = {_judge, "user1, user2"};
        Runtime rt = Runtime.getRuntime();

        int gameResult = 0;
        try {
            Process proc = rt.exec(commands);
            gameResult = proc.exitValue();

            _dbworker.WriteGameResult("user1", "user2", gameResult);


        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}<commit_msg>Add new fields. Maybe this class became very big and flat, but it will call all other modules<commit_after>package src;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class Game {

    String _game;
    String _player;
    String _lang;
    DataBaseWorker _dbworker;
    String _judge;


    public Game(String game, String player, String lang, DataBaseWorker dbworker, String judge){
        _game = game;
        _player = player;
        _lang = lang;
        _dbworker = dbworker;
        _judge = judge;
    }

    public void OrganizeGame()
    {
        try {
            Files.walk(Paths.get(FileSystemWorker.GetRoot() + _game)).forEach(filePath -> {
                Do(filePath);
            });
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /*
     * Здесь проверяем, есть ли файл runme.sh
     * Если есть, то вызываем программу Judge
     * Ловим int ответ, расшифровка пока такая:
     * 0 - ничья (а что, очень даже может быть)
     * 1 - выиграл первый игрок
     * 2 - выиграл второй игрок
     * Может случиться так, что игра не пройдет (кто-то из игроков не уложится во время или еще что-то)
     * тогда 2 варианта - либо Judge сам решает, что ставит техническое поражение кому-то (то есть другой побеждает)
     * либо определяет эту ситуацию и вернет другое значение
     * это позволит записать в БД соответствующую информацию
    */
    private void Do(Path filePath) {
        if(!filePath.endsWith("runme.sh"))
            return;

        String firstPlayer = _player;
        String firstPlayerLang = _lang;

        String secondPlayer = FileSystemWorker.GetUsername(filePath);
        String secondPlayerLang = FileSystemWorker.GetLang(filePath);

        String commands[] = {_judge, firstPlayer + " " + firstPlayerLang + " " + secondPlayer + " " + secondPlayerLang};
        Runtime rt = Runtime.getRuntime();

        int gameResult;
        try {
            Process proc = rt.exec(commands);
            gameResult = proc.exitValue();
            _dbworker.WriteGameResult(firstPlayer, firstPlayerLang, secondPlayer, secondPlayerLang, gameResult);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
{'fraction_non_alphanumeric': 0.09191720059142434, 'fraction_numerical': 0.0032035485460818135, 'mean_word_length': 2.2707493956486706, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6465683', 'n_tokens_mistral': 1309, 'n_tokens_neox': 1364, 'n_words': 353}