Skip to content

Instantly share code, notes, and snippets.

@WillWetzelCMS
Created October 7, 2018 00:07
Show Gist options
  • Save WillWetzelCMS/15067df8b117cc9a8a0364aca5cbc19a to your computer and use it in GitHub Desktop.
Save WillWetzelCMS/15067df8b117cc9a8a0364aca5cbc19a to your computer and use it in GitHub Desktop.
ChipCount
package com.example.chipcount;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.os.Parcelable;
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.TextView;
import java.util.Arrays;
public class BlackJackChip extends AppCompatActivity {
int playerCount = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_black_jack_chip);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//Setting saved values from setup page
final Game blackjack = (Game) getIntent().getParcelableExtra("blackjack");
//Sets up number of players specified in homepage
Parcelable[] parcelableArray = getIntent().getParcelableArrayExtra("playerList");
final Player[] playerArray = Arrays.copyOf(parcelableArray, parcelableArray.length, Player[].class);
TextView fundsView = (TextView)findViewById(R.id.playerFundsVar);
double funds = playerArray[playerCount].getPlayerFunds();
fundsView.setText(Double.toString(funds));
TextView whiteView = (TextView)findViewById(R.id.bcWhiteBet);
whiteView.setText(Double.toString(blackjack.getWhiteValue()));
TextView blueView = (TextView)findViewById(R.id.bcBlueBet);
blueView.setText(Double.toString(blackjack.getBlueValue()));
TextView greenView = (TextView)findViewById(R.id.bcGreenBet);
greenView.setText(Double.toString(blackjack.getGreenValue()));
TextView redView = (TextView)findViewById(R.id.bcRedBet);
redView.setText(Double.toString(blackjack.getRedValue()));
String NumberOfPlayers = Integer.toString(blackjack.getMaxPlayers());
final int maxPlayers = Integer.parseInt(NumberOfPlayers);
//Setting up Betting buttons so they add to total bet
ImageButton whiteBet = (ImageButton)findViewById(R.id.bjWhiteBet);
whiteBet.setOnClickListener((new View.OnClickListener(){
public void onClick(View v) {
TextView temptotal = (TextView)findViewById(R.id.yourBetSize);
String tempTotalBet = temptotal.getText().toString();
if(tempTotalBet.isEmpty()){
tempTotalBet = "0";
}
double totalBet = Double.parseDouble((tempTotalBet));
double currentBet = blackjack.getWhiteValue();
totalBet += currentBet;
String newTotal = String.valueOf(totalBet);
temptotal.setText(newTotal);
}
}));
ImageButton blueBet = (ImageButton)findViewById(R.id.bjBlueBet);
blueBet.setOnClickListener((new View.OnClickListener(){
public void onClick(View v) {
TextView temptotal = (TextView)findViewById(R.id.yourBetSize);
String tempTotalBet = temptotal.getText().toString();
if(tempTotalBet.isEmpty()){
tempTotalBet = "0";
}
double totalBet = Double.parseDouble((tempTotalBet));
double currentBet = blackjack.getBlueValue();
totalBet += currentBet;
String newTotal = String.valueOf(totalBet);
temptotal.setText(newTotal);
}
}));
ImageButton greenBet = (ImageButton)findViewById(R.id.bjGreenBet);
greenBet.setOnClickListener((new View.OnClickListener() {
public void onClick(View v){
TextView temptotal = (TextView)findViewById(R.id.yourBetSize);
String tempTotalBet = temptotal.getText().toString();
if(tempTotalBet.isEmpty()){
tempTotalBet = "0";
}
double totalBet = Double.parseDouble((tempTotalBet));
double currentBet = blackjack.getGreenValue();
totalBet += currentBet;
String newTotal = String.valueOf(totalBet);
temptotal.setText(newTotal);
}
}));
ImageButton redBet = (ImageButton)findViewById(R.id.bjRedBet);
redBet.setOnClickListener((new View.OnClickListener(){
public void onClick(View v) {
TextView temptotal = (TextView)findViewById(R.id.yourBetSize);
String tempTotalBet = temptotal.getText().toString();
if(tempTotalBet.isEmpty()){
tempTotalBet = "0";
}
double totalBet = Double.parseDouble((tempTotalBet));
double currentBet = blackjack.getRedValue();
totalBet += currentBet;
String newTotal = String.valueOf(totalBet);
temptotal.setText(newTotal);
}
}));
//Setting up Next/Prev player buttons
Button nextPlayer = (Button)findViewById(R.id.nextPlayer);
nextPlayer.setOnClickListener((new View.OnClickListener(){
public void onClick(View v) {
//After clicking nextplayer, refresh pot, save player funds, update player_turn
//Updating Total Pot and Resetting Betting amount
TextView tempPot = (TextView)findViewById(R.id.pot);
String tempPotString = tempPot.getText().toString();
if(tempPotString.isEmpty()){
tempPotString = "0";
}
double totalPot = Double.parseDouble((tempPotString));
TextView edittotalBet = (TextView)findViewById(R.id.yourBetSize);
String totalBet = edittotalBet.getText().toString();
if (totalBet.isEmpty()) {
totalBet = "0";
}
double totalBetDouble = Double.parseDouble(totalBet);
totalPot += totalBetDouble;
String newPot = String.valueOf(totalPot);
tempPot.setText(newPot);
edittotalBet.setText("0");
//Refresh Player Funds for their next turn
double newPlayerFunds = playerArray[playerCount].getPlayerFunds() - totalBetDouble;
playerArray[playerCount].setPlayerFunds(newPlayerFunds);
playerArray[playerCount].setPlayerBet(totalBetDouble);
//Updating Player Turn/funds viewtext
playerCount++;
if (!(playerCount < maxPlayers)) {
playerCount = 0;
//If playerCount is at max, goto results page
Intent blackResults = new Intent(v.getContext(), BlackJackResults.class);
blackResults.putExtra("playerList", playerArray);
blackResults.putExtra("blackjack", blackjack);
startActivity(blackResults);
}
TextView viewCurrentPlayer = (TextView)findViewById(R.id.playerTurn);
String playerTurnString;
switch (playerCount) {
case 0: playerTurnString = "Player One:";
break;
case 1: playerTurnString = "Player Two:";
break;
case 2: playerTurnString = "Player Three:";
break;
case 3: playerTurnString = "Player Four:";
break;
case 4: playerTurnString = "Player Five:";
break;
case 5: playerTurnString = "Player Six:";
break;
default: playerTurnString = "Error";
break;
}
viewCurrentPlayer.setText(playerTurnString);
TextView viewTotalFunds = (TextView)findViewById(R.id.playerFundsVar);
double playerFunds = playerArray[playerCount].getPlayerFunds();
viewTotalFunds.setText(String.valueOf(playerFunds));
}
}));
Button endGame = (Button)findViewById(R.id.blackEndGame);
endGame.setOnClickListener((new View.OnClickListener(){
public void onClick(View v) {
//Goto endgame screen
Intent blackEnd = new Intent(v.getContext(), BlackJackEndGame.class);
blackEnd.putExtra("playerList", playerArray);
blackEnd.putExtra("blackjack", blackjack);
startActivity(blackEnd);
}
}));
}
}
/*
EditText editMin = (EditText)findViewById(R.id.minNum);
String minBet = editMin.getText().toString();
*/
package com.example.chipcount;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.os.Parcelable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.util.Arrays;
public class BlackJackEndGame extends AppCompatActivity {
int playerCount = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_black_jack_end_game);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//Retrieve player array from Game
Parcelable[] parcelableArray = getIntent().getParcelableArrayExtra("playerList");
final Player[] playerArray = Arrays.copyOf(parcelableArray, parcelableArray.length, Player[].class);
final Game blackjack = (Game) getIntent().getParcelableExtra("blackjack");
for(playerCount = 0; playerCount < blackjack.getMaxPlayers(); playerCount ++) {
switch (playerCount) {
case 0: TextView viewOne = (TextView)findViewById(R.id.endOne);
String fundsOne = Double.toString(playerArray[0].getPlayerFunds());
viewOne.setText(fundsOne);
break;
case 1: TextView viewTwo = (TextView)findViewById(R.id.endTwo);
String fundsTwo = Double.toString(playerArray[1].getPlayerFunds());
viewTwo.setText(fundsTwo);
break;
case 2: TextView viewThree = (TextView)findViewById(R.id.endThree);
String fundsThree = Double.toString(playerArray[2].getPlayerFunds());
viewThree.setText(fundsThree);
break;
case 3: TextView viewFour = (TextView)findViewById(R.id.endFour);
String fundsFour = Double.toString(playerArray[3].getPlayerFunds());
viewFour.setText(fundsFour);
break;
case 4: TextView viewFive = (TextView)findViewById(R.id.endFive);
String fundsFive = Double.toString(playerArray[4].getPlayerFunds());
viewFive.setText(fundsFive);
break;
case 5: TextView viewSix = (TextView)findViewById(R.id.endSix);
String fundsSix = Double.toString(playerArray[5].getPlayerFunds());
viewSix.setText(fundsSix);
break;
}
}
Button home = (Button)findViewById(R.id.homeButton);
home.setOnClickListener((new View.OnClickListener() {
public void onClick(View v) {
Intent goHome = new Intent(v.getContext(), HomePage.class);
startActivity(goHome);
}
}));
}
}
package com.example.chipcount;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.os.Parcelable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.util.Arrays;
public class BlackJackResults extends AppCompatActivity {
int playerCount = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_black_jack_results);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//Set Pot to show total pot that's been passed from previous class.
//Setup Array and add money to player funds if they win or just leave.
//Retrieve player array from Game
Parcelable[] parcelableArray = getIntent().getParcelableArrayExtra("playerList");
final Player[] playerArray = Arrays.copyOf(parcelableArray, parcelableArray.length, Player[].class);
final Game blackjack = (Game) getIntent().getParcelableExtra("blackjack");
final int maxPlayers = blackjack.getMaxPlayers();
//Setup Button Listeners
Button jackpot = (Button)findViewById(R.id.jackButton);
jackpot.setOnClickListener((new View.OnClickListener() {
public void onClick(View v){
/*
* If jackpot is clicked, player wins double their bet
* E.g: Hit 21 with the cards. (If betting £2, the player would receive their £2 back and an extra £4).
*/
double bet = playerArray[playerCount].getPlayerBet();
bet += bet += bet;
playerArray[playerCount].setPlayerFunds(playerArray[playerCount].getPlayerFunds() + bet);
playerArray[playerCount].setPlayerBet(0);
refreshPlayerCount(blackjack, playerArray, v);
}
}));
Button win = (Button)findViewById(R.id.winButton);
win.setOnClickListener((new View.OnClickListener() {
public void onClick(View v) {
/*
* If player wins, player wins their bet back
* E.g: Beat the dealer. Win double the bet. (If betting £2, the player would receive their £2 and an extra £2).
*/
double bet = playerArray[playerCount].getPlayerBet();
bet += bet;
playerArray[playerCount].setPlayerFunds(playerArray[playerCount].getPlayerFunds() + bet);
playerArray[playerCount].setPlayerBet(0);
refreshPlayerCount(blackjack, playerArray, v);
}
}));
Button draw = (Button)findViewById(R.id.drawButton);
draw.setOnClickListener((new View.OnClickListener(){
public void onClick(View v) {
/*
* If player draws with dealer, they don't lose or win any money
*/
double bet = playerArray[playerCount].getPlayerBet();
playerArray[playerCount].setPlayerFunds(playerArray[playerCount].getPlayerFunds() + bet);
playerArray[playerCount].setPlayerBet(0);
refreshPlayerCount(blackjack, playerArray, v);
}
}));
Button bust = (Button)findViewById(R.id.bustButton);
bust.setOnClickListener((new View.OnClickListener(){
public void onClick(View v) {
/*
* Dealer beat player so player loses bet.
*/
playerArray[playerCount].setPlayerBet(0);
refreshPlayerCount(blackjack, playerArray, v);
}
}));
}
public void refreshPlayerCount(Game blackjack, Player[] players, View v) {
//Set new Player turn
playerCount++;
if (!(playerCount < blackjack.getMaxPlayers())) {
playerCount = 0;
//If playerCount is at max, goto results page
Intent blackContinue = new Intent(v.getContext(), BlackJackChip.class);
blackContinue.putExtra("playerList", players);
blackContinue.putExtra("blackjack", blackjack);
startActivity(blackContinue);
}
TextView viewCurrentPlayer = (TextView)findViewById(R.id.playerTurn);
String playerTurnString;
switch (playerCount) {
case 0: playerTurnString = "Player One:";
break;
case 1: playerTurnString = "Player Two:";
break;
case 2: playerTurnString = "Player Three:";
break;
case 3: playerTurnString = "Player Four:";
break;
case 4: playerTurnString = "Player Five:";
break;
case 5: playerTurnString = "Player Six:";
break;
default: playerTurnString = "Error";
break;
}
viewCurrentPlayer.setText(playerTurnString);
}
}
package com.example.chipcount;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class BlackJackSetup extends AppCompatActivity {
Player[] playerArray;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_black_jack_setup);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//Storing BlackJack Setup fields
Button blackStart = (Button) findViewById(R.id.blackjack_start);
blackStart.setOnClickListener((new View.OnClickListener() {
public void onClick(View view) {
// Retrieve and save all user set values
EditText editFunds = (EditText)findViewById(R.id.fundsnum);
String funds = editFunds.getText().toString();
Game blackjack = (Game) getIntent().getParcelableExtra("blackjack");
playerArray = setUpPlayers(blackjack.getMaxPlayers(), Double.parseDouble(funds));
EditText editMin = (EditText)findViewById(R.id.minNum);
String minBet = editMin.getText().toString();
EditText editwhite = (EditText)findViewById(R.id.white_chip_value_blackjack);
String whiteChip = editwhite.getText().toString();
blackjack.setWhiteValue(Double.parseDouble(whiteChip));
EditText editBlue = (EditText)findViewById(R.id.blue_chip_value_blackjack);
String blueChip = editBlue.getText().toString();
blackjack.setBlueValue(Double.parseDouble(blueChip));
EditText editGreen = (EditText)findViewById(R.id.green_chip_value_blackjack);
String greenChip = editGreen.getText().toString();
blackjack.setGreenValue(Double.parseDouble(greenChip));
EditText editRed = (EditText)findViewById(R.id.red_chip_value_blackjack);
String redChip = editRed.getText().toString();
blackjack.setRedValue(Double.parseDouble(redChip));
//Start new Intent and send values to new page. Start Activity.
Intent blackStart = new Intent(view.getContext(), BlackJackChip.class);
blackStart.putExtra("blackjack", blackjack);
blackStart.putExtra("playerList", playerArray);
blackStart.putExtra("minBet", minBet);
startActivity(blackStart);
}
}));
}
public Player[] setUpPlayers(int maxPlayers, double funds) {
playerArray = new Player[maxPlayers];
for(int i = 0; i < maxPlayers; i++) {
playerArray[i] = new Player(i+1, funds);
}
return playerArray;
}
}
package com.example.chipcount;
import android.os.Parcel;
import android.os.Parcelable;
/**
* Stores max players, and all chip values for duration of the Game.
*/
public class Game implements Parcelable {
private int maxPlayers;
private double whiteValue;
private double blueValue;
private double greenValue;
private double redValue;
public Game(int maxPlayers) {
this.maxPlayers = maxPlayers;
this.whiteValue = 0.50;
this.blueValue = 1.00;
this.greenValue = 5.00;
this.redValue = 10.00;
}
public Game(int maxPlayers, double whiteValue, double blueValue, double greenValue, double redValue) {
this.maxPlayers = maxPlayers;
this.whiteValue = whiteValue;
this.blueValue = blueValue;
this.greenValue = greenValue;
this.redValue = redValue;
}
protected Game(Parcel in) {
maxPlayers = in.readInt();
whiteValue = in.readDouble();
blueValue = in.readDouble();
greenValue = in.readDouble();
redValue = in.readDouble();
}
public static final Creator<Game> CREATOR = new Creator<Game>() {
@Override
public Game createFromParcel(Parcel in) {
return new Game(in);
}
@Override
public Game[] newArray(int size) {
return new Game[size];
}
};
public void setMaxPlayers(int maxPlayers) {
this.maxPlayers = maxPlayers;
}
public int getMaxPlayers(){
return maxPlayers;
}
public void setWhiteValue(double val) {
this.whiteValue = val;
}
public double getWhiteValue() {
return whiteValue;
}
public void setBlueValue(double val) {
this.blueValue = val;
}
public double getBlueValue() {
return blueValue;
}
public void setGreenValue(double val) {
this.greenValue = val;
}
public double getGreenValue() {
return greenValue;
}
public void setRedValue(double val) {
this.redValue = val;
}
public double getRedValue() {
return redValue;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(maxPlayers);
dest.writeDouble(whiteValue);
dest.writeDouble(blueValue);
dest.writeDouble(greenValue);
dest.writeDouble(redValue);
}
}
package com.example.chipcount;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class BlackJackSetup extends AppCompatActivity {
Player[] playerArray;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_black_jack_setup);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//Storing BlackJack Setup fields
Button blackStart = (Button) findViewById(R.id.blackjack_start);
blackStart.setOnClickListener((new View.OnClickListener() {
public void onClick(View view) {
// Retrieve and save all user set values
EditText editFunds = (EditText)findViewById(R.id.fundsnum);
String funds = editFunds.getText().toString();
Game blackjack = (Game) getIntent().getParcelableExtra("blackjack");
playerArray = setUpPlayers(blackjack.getMaxPlayers(), Double.parseDouble(funds));
EditText editMin = (EditText)findViewById(R.id.minNum);
String minBet = editMin.getText().toString();
EditText editwhite = (EditText)findViewById(R.id.white_chip_value_blackjack);
String whiteChip = editwhite.getText().toString();
blackjack.setWhiteValue(Double.parseDouble(whiteChip));
EditText editBlue = (EditText)findViewById(R.id.blue_chip_value_blackjack);
String blueChip = editBlue.getText().toString();
blackjack.setBlueValue(Double.parseDouble(blueChip));
EditText editGreen = (EditText)findViewById(R.id.green_chip_value_blackjack);
String greenChip = editGreen.getText().toString();
blackjack.setGreenValue(Double.parseDouble(greenChip));
EditText editRed = (EditText)findViewById(R.id.red_chip_value_blackjack);
String redChip = editRed.getText().toString();
blackjack.setRedValue(Double.parseDouble(redChip));
//Start new Intent and send values to new page. Start Activity.
Intent blackStart = new Intent(view.getContext(), BlackJackChip.class);
blackStart.putExtra("blackjack", blackjack);
blackStart.putExtra("playerList", playerArray);
blackStart.putExtra("minBet", minBet);
startActivity(blackStart);
}
}));
}
public Player[] setUpPlayers(int maxPlayers, double funds) {
playerArray = new Player[maxPlayers];
for(int i = 0; i < maxPlayers; i++) {
playerArray[i] = new Player(i+1, funds);
}
return playerArray;
}
}
package com.example.chipcount;
import android.os.Parcel;
import android.os.Parcelable;
/**
* Stores max players, and all chip values for duration of the Game.
*/
public class Game implements Parcelable {
private int maxPlayers;
private double whiteValue;
private double blueValue;
private double greenValue;
private double redValue;
public Game(int maxPlayers) {
this.maxPlayers = maxPlayers;
this.whiteValue = 0.50;
this.blueValue = 1.00;
this.greenValue = 5.00;
this.redValue = 10.00;
}
public Game(int maxPlayers, double whiteValue, double blueValue, double greenValue, double redValue) {
this.maxPlayers = maxPlayers;
this.whiteValue = whiteValue;
this.blueValue = blueValue;
this.greenValue = greenValue;
this.redValue = redValue;
}
protected Game(Parcel in) {
maxPlayers = in.readInt();
whiteValue = in.readDouble();
blueValue = in.readDouble();
greenValue = in.readDouble();
redValue = in.readDouble();
}
public static final Creator<Game> CREATOR = new Creator<Game>() {
@Override
public Game createFromParcel(Parcel in) {
return new Game(in);
}
@Override
public Game[] newArray(int size) {
return new Game[size];
}
};
public void setMaxPlayers(int maxPlayers) {
this.maxPlayers = maxPlayers;
}
public int getMaxPlayers(){
return maxPlayers;
}
public void setWhiteValue(double val) {
this.whiteValue = val;
}
public double getWhiteValue() {
return whiteValue;
}
public void setBlueValue(double val) {
this.blueValue = val;
}
public double getBlueValue() {
return blueValue;
}
public void setGreenValue(double val) {
this.greenValue = val;
}
public double getGreenValue() {
return greenValue;
}
public void setRedValue(double val) {
this.redValue = val;
}
public double getRedValue() {
return redValue;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(maxPlayers);
dest.writeDouble(whiteValue);
dest.writeDouble(blueValue);
dest.writeDouble(greenValue);
dest.writeDouble(redValue);
}
}
package com.example.chipcount;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class HomePage extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_page);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//Setup Button for going to Black Jack Setup Page
Button blackSetup = (Button) findViewById(R.id.buttonBlackJack);
blackSetup.setOnClickListener((new View.OnClickListener() {
public void onClick(View v){
//Passing param of number of Players to blackJack Setup
EditText editnumOfPlayers = (EditText)findViewById(R.id.numberOfPlayers);
String numOfPlayers = editnumOfPlayers.getText().toString();
int maxPlayers = Integer.parseInt(numOfPlayers);
Game blackjack = new Game(maxPlayers);
Intent blackSetup = new Intent(HomePage.this, BlackJackSetup.class);
blackSetup.putExtra("blackjack", blackjack);
startActivity(blackSetup);
}
}));
}
}
package com.example.chipcount;
import android.os.Parcel;
import android.os.Parcelable;
public class Player implements Parcelable{
private int PlayerNumber;
private double PlayerFunds;
private double PlayerBet;
public Player(int number, double funds) {
PlayerNumber = number;
PlayerFunds = funds;
PlayerBet = 0;
}
protected Player(Parcel in) {
PlayerNumber = in.readInt();
PlayerFunds = in.readDouble();
PlayerBet = in.readDouble();
}
//Used to regenerate player objects from parcelable package.
public static final Creator<Player> CREATOR = new Creator<Player>() {
@Override
public Player createFromParcel(Parcel in) {
return new Player(in);
}
@Override
public Player[] newArray(int size) {
return new Player[size];
}
};
@Override
public int describeContents() {
return 0;
}
//Implementing Parceable for passing between classes
@Override
public void writeToParcel(Parcel out, int flags) {
out.writeInt(PlayerNumber);
out.writeDouble(PlayerFunds);
out.writeDouble(PlayerBet);
}
//Getters and Setters
public void setNumber(int number) {
this.PlayerNumber = number;
}
public int getNumber() {
return PlayerNumber;
}
public void setPlayerFunds(double funds) {
this.PlayerFunds = funds;
}
public double getPlayerFunds() {
return PlayerFunds;
}
public void setPlayerBet(double bet) { this.PlayerBet = bet; }
public double getPlayerBet() { return PlayerBet; }
}
package com.example.chipcount;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.os.Parcelable;
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.TextView;
import java.util.Arrays;
public class BlackJackChip extends AppCompatActivity {
int playerCount = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_black_jack_chip);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//Setting saved values from setup page
final Game blackjack = (Game) getIntent().getParcelableExtra("blackjack");
//Sets up number of players specified in homepage
Parcelable[] parcelableArray = getIntent().getParcelableArrayExtra("playerList");
final Player[] playerArray = Arrays.copyOf(parcelableArray, parcelableArray.length, Player[].class);
TextView fundsView = (TextView)findViewById(R.id.playerFundsVar);
double funds = playerArray[playerCount].getPlayerFunds();
fundsView.setText(Double.toString(funds));
TextView whiteView = (TextView)findViewById(R.id.bcWhiteBet);
whiteView.setText(Double.toString(blackjack.getWhiteValue()));
TextView blueView = (TextView)findViewById(R.id.bcBlueBet);
blueView.setText(Double.toString(blackjack.getBlueValue()));
TextView greenView = (TextView)findViewById(R.id.bcGreenBet);
greenView.setText(Double.toString(blackjack.getGreenValue()));
TextView redView = (TextView)findViewById(R.id.bcRedBet);
redView.setText(Double.toString(blackjack.getRedValue()));
String NumberOfPlayers = Integer.toString(blackjack.getMaxPlayers());
final int maxPlayers = Integer.parseInt(NumberOfPlayers);
//Setting up Betting buttons so they add to total bet
ImageButton whiteBet = (ImageButton)findViewById(R.id.bjWhiteBet);
whiteBet.setOnClickListener((new View.OnClickListener(){
public void onClick(View v) {
TextView temptotal = (TextView)findViewById(R.id.yourBetSize);
String tempTotalBet = temptotal.getText().toString();
if(tempTotalBet.isEmpty()){
tempTotalBet = "0";
}
double totalBet = Double.parseDouble((tempTotalBet));
double currentBet = blackjack.getWhiteValue();
totalBet += currentBet;
String newTotal = String.valueOf(totalBet);
temptotal.setText(newTotal);
}
}));
ImageButton blueBet = (ImageButton)findViewById(R.id.bjBlueBet);
blueBet.setOnClickListener((new View.OnClickListener(){
public void onClick(View v) {
TextView temptotal = (TextView)findViewById(R.id.yourBetSize);
String tempTotalBet = temptotal.getText().toString();
if(tempTotalBet.isEmpty()){
tempTotalBet = "0";
}
double totalBet = Double.parseDouble((tempTotalBet));
double currentBet = blackjack.getBlueValue();
totalBet += currentBet;
String newTotal = String.valueOf(totalBet);
temptotal.setText(newTotal);
}
}));
ImageButton greenBet = (ImageButton)findViewById(R.id.bjGreenBet);
greenBet.setOnClickListener((new View.OnClickListener() {
public void onClick(View v){
TextView temptotal = (TextView)findViewById(R.id.yourBetSize);
String tempTotalBet = temptotal.getText().toString();
if(tempTotalBet.isEmpty()){
tempTotalBet = "0";
}
double totalBet = Double.parseDouble((tempTotalBet));
double currentBet = blackjack.getGreenValue();
totalBet += currentBet;
String newTotal = String.valueOf(totalBet);
temptotal.setText(newTotal);
}
}));
ImageButton redBet = (ImageButton)findViewById(R.id.bjRedBet);
redBet.setOnClickListener((new View.OnClickListener(){
public void onClick(View v) {
TextView temptotal = (TextView)findViewById(R.id.yourBetSize);
String tempTotalBet = temptotal.getText().toString();
if(tempTotalBet.isEmpty()){
tempTotalBet = "0";
}
double totalBet = Double.parseDouble((tempTotalBet));
double currentBet = blackjack.getRedValue();
totalBet += currentBet;
String newTotal = String.valueOf(totalBet);
temptotal.setText(newTotal);
}
}));
//Setting up Next/Prev player buttons
Button nextPlayer = (Button)findViewById(R.id.nextPlayer);
nextPlayer.setOnClickListener((new View.OnClickListener(){
public void onClick(View v) {
//After clicking nextplayer, refresh pot, save player funds, update player_turn
//Updating Total Pot and Resetting Betting amount
TextView tempPot = (TextView)findViewById(R.id.pot);
String tempPotString = tempPot.getText().toString();
if(tempPotString.isEmpty()){
tempPotString = "0";
}
double totalPot = Double.parseDouble((tempPotString));
TextView edittotalBet = (TextView)findViewById(R.id.yourBetSize);
String totalBet = edittotalBet.getText().toString();
if (totalBet.isEmpty()) {
totalBet = "0";
}
double totalBetDouble = Double.parseDouble(totalBet);
totalPot += totalBetDouble;
String newPot = String.valueOf(totalPot);
tempPot.setText(newPot);
edittotalBet.setText("0");
//Refresh Player Funds for their next turn
double newPlayerFunds = playerArray[playerCount].getPlayerFunds() - totalBetDouble;
playerArray[playerCount].setPlayerFunds(newPlayerFunds);
playerArray[playerCount].setPlayerBet(totalBetDouble);
//Updating Player Turn/funds viewtext
playerCount++;
if (!(playerCount < maxPlayers)) {
playerCount = 0;
//If playerCount is at max, goto results page
Intent blackResults = new Intent(v.getContext(), BlackJackResults.class);
blackResults.putExtra("playerList", playerArray);
blackResults.putExtra("blackjack", blackjack);
startActivity(blackResults);
}
TextView viewCurrentPlayer = (TextView)findViewById(R.id.playerTurn);
String playerTurnString;
switch (playerCount) {
case 0: playerTurnString = "Player One:";
break;
case 1: playerTurnString = "Player Two:";
break;
case 2: playerTurnString = "Player Three:";
break;
case 3: playerTurnString = "Player Four:";
break;
case 4: playerTurnString = "Player Five:";
break;
case 5: playerTurnString = "Player Six:";
break;
default: playerTurnString = "Error";
break;
}
viewCurrentPlayer.setText(playerTurnString);
TextView viewTotalFunds = (TextView)findViewById(R.id.playerFundsVar);
double playerFunds = playerArray[playerCount].getPlayerFunds();
viewTotalFunds.setText(String.valueOf(playerFunds));
}
}));
Button endGame = (Button)findViewById(R.id.blackEndGame);
endGame.setOnClickListener((new View.OnClickListener(){
public void onClick(View v) {
//Goto endgame screen
Intent blackEnd = new Intent(v.getContext(), BlackJackEndGame.class);
blackEnd.putExtra("playerList", playerArray);
blackEnd.putExtra("blackjack", blackjack);
startActivity(blackEnd);
}
}));
}
}
/*
EditText editMin = (EditText)findViewById(R.id.minNum);
String minBet = editMin.getText().toString();
*/
package com.example.chipcount;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.os.Parcelable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.util.Arrays;
public class BlackJackEndGame extends AppCompatActivity {
int playerCount = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_black_jack_end_game);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//Retrieve player array from Game
Parcelable[] parcelableArray = getIntent().getParcelableArrayExtra("playerList");
final Player[] playerArray = Arrays.copyOf(parcelableArray, parcelableArray.length, Player[].class);
final Game blackjack = (Game) getIntent().getParcelableExtra("blackjack");
for(playerCount = 0; playerCount < blackjack.getMaxPlayers(); playerCount ++) {
switch (playerCount) {
case 0: TextView viewOne = (TextView)findViewById(R.id.endOne);
String fundsOne = Double.toString(playerArray[0].getPlayerFunds());
viewOne.setText(fundsOne);
break;
case 1: TextView viewTwo = (TextView)findViewById(R.id.endTwo);
String fundsTwo = Double.toString(playerArray[1].getPlayerFunds());
viewTwo.setText(fundsTwo);
break;
case 2: TextView viewThree = (TextView)findViewById(R.id.endThree);
String fundsThree = Double.toString(playerArray[2].getPlayerFunds());
viewThree.setText(fundsThree);
break;
case 3: TextView viewFour = (TextView)findViewById(R.id.endFour);
String fundsFour = Double.toString(playerArray[3].getPlayerFunds());
viewFour.setText(fundsFour);
break;
case 4: TextView viewFive = (TextView)findViewById(R.id.endFive);
String fundsFive = Double.toString(playerArray[4].getPlayerFunds());
viewFive.setText(fundsFive);
break;
case 5: TextView viewSix = (TextView)findViewById(R.id.endSix);
String fundsSix = Double.toString(playerArray[5].getPlayerFunds());
viewSix.setText(fundsSix);
break;
}
}
Button home = (Button)findViewById(R.id.homeButton);
home.setOnClickListener((new View.OnClickListener() {
public void onClick(View v) {
Intent goHome = new Intent(v.getContext(), HomePage.class);
startActivity(goHome);
}
}));
}
}
package com.example.chipcount;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.os.Parcelable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.util.Arrays;
public class BlackJackResults extends AppCompatActivity {
int playerCount = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_black_jack_results);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//Set Pot to show total pot that's been passed from previous class.
//Setup Array and add money to player funds if they win or just leave.
//Retrieve player array from Game
Parcelable[] parcelableArray = getIntent().getParcelableArrayExtra("playerList");
final Player[] playerArray = Arrays.copyOf(parcelableArray, parcelableArray.length, Player[].class);
final Game blackjack = (Game) getIntent().getParcelableExtra("blackjack");
final int maxPlayers = blackjack.getMaxPlayers();
//Setup Button Listeners
Button jackpot = (Button)findViewById(R.id.jackButton);
jackpot.setOnClickListener((new View.OnClickListener() {
public void onClick(View v){
/*
* If jackpot is clicked, player wins double their bet
* E.g: Hit 21 with the cards. (If betting £2, the player would receive their £2 back and an extra £4).
*/
double bet = playerArray[playerCount].getPlayerBet();
bet += bet += bet;
playerArray[playerCount].setPlayerFunds(playerArray[playerCount].getPlayerFunds() + bet);
playerArray[playerCount].setPlayerBet(0);
refreshPlayerCount(blackjack, playerArray, v);
}
}));
Button win = (Button)findViewById(R.id.winButton);
win.setOnClickListener((new View.OnClickListener() {
public void onClick(View v) {
/*
* If player wins, player wins their bet back
* E.g: Beat the dealer. Win double the bet. (If betting £2, the player would receive their £2 and an extra £2).
*/
double bet = playerArray[playerCount].getPlayerBet();
bet += bet;
playerArray[playerCount].setPlayerFunds(playerArray[playerCount].getPlayerFunds() + bet);
playerArray[playerCount].setPlayerBet(0);
refreshPlayerCount(blackjack, playerArray, v);
}
}));
Button draw = (Button)findViewById(R.id.drawButton);
draw.setOnClickListener((new View.OnClickListener(){
public void onClick(View v) {
/*
* If player draws with dealer, they don't lose or win any money
*/
double bet = playerArray[playerCount].getPlayerBet();
playerArray[playerCount].setPlayerFunds(playerArray[playerCount].getPlayerFunds() + bet);
playerArray[playerCount].setPlayerBet(0);
refreshPlayerCount(blackjack, playerArray, v);
}
}));
Button bust = (Button)findViewById(R.id.bustButton);
bust.setOnClickListener((new View.OnClickListener(){
public void onClick(View v) {
/*
* Dealer beat player so player loses bet.
*/
playerArray[playerCount].setPlayerBet(0);
refreshPlayerCount(blackjack, playerArray, v);
}
}));
}
public void refreshPlayerCount(Game blackjack, Player[] players, View v) {
//Set new Player turn
playerCount++;
if (!(playerCount < blackjack.getMaxPlayers())) {
playerCount = 0;
//If playerCount is at max, goto results page
Intent blackContinue = new Intent(v.getContext(), BlackJackChip.class);
blackContinue.putExtra("playerList", players);
blackContinue.putExtra("blackjack", blackjack);
startActivity(blackContinue);
}
TextView viewCurrentPlayer = (TextView)findViewById(R.id.playerTurn);
String playerTurnString;
switch (playerCount) {
case 0: playerTurnString = "Player One:";
break;
case 1: playerTurnString = "Player Two:";
break;
case 2: playerTurnString = "Player Three:";
break;
case 3: playerTurnString = "Player Four:";
break;
case 4: playerTurnString = "Player Five:";
break;
case 5: playerTurnString = "Player Six:";
break;
default: playerTurnString = "Error";
break;
}
viewCurrentPlayer.setText(playerTurnString);
}
}
package com.example.chipcount;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class HomePage extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_page);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//Setup Button for going to Black Jack Setup Page
Button blackSetup = (Button) findViewById(R.id.buttonBlackJack);
blackSetup.setOnClickListener((new View.OnClickListener() {
public void onClick(View v){
//Passing param of number of Players to blackJack Setup
EditText editnumOfPlayers = (EditText)findViewById(R.id.numberOfPlayers);
String numOfPlayers = editnumOfPlayers.getText().toString();
int maxPlayers = Integer.parseInt(numOfPlayers);
Game blackjack = new Game(maxPlayers);
Intent blackSetup = new Intent(HomePage.this, BlackJackSetup.class);
blackSetup.putExtra("blackjack", blackjack);
startActivity(blackSetup);
}
}));
}
}
package com.example.chipcount;
import android.os.Parcel;
import android.os.Parcelable;
public class Player implements Parcelable{
private int PlayerNumber;
private double PlayerFunds;
private double PlayerBet;
public Player(int number, double funds) {
PlayerNumber = number;
PlayerFunds = funds;
PlayerBet = 0;
}
protected Player(Parcel in) {
PlayerNumber = in.readInt();
PlayerFunds = in.readDouble();
PlayerBet = in.readDouble();
}
//Used to regenerate player objects from parcelable package.
public static final Creator<Player> CREATOR = new Creator<Player>() {
@Override
public Player createFromParcel(Parcel in) {
return new Player(in);
}
@Override
public Player[] newArray(int size) {
return new Player[size];
}
};
@Override
public int describeContents() {
return 0;
}
//Implementing Parceable for passing between classes
@Override
public void writeToParcel(Parcel out, int flags) {
out.writeInt(PlayerNumber);
out.writeDouble(PlayerFunds);
out.writeDouble(PlayerBet);
}
//Getters and Setters
public void setNumber(int number) {
this.PlayerNumber = number;
}
public int getNumber() {
return PlayerNumber;
}
public void setPlayerFunds(double funds) {
this.PlayerFunds = funds;
}
public double getPlayerFunds() {
return PlayerFunds;
}
public void setPlayerBet(double bet) { this.PlayerBet = bet; }
public double getPlayerBet() { return PlayerBet; }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment