/*Tat Ho
Me=Newb in Java
CeeloGame written for my java class a while ago*/
class Die
{
int value;
void setRandomValue()
{
value=(int)Math.floor(Math.random()*6+1);
}
void showValue()
{
System.out.print(value);
}
void roll()
{
setRandomValue();
showValue();
}
}
class Dice
{
Die die1, die2, die3;
Dice()
{
die1=new Die();
die2=new Die();
die3=new Die();
}
void roll()
{
die1.roll();
die2.roll();
die3.roll();
}
}
class Player
{
String name;
int money,score;
final int bet=10;
boolean isTurn;
KeyboardReader reader;
int die1, die2, die3;
Player()
{
name="Player";
money=100;
reader=new KeyboardReader();
}
void showInfo()
{
System.out.println(name);
System.out.println("Money: " + money);
System.out.println("Bet: " + bet);
System.out.println();
}
void enterName()
{
name=reader.readLine("Enter your name: ");
}
void enterBet()
{
money-=bet;
System.out.print(name);
System.out.println(" bets " + bet);
}
void wins()
{
money+=20;
isTurn=true;
System.out.println(name + " wins!");
}
void loses()
{
isTurn=false;
System.out.println(name + " loses!");
}
boolean isBroke()
{
if(money>=0)
return true;
else
return false;
}
void tie()
{
System.out.println("Tie!");
money+=10;
}
}
class Ceelo
{
Player player1, player2;
KeyboardReader reader=new KeyboardReader();
Dice dice;
int value1;
int value2;
int value3;
int values;
int score1;
int score2;
boolean valid;
Ceelo()
{
player1=new Player();
player1.isTurn=true;
player2=new Player();
player2.isTurn=true;
dice=new Dice();
values=value1+value2+value3;
valid=false;
}
void title()
{
System.out.println("Ceelo");
reader.pause();
}
void enterNames()
{
player1.enterName();
player2.enterName();
}
void takeBets()
{
player1.enterBet();
player2.enterBet();
}
int calcRoll()
{
int score=-1;
if (value1 == value2 && value2 == value3) {
valid = true;
score = value1 + 6;
System.out.print(" score "+score);
}
else {
if (value1 == value3) {
valid = true;
score = value2;
System.out.print(" score "+score);
}
else if (value1 == value2) {
valid = true;
score = value3;
System.out.print(" score "+score);
}
else if (value2 == value3) {
valid = true;
score = value1;
System.out.print(" score "+score);
}
else if (values == 6) {
valid = true;
score = 0;
System.out.print(" score "+score);
}
else if (values == 15) {
valid = true;
score = 13;
System.out.print(" score "+score);
}
}
return score;
}
void rollBoth()
{
System.out.print(player1.name+" rolls ");
dice.roll();
value1=dice.die1.value;
value2=dice.die2.value;
value3=dice.die3.value;
score1=calcRoll();
System.out.println();
System.out.print(player2.name+" rolls ");
dice.roll();
value1=dice.die1.value;
value2=dice.die2.value;
value3=dice.die3.value;
score2=calcRoll();
System.out.println();
if (score1==-1 ||score2==-1){
System.out.println("No Score! Roll Again!");
rollBoth();
}
}
void findWinner()
{
if(score1>score2){
player1.wins();
player2.loses();
}else if(score2>score1){
player2.wins();
player1.loses();
}else if (score2==score1){
player1.tie();
player2.tie();
}
}
void play()
{
char again;
title();
enterNames();
do
{
takeBets();
rollBoth();
findWinner();
System.out.println(player1.name + " Money: " + player1.money);
System.out.println(player2.name + " Money: " + player2.money);
again=reader.readChar("Press 'Y' to play again or 'N' to exit");
}while(again=='Y' || again=='y');
if(again=='n' || again=='N' || isGameOver())
System.out.println("Exit");
}
boolean isGameOver()
{
if(player1.isBroke()==true || player2.isBroke()==true)
{
return true;
}
else
{
return false;
}
}
}
class CeeloMain
{
static Ceelo ceelo;
public static void main(String args[])
{
ceelo=new Ceelo();
ceelo.play();
}
} |