package com.example.fiveinrowparse; import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.Button; import android.widget.RelativeLayout; import android.widget.TextView; import com.parse.ParseUser; public class LocalGameActivity extends Activity { private MyBoard mGameBoard; private int PLAYER_ONE = 1; private int PLAYER_TWO = 2; private int PLAYER_ONE_WON = 3; private int PLAYER_TWO_WON = 4; private String playerOneName; private String playerTwoName; private TextView currentPlayerString; private Button mSurrenderButton; private Button mPlayAgainButton; private Button mExitButton; private int mPlayerOneWins = 0; private int mPlayerTwoWins = 0; private TextView mPlayerOneScore; private TextView mPlayerTwoScore; private static final String SETTINGS_PREFS = "com.busck.fiveInRow.Settings"; private static final String THEME_PREFS = "com.busck.fiveInRow.theme_prefs"; private String mTheme; private Boolean mMenuIsExpanded = false; private int[] mGameArray = new int[800]; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_main); RelativeLayout MainLayout = (RelativeLayout) findViewById(R.id.main_layout); mPlayerOneScore = (TextView) findViewById(R.id.player_one_score); mPlayerTwoScore = (TextView) findViewById(R.id.player_two_score); mSurrenderButton = (Button) findViewById(R.id.surrender_button); mPlayAgainButton = (Button) findViewById(R.id.play_again_button); mExitButton = (Button) findViewById(R.id.return_lobby_button); currentPlayerString = (TextView) findViewById(R.id.player_turn_string); playerOneName = getIntent().getStringExtra("playerOne"); playerTwoName = getIntent().getStringExtra("playerTwo"); currentPlayerString.setText(playerOneName + "turn!"); mPlayerOneScore.setText(playerOneName + ": " + Integer.toString(mPlayerOneWins)); mPlayerTwoScore.setText(playerTwoName + ": " + Integer.toString(mPlayerTwoWins)); SharedPreferences settings = getSharedPreferences(SETTINGS_PREFS, 0); mTheme = settings.getString(THEME_PREFS, "dark"); createTheBoard(mTheme); } @Override public void onBackPressed() { //super.onBackPressed(); } private void createTheBoard(String theme) { RelativeLayout container = (RelativeLayout) findViewById(R.id.game_board_view); mGameBoard = new MyBoard(this, mGameArray, theme); container.addView(mGameBoard); mGameBoard.setOnProgressChangeListener(changeListener); } public void updateCurrentPlayerState(int playerCode){ if(playerCode == PLAYER_ONE){ currentPlayerString.setText(playerOneName +" turn!"); }else if (playerCode==PLAYER_TWO){ currentPlayerString.setText(playerTwoName +" turn!"); } else if (playerCode == PLAYER_ONE_WON){ mPlayerOneWins++; mPlayerOneScore.setText(playerOneName + ": " + Integer.toString(mPlayerOneWins)); someOneWon(); currentPlayerString.setText(playerOneName + " wins!"); } else if(playerCode == PLAYER_TWO_WON){ mPlayerTwoWins++; mPlayerTwoScore.setText(playerTwoName + ": " + Integer.toString(mPlayerTwoWins)); someOneWon(); currentPlayerString.setText(playerTwoName + " wins!"); } } private MyBoard.OnProgressChangeListener changeListener = new MyBoard.OnProgressChangeListener() { public void onNextPlayer(View v, int player) { updateCurrentPlayerState(player); } public void onSomeoneWon(View v, int winningPlayer){ updateCurrentPlayerState(winningPlayer); } }; private void someOneWon(){ mExitButton.setVisibility(View.VISIBLE); mPlayAgainButton.setVisibility(View.VISIBLE); mSurrenderButton.setVisibility(View.INVISIBLE); } public void resetGame(View view) { mGameBoard.resetTheGame(); mExitButton.setVisibility(View.INVISIBLE); mPlayAgainButton.setVisibility(View.INVISIBLE); mSurrenderButton.setVisibility(View.VISIBLE); Button menuButton = (Button) findViewById(R.id.menu_button); menuButton.setVisibility(View.VISIBLE); } public void surrenderGame(View view) { someOneWon(); mGameBoard.surrenderTheGame(); Button menuButton = (Button) findViewById(R.id.menu_button); menuButton.setVisibility(View.GONE); } public void exitGame(View view) { finish(); } public void ChangeThemeButton(View view) { mTheme = (String) view.getTag(); SharedPreferences settings = getSharedPreferences(SETTINGS_PREFS, 0); SharedPreferences.Editor editor = settings.edit(); editor.putString(THEME_PREFS, mTheme); editor.commit(); RelativeLayout container = (RelativeLayout) findViewById(R.id.game_board_view); container.removeAllViews(); createTheBoard(mTheme); } public void openMenu(View view) { RelativeLayout totalBar = (RelativeLayout) findViewById(R.id.menu_layout); if(!mMenuIsExpanded) { totalBar.setVisibility(View.VISIBLE); mMenuIsExpanded = true; }else{ totalBar.setVisibility(View.INVISIBLE); mMenuIsExpanded = false; } } }