Advertisement
Guest User

Activity

a guest
Nov 9th, 2015
325
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.64 KB | None | 0 0
  1. package com.techredefined.thedicegame;
  2.  
  3. import android.graphics.drawable.Drawable;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.widget.Button;
  8. import android.widget.ImageButton;
  9. import android.widget.ImageView;
  10. import android.widget.TextView;
  11. import android.widget.Toast;
  12.  
  13. import java.util.Random;
  14. import java.util.Timer;
  15.  
  16. public class MainActivity extends AppCompatActivity {
  17.  
  18.     ImageView dice;
  19.     Button rollButton,resetButton,holdButton;
  20.     TextView playerTotalScore,computerTotalScore,playerTurnScore,computerTurnScore;
  21.     int diceValue=0,cTurn=0,pTurn=0,cTotal=0,pTotal=0;
  22.     char currentTurn='P';
  23.  
  24.  
  25.     @Override
  26.     protected void onCreate(Bundle savedInstanceState) {
  27.         super.onCreate(savedInstanceState);
  28.         setContentView(R.layout.activity_main);
  29.         setListenerOnRoll();
  30.         setListenerOnReset();
  31.         setListenerOnHold();
  32.     }
  33.     private void setListenerOnRoll() {
  34.         rollButton = (Button) findViewById(R.id.roll);
  35.         rollButton.setOnClickListener(new View.OnClickListener() {
  36.             @Override
  37.             public void onClick(View v) {
  38.                 rollDice();
  39.             }
  40.         });
  41.     }
  42.     private void setListenerOnHold() {
  43.         holdButton = (Button) findViewById(R.id.hold);
  44.         holdButton.setOnClickListener(new View.OnClickListener() {
  45.             @Override
  46.             public void onClick(View v) {
  47.                 hold();
  48.             }
  49.         });
  50.     }
  51.     private void setListenerOnReset() {
  52.         resetButton = (Button) findViewById(R.id.reset);
  53.         resetButton.setOnClickListener(new View.OnClickListener() {
  54.             @Override
  55.             public void onClick(View v) {
  56.                 resetScore();
  57.             }
  58.         });
  59.     }
  60.     private void rollDice() {
  61.         Random r = new Random();
  62.         diceValue = r.nextInt(6 - 1 + 1) + 1;
  63.         if(pTotal<=100 && cTotal<=100) {
  64.             if(diceValue==1) {
  65.                 if(currentTurn=='P') {
  66.                     pTurn=0;
  67.                     hold();
  68.                 }
  69.                 else {
  70.                     cTurn=0;
  71.                     hold();
  72.                 }
  73.             }
  74.             else {
  75.                 if(currentTurn=='P') {
  76.                     pTurn = pTurn + diceValue;
  77.                     updateScore();
  78.                 }
  79.                 else {
  80.                     cTurn = cTurn + diceValue;
  81.                     updateScore();
  82.                 }
  83.             }
  84.             dice = (ImageView) findViewById(R.id.dice_image_view);
  85.             String name = "dice"+diceValue;
  86.             int id = getResources().getIdentifier(name, "drawable", getPackageName());
  87.             Drawable diceImgPath = getResources().getDrawable(id);
  88.             dice.setImageDrawable(diceImgPath);
  89.         }
  90.         else {
  91.             if(cTotal>=100)
  92.                 Toast.makeText(getApplicationContext(),"Computer Won!",Toast.LENGTH_SHORT).show();
  93.             else
  94.                 Toast.makeText(getApplicationContext(),"Player Won!",Toast.LENGTH_SHORT).show();
  95.             rollButton.setEnabled(false);
  96.             holdButton.setEnabled(false);
  97.         }
  98.     }
  99.     private void hold(){
  100.         if(currentTurn=='P') {
  101.             pTotal = pTotal + pTurn;
  102.             currentTurn='C';
  103.             computersTurn();
  104.         }
  105.         else {
  106.             cTotal = cTotal + cTurn;
  107.             currentTurn='P';
  108.         }
  109.         cTurn=0;
  110.         pTurn=0;
  111.         updateScore();
  112.  
  113.     }
  114.     private void resetScore() {
  115.         rollButton.setEnabled(true);
  116.         holdButton.setEnabled(true);
  117.         pTotal=pTurn=cTotal=cTurn=0;
  118.         diceValue = 0;
  119.         updateScore();
  120.     }
  121.     private void updateScore() {
  122.         playerTotalScore = (TextView) findViewById(R.id.player_tot_score);
  123.         computerTotalScore = (TextView) findViewById(R.id.computer_tot_score);
  124.         playerTurnScore = (TextView) findViewById(R.id.player_turn_score);
  125.         computerTurnScore = (TextView) findViewById(R.id.computer_turn_score);
  126.  
  127.         playerTotalScore.setText("Player Total Score: "+pTotal);
  128.         computerTotalScore.setText("Computer Total Score: "+cTotal);
  129.         playerTurnScore.setText("Player Turn Score: "+pTurn);
  130.         computerTurnScore.setText("Computer Turn Score: " + cTurn);
  131.     }
  132.     private void computersTurn() {
  133.         rollButton.setEnabled(false);
  134.         holdButton.setEnabled(false);
  135.         while (currentTurn=='C' && cTurn<=20 && cTotal<=100) {
  136.             rollDice();
  137.         }
  138.         hold();
  139.         rollButton.setEnabled(true);
  140.         holdButton.setEnabled(true);
  141.     }
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement