Esempio n. 1
0
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;
}
Esempio n. 2
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);

}