int main() { *transmit_enable = 0; *sram_we = 1; *sram_oe = 1; gameInit(); int playerNum = getPlayerNum(); printBoard(); while (sramRead(keepScore) < 11) { switch (playerNum) { case '1': playerOnePlay(); break; case '2': playerTwoPlay(); break; } } alt_putstr("You win!"); return 0; }
/** @brief ゲームメイン開始 @param[in] from 元レイヤー @return なし */ void RelayGameLayer::restart(const std::string& from) { if (from == "OptionLayer") { // 音量調整程度しかしていないのでスルー } else { Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); auto scene = dynamic_cast<SceneAtelierMain*>(this->getParent()->getParent()); // プレイ人数 m_playerNum = scene->getPlayerNum(); // 筆太さ auto def = UserDefault::getInstance(); m_brushSize = 5.f; m_brushSize = def->getFloatForKey("BrushSize", m_brushSize); //----------------------------------------------------- // テーマ選定 int theme = (2 <= m_themes.size()) ? ns_Random::Random::getInstance()->getRandomInt(0, m_themes.size() - 1) : 0; m_nowTheme = m_themes[theme]; //----------------------------------------------------- // 描く人順決定 m_drawOrder.assign(m_playerNum, 0); // 0で初期化 unsigned int n = 0; while (n < m_playerNum) { int player = ns_Random::Random::getInstance()->getRandomInt(0, m_playerNum - 1); // 未設定のプレイヤーに順序の設定 if (m_drawOrder[player] == 0) { m_drawOrder[player] = ++n; // n番目 } } //----------------------------------------------------- // 上ラベル m_pLabel->setString("お題発表"); //----------------------------------------------------- // タッチリスナー設定 m_touchNum = 0; // タッチ数初期化 _SetTouchListener(); //----------------------------------------------------- // 毎フレームupdate呼び出し設定 this->scheduleUpdate(); } // アニメーションフラグ折る m_isAnimation = false; m_isDrew = false; //----------------------------------------------------- // 表示 this->setVisible(true); }