Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.techredefined.thedicegame;
- import android.graphics.drawable.Drawable;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.ImageButton;
- import android.widget.ImageView;
- import android.widget.TextView;
- import android.widget.Toast;
- import java.util.Random;
- import java.util.Timer;
- public class MainActivity extends AppCompatActivity {
- ImageView dice;
- Button rollButton,resetButton,holdButton;
- TextView playerTotalScore,computerTotalScore,playerTurnScore,computerTurnScore;
- int diceValue=0,cTurn=0,pTurn=0,cTotal=0,pTotal=0;
- char currentTurn='P';
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- setListenerOnRoll();
- setListenerOnReset();
- setListenerOnHold();
- }
- private void setListenerOnRoll() {
- rollButton = (Button) findViewById(R.id.roll);
- rollButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- rollDice();
- }
- });
- }
- private void setListenerOnHold() {
- holdButton = (Button) findViewById(R.id.hold);
- holdButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- hold();
- }
- });
- }
- private void setListenerOnReset() {
- resetButton = (Button) findViewById(R.id.reset);
- resetButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- resetScore();
- }
- });
- }
- private void rollDice() {
- Random r = new Random();
- diceValue = r.nextInt(6 - 1 + 1) + 1;
- if(pTotal<=100 && cTotal<=100) {
- if(diceValue==1) {
- if(currentTurn=='P') {
- pTurn=0;
- hold();
- }
- else {
- cTurn=0;
- hold();
- }
- }
- else {
- if(currentTurn=='P') {
- pTurn = pTurn + diceValue;
- updateScore();
- }
- else {
- cTurn = cTurn + diceValue;
- updateScore();
- }
- }
- dice = (ImageView) findViewById(R.id.dice_image_view);
- String name = "dice"+diceValue;
- int id = getResources().getIdentifier(name, "drawable", getPackageName());
- Drawable diceImgPath = getResources().getDrawable(id);
- dice.setImageDrawable(diceImgPath);
- }
- else {
- if(cTotal>=100)
- Toast.makeText(getApplicationContext(),"Computer Won!",Toast.LENGTH_SHORT).show();
- else
- Toast.makeText(getApplicationContext(),"Player Won!",Toast.LENGTH_SHORT).show();
- rollButton.setEnabled(false);
- holdButton.setEnabled(false);
- }
- }
- private void hold(){
- if(currentTurn=='P') {
- pTotal = pTotal + pTurn;
- currentTurn='C';
- computersTurn();
- }
- else {
- cTotal = cTotal + cTurn;
- currentTurn='P';
- }
- cTurn=0;
- pTurn=0;
- updateScore();
- }
- private void resetScore() {
- rollButton.setEnabled(true);
- holdButton.setEnabled(true);
- pTotal=pTurn=cTotal=cTurn=0;
- diceValue = 0;
- updateScore();
- }
- private void updateScore() {
- playerTotalScore = (TextView) findViewById(R.id.player_tot_score);
- computerTotalScore = (TextView) findViewById(R.id.computer_tot_score);
- playerTurnScore = (TextView) findViewById(R.id.player_turn_score);
- computerTurnScore = (TextView) findViewById(R.id.computer_turn_score);
- playerTotalScore.setText("Player Total Score: "+pTotal);
- computerTotalScore.setText("Computer Total Score: "+cTotal);
- playerTurnScore.setText("Player Turn Score: "+pTurn);
- computerTurnScore.setText("Computer Turn Score: " + cTurn);
- }
- private void computersTurn() {
- rollButton.setEnabled(false);
- holdButton.setEnabled(false);
- while (currentTurn=='C' && cTurn<=20 && cTotal<=100) {
- rollDice();
- }
- hold();
- rollButton.setEnabled(true);
- holdButton.setEnabled(true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement