int CustomTimeCtrl::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QWidget::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: isAuto((*reinterpret_cast< bool(*)>(_a[1]))); break; case 1: isDateTime((*reinterpret_cast< bool(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; case 2: dateTimeChanged((*reinterpret_cast< const QDateTime(*)>(_a[1]))); break; case 3: adjustDateTime((*reinterpret_cast< QModelIndex(*)>(_a[1])),(*reinterpret_cast< QVariant(*)>(_a[2]))); break; case 4: blockSignals((*reinterpret_cast< const bool(*)>(_a[1]))); break; case 5: setHasTime((*reinterpret_cast< bool(*)>(_a[1]))); break; case 6: onDateChanged((*reinterpret_cast< const QDate(*)>(_a[1]))); break; case 7: onTimeChanged((*reinterpret_cast< const QTime(*)>(_a[1]))); break; default: ; } _id -= 8; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< QDateTime*>(_v) = dateTime(); break; } _id -= 1; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 0: setDateTime(*reinterpret_cast< QDateTime*>(_v)); break; } _id -= 1; } else if (_c == QMetaObject::ResetProperty) { _id -= 1; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 1; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 1; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 1; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 1; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 1; } #endif // QT_NO_PROPERTIES return _id; }
/** * コンソール上で対局を行います。 */ bool ConsoleManager::play() { // 定跡の読み込み if (!book_.readFile()) { Loggers::warning << "Could not read book."; } record_.init(Board::Handicap::Even); // 棋譜の読み込み if (!config_.inFileName.empty()) { CsaReader::read(config_.inFileName, record_); } auto searcherConfig = buildSearcherConfig(searcher_.getConfig(), config_); searcher_.setConfig(searcherConfig); printBoard(record_.getBoard()); while (true) { if (!config_.outFileName.empty()) { CsaWriter::write(config_.outFileName, record_); } if (isAuto()) { // コンピュータによる着手 search(true); // 盤面表示 printBoard(record_.getBoard()); } else { // ユーザからのコマンド入力 CommandResult result = inputCommand(); if (result == CommandResult::Changed) { // 盤面表示 printBoard(record_.getBoard()); } else if (result == CommandResult::Quit) { // quit break; } } } return true; }