private void startGame(int start_score) {
    setState(STATE_RUNNING);
    // Set allowed time
    m_allowedTime = m_initial_allowedTime;
    m_allowedTime_millis = m_allowedTime * 1000;
    m_score = start_score;
    m_answers.clear();
    m_Handler.removeCallbacks(mUpdateTimeTask);
    m_Handler.removeCallbacks(mBlinkTimeTask);
    if (mGameMode.equals("demo")) {
      mDemoState = 0;
      m_demo_word_i = 0;
      mBoardGameLogic.startGame("SABONETE");
      m_playboard.setClickable(false);
      m_Handler.postDelayed(mDemoPlayTask, 1000);
    } else {
      mBoardGameLogic.startGame(getRandomWord());
      m_Handler.postDelayed(mUpdateTimeTask, 1000);
      m_playboard.setClickable(true);
      m_word.setClickable(true);
    }

    mScoreText.setText(new Integer(m_score).toString());

    m_text_status.setVisibility(View.INVISIBLE);
    m_start_button.setVisibility(View.INVISIBLE);
    m_word.setText("");
    m_word.setEnabled(false);
    mPlayTime.setVisibility(View.VISIBLE);

    m_playboard.setKeepScreenOn(true);

    mStartTime = System.currentTimeMillis();
  }
 private void setState(int state) {
   mPlayState = state;
   switch (mPlayState) {
     case STATE_GAMEOVER:
       m_Handler.removeCallbacks(mDismissResultTask);
       m_Handler.removeCallbacks(mUpdateTimeTask);
       m_Handler.removeCallbacks(mBlinkTimeTask);
       mTimeIsBlinking = false;
       showMessage("Fim de jogo", 40);
       m_word.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.check_button_blank, 0);
       m_word.setEnabled(false);
       m_start_button.setVisibility(View.VISIBLE);
       m_playboard.setKeepScreenOn(false);
       m_playboard.setClickable(false);
       mBoardGameLogic.clearAll();
       // if(m_answers.size() > 0)
       //	break;
       ArrayList<PlayBoard.Coordinate> word = mBoardGameLogic.getMasterWord();
       String current_word = "";
       int size = mBoardGameLogic.getMasterWord().size();
       for (int i = 0; i < size; ++i) {
         PlayBoard.Coordinate pos;
         pos = word.get(i);
         m_playboard.setTile(PlayBoard.SELECTED, pos.x, pos.y);
         current_word += m_playboard.getTextAtPos(pos.x, pos.y);
       }
       m_word.setText(current_word);
       mPlayTime.setVisibility(View.VISIBLE);
       m_playboard.invalidate();
       Intent myIntent = new Intent(PlayGameActivity.this, ScoreSaveActivity.class);
       myIntent.putExtra("score", m_score);
       myIntent.putExtra("playtime", m_allowedTime);
       String answer_list = "";
       for (String answer : m_answers) {
         answer_list += "," + answer;
       }
       myIntent.putExtra("words", answer_list);
       startActivity(myIntent);
       break;
   }
 }