import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.util.ArrayList;
public class pokGraph1point2 extends java.applet.Applet implements MouseListener, MouseMotionListener {
int mx,my;
int iPlayersCount=10;
Image imgPokerTable;
ArrayList arraylst_Deck = new ArrayList(); ArrayList arraylst_CommunityCards = new ArrayList();
ArrayList arraylst_Players = new ArrayList(10);
public void init()
{
for(int i=1;i<6;i++)
{
int z=10;
if(i==1||i==5)
{
z=60;
}
arraylst_Players.add(new Player(i*130,z));
}
for(int i=1;i<6;i++)
{
int z=320;
if(i==1||i==5)
{
z=270;
}
arraylst_Players.add(new Player(i*130,z));
}
addMouseListener( this ); addMouseMotionListener( this );
loadDeck();
imgPokerTable=getImage( getDocumentBase(), "pokerTable.jpg" );
repaint();
}
public void loadDeck()
{
int tempX=160;
for(int i=1;i<14;i++)
{
String tempStr=new String( Integer.toString(i) );
arraylst_Deck.add(new PlayingCard(tempX,520,"C",i,getImage( getDocumentBase(), tempStr + "c.png")));
tempX=tempX+19;
}
for(int i=1;i<14;i++)
{
String tempStr=new String( Integer.toString(i) );
arraylst_Deck.add(new PlayingCard(tempX,520,"S",i,getImage( getDocumentBase(), tempStr + "s.png")));
tempX=tempX+19;
}
tempX=160;
for(int i=1;i<14;i++)
{
String tempStr=new String( Integer.toString(i) );
arraylst_Deck.add(new PlayingCard(tempX,560,"H",i,getImage( getDocumentBase(), tempStr + "h.png")));
tempX=tempX+19;
}
for(int i=1;i<14;i++)
{
String tempStr=new String( Integer.toString(i) );
arraylst_Deck.add(new PlayingCard(tempX,560,"D",i,getImage( getDocumentBase(), tempStr + "d.png")));
tempX=tempX+19;
}
}
public void clearAllCards()
{
}
public void mouseEntered( MouseEvent e ) {} public void mouseExited( MouseEvent e ) {}public void mouseClicked( MouseEvent e ) {}public void mouseReleased( MouseEvent e ) {}public void mouseDragged( MouseEvent e ) {}
public void mousePressed( MouseEvent e )
{
for(int i=0; i<arraylst_Deck.size();i++) //switch card from deck to playerhand arraylist
{
PlayingCard playingCard = (PlayingCard)arraylst_Deck.get(i);
if((mx > playingCard.getposX() & mx < (playingCard.getposX()+20)) && (my > (playingCard.getposY()) & my < (playingCard.getposY()+35)))
{
for(int k=0; k<iPlayersCount; k++)
{
Player oPlayer = (Player)arraylst_Players.get(k);
if (oPlayer.needsCard1()==true)
{
oPlayer.addCard(playingCard);
arraylst_Deck.remove(i);
i=arraylst_Players.size(); break; //break loop
}
else if (oPlayer.needsCard2()==true)
{
oPlayer.addCard(playingCard);
arraylst_Deck.remove(i);
i=arraylst_Players.size();break;
}
}
}
}
for(int i=0; i<iPlayersCount;i++) //switch card from deck to playerhand arraylist
{
Player oPlayer = (Player)arraylst_Players.get(i);
PlayingCard oCard1 = oPlayer.getPlayingCard1();
PlayingCard oCard2 = oPlayer.getPlayingCard2();
if((mx > oCard1.getposX() & mx < (oCard1.getposX()+20)) && (my > (oCard1.getposY()) & my < (oCard1.getposY()+35)))
{
arraylst_Deck.add(oCard1);
oPlayer.removeCard1();
i=12;break;
}
else if((mx > oCard2.getposX() & mx < (oCard2.getposX()+20)) && (my > (oCard2.getposY()) & my < (oCard2.getposY()+35)))
{
arraylst_Deck.add(oCard2);
oPlayer.removeCard2();
i=12;break;
}
}
repaint();
}
public void mouseMoved( MouseEvent e )
{
mx = e.getX(); my = e.getY();
repaint();
e.consume();
}
public void paint(Graphics g)
{
this.setSize( 900, 600 );
String s = new String();
for(int i=0; i<iPlayersCount;i++)
{
Player oPlayer = (Player)arraylst_Players.get(i);
if(oPlayer.needsCard1()==false)
{
PlayingCard oCard1 = oPlayer.getPlayingCard1();
s = s + oCard1.getCardSuit() + " " + Integer.toString(oCard1.getCardFace());
g.drawString(s,10,10);
g.drawImage( oCard1.getLargeImage(), oPlayer.getposX(), oPlayer.getposY(), this );
}
if(oPlayer.needsCard2()==false)
{
PlayingCard oCard2 = oPlayer.getPlayingCard2();
s = s + oCard2.getCardSuit() + " " + Integer.toString(oCard2.getCardFace() )+ " " ;
g.drawString(s,10,10);
g.drawImage( oCard2.getLargeImage(), oPlayer.getposX()+20, oPlayer.getposY(), this );
}
}
for(int q=0; q<arraylst_Deck.size();q++)
{
PlayingCard pCard = (PlayingCard)arraylst_Deck.get(q);
g.drawImage( pCard.getLargeImage(), pCard.getposX(), pCard.getposY(), this );
}
}
public class Player
{
int posX,posY;
ArrayList playersHand = new ArrayList(3);
boolean bNeedsCard1=true, bNeedsCard2=true;
public Player(int a, int b)
{
posX = a; posY = b;
}
public void addCard(PlayingCard x)
{
if(playersHand.size()==0)
{
x.setposX(posX); x.setposY(posY);
playersHand.add(x);
bNeedsCard1=false;
}
else if(playersHand.size()>0&&playersHand.size()<2)
{
x.setposX(posX); x.setposY(posY);
playersHand.add(x);
bNeedsCard2=false;
}
}
public void removeCard1()
{
playersHand.remove(0);
bNeedsCard1=true;
}
public void removeCard2()
{
playersHand.remove(1);
bNeedsCard2=true;
}
public boolean needsCard1() {return bNeedsCard1;} public boolean needsCard2() {return bNeedsCard2;}
public int getposX() {return posX;} public int getposY() {return posY;}
public PlayingCard getPlayingCard1()
{
PlayingCard pCard = (PlayingCard) playersHand.get(0); return pCard;
}
public PlayingCard getPlayingCard2()
{
PlayingCard pCard = (PlayingCard) playersHand.get(1); return pCard;
}
}
public class PlayingCard
{
int posX,posY,iFace;
String sSuit = new String();
Image large_cardImage ;
public PlayingCard(int a, int b,String d,int c, Image e)
{
posX = a; posY = b;
iFace=c; sSuit=d;
large_cardImage = e;
}
public void setposX(int x) {posX=x;} // mutators
public void setposY(int y) {posY=y;}
public Image getLargeImage() {return large_cardImage;} //accessors
public int getposX() {return posX;}
public int getposY() {return posY;}
public int getCardFace() {return iFace;}
public String getCardSuit() {return sSuit;}
}
} |