Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 07-10-2009, 07:17 AM
Member
 
Join Date: Jul 2009
Posts: 1
Rep Power: 0
aza101 is on a distinguished road
Default output not what expected!
Hi. i have a simple Playing Card applet that puts 2 PlayingCard Objects from an arraylist, into a Player Object, the applet displays images at the PlayingCard Object pos x and y. The graphical output is not right i have tried double buffering which creates worse problems. please help.

You will need 52 images to diplay the cards in order to load the applet. i am using getDocumentBase() to add file extension.

Code:
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;}		
	}

}

Last edited by Fubarable; 07-10-2009 at 08:02 AM. Reason: code tags added for readability
Bookmark Post in Technorati
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
.class expected dre New To Java 6 06-27-2009 07:01 PM
The values are NOT as expected... Abder-Rahman New To Java 4 05-09-2009 01:01 AM
Java, output string, getting correct output? HELP! computerboyo New To Java 2 02-26-2009 12:44 AM
My error is: ')' expected silvia New To Java 1 07-18-2007 05:49 PM
MSG ERROR: : expected Marty New To Java 1 05-31-2007 03:21 AM


All times are GMT +2. The time now is 05:28 PM.



VBulletin, Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2009, Crawlability, Inc.
Copyright ©2006 - 2007, www.java-forums.org