Results 1 to 12 of 12
- 12-29-2011, 04:45 PM #1
Member
- Join Date
- Dec 2011
- Posts
- 6
- Rep Power
- 0
Why will this not build properly?
Hi there is a pacman example game here that will not build properly in eclipse, does anyone know how to fix this?
I'm not a great with Java, I just need this to run can you help please?
Java Code:import java.awt.*; import java.applet.Applet; public class PacMan extends Applet implements Runnable { Dimension d; Font largefont = new Font("Helvetica", Font.BOLD, 24); Font smallfont = new Font("Helvetica", Font.BOLD, 14); FontMetrics fmsmall, fmlarge; Graphics goff; Image ii; Thread thethread; MediaTracker thetracker = null; Color dotcolor=new Color(192,192,0); int bigdotcolor=192; int dbigdotcolor=-2; Color mazecolor; boolean ingame=false; boolean showtitle=true; boolean scared=false; boolean dying=false; final int screendelay=120; final int blocksize=24; final int nrofblocks=15; final int scrsize=nrofblocks*blocksize; final int animdelay=8; final int pacanimdelay=2; final int ghostanimcount=2; final int pacmananimcount=4; final int maxghosts=12; final int pacmanspeed=6; int animcount=animdelay; int pacanimcount=pacanimdelay; int pacanimdir=1; int count=screendelay; int ghostanimpos=0; int pacmananimpos=0; int nrofghosts=6; int pacsleft,score; int deathcounter; int[] dx,dy; int[] ghostx, ghosty, ghostdx, ghostdy, ghostspeed; Image ghost1,ghost2,ghostscared1,ghostscared2; Image pacman1, pacman2up, pacman2left, pacman2right, pacman2down; Image pacman3up, pacman3down, pacman3left, pacman3right; Image pacman4up, pacman4down, pacman4left, pacman4right; int pacmanx, pacmany, pacmandx, pacmandy; int reqdx, reqdy, viewdx, viewdy; int scaredcount, scaredtime; final int maxscaredtime=120; final int minscaredtime=20; final short level1data[] = { 19,26,26,22, 9,12,19,26,22, 9,12,19,26,26,22, 37,11,14,17,26,26,20,15,17,26,26,20,11,14,37, 17,26,26,20,11, 6,17,26,20, 3,14,17,26,26,20, 21, 3, 6,25,22, 5,21, 7,21, 5,19,28, 3, 6,21, 21, 9, 8,14,21,13,21, 5,21,13,21,11, 8,12,21, 25,18,26,18,24,18,28, 5,25,18,24,18,26,18,28, 6,21, 7,21, 7,21,11, 8,14,21, 7,21, 7,21,03, 4,21, 5,21, 5,21,11,10,14,21, 5,21, 5,21, 1, 12,21,13,21,13,21,11,10,14,21,13,21,13,21, 9, 19,24,26,24,26,16,26,18,26,16,26,24,26,24,22, 21, 3, 2, 2, 6,21,15,21,15,21, 3, 2, 2,06,21, 21, 9, 8, 8, 4,17,26, 8,26,20, 1, 8, 8,12,21, 17,26,26,22,13,21,11, 2,14,21,13,19,26,26,20, 37,11,14,17,26,24,22,13,19,24,26,20,11,14,37, 25,26,26,28, 3, 6,25,26,28, 3, 6,25,26,26,28 }; final int validspeeds[] = { 1,2,3,4,6,8 }; final int maxspeed=6; int currentspeed=3; short[] screendata; public String getAppletInfo() { return("PacMan - by Brian Postma"); } public void init() { short i; GetImages(); screendata=new short[nrofblocks*nrofblocks]; Graphics g; d = size(); setBackground(Color.black); g=getGraphics(); g.setFont(smallfont); fmsmall = g.getFontMetrics(); g.setFont(largefont); fmlarge = g.getFontMetrics(); ghostx=new int[maxghosts]; ghostdx=new int[maxghosts]; ghosty=new int[maxghosts]; ghostdy=new int[maxghosts]; ghostspeed=new int[maxghosts]; dx=new int[4]; dy=new int[4]; GameInit(); } public void GameInit() { pacsleft=3; score=0; scaredtime=maxscaredtime; LevelInit(); nrofghosts=6; currentspeed=3; scaredtime=maxscaredtime; } public void LevelInit() { int i; for (i=0; i<nrofblocks*nrofblocks; i++) screendata[i]=level1data[i]; LevelContinue(); } public void LevelContinue() { short i; int dx=1; int random; for (i=0; i<nrofghosts; i++) { ghosty[i]=7*blocksize; ghostx[i]=7*blocksize; ghostdy[i]=0; ghostdx[i]=dx; dx=-dx; random=(int)(Math.random()*(currentspeed+1)); if (random>currentspeed) random=currentspeed; ghostspeed[i]=validspeeds[random]; } screendata[7*nrofblocks+6]=10; screendata[7*nrofblocks+8]=10; pacmanx=7*blocksize; pacmany=11*blocksize; pacmandx=0; pacmandy=0; reqdx=0; reqdy=0; viewdx=-1; viewdy=0; dying=false; scared=false; } public void GetImages() { thetracker=new MediaTracker(this); ghost1=getImage(getDocumentBase(),"pacpix/Ghost1.gif"); thetracker.addImage(ghost1,0); ghost2=getImage(getDocumentBase(),"pacpix/Ghost2.gif"); thetracker.addImage(ghost2,0); ghostscared1=getImage(getDocumentBase(),"pacpix/GhostScared1.gif"); thetracker.addImage(ghostscared1,0); ghostscared2=getImage(getDocumentBase(),"pacpix/GhostScared2.gif"); thetracker.addImage(ghostscared2,0); pacman1=getImage(getDocumentBase(),"pacpix/PacMan1.gif"); thetracker.addImage(pacman1,0); pacman2up=getImage(getDocumentBase(),"pacpix/PacMan2up.gif"); thetracker.addImage(pacman2up,0); pacman3up=getImage(getDocumentBase(),"pacpix/PacMan3up.gif"); thetracker.addImage(pacman3up,0); pacman4up=getImage(getDocumentBase(),"pacpix/PacMan4up.gif"); thetracker.addImage(pacman4up,0); pacman2down=getImage(getDocumentBase(),"pacpix/PacMan2down.gif"); thetracker.addImage(pacman2down,0); pacman3down=getImage(getDocumentBase(),"pacpix/PacMan3down.gif"); thetracker.addImage(pacman3down,0); pacman4down=getImage(getDocumentBase(),"pacpix/PacMan4down.gif"); thetracker.addImage(pacman4down,0); pacman2left=getImage(getDocumentBase(),"pacpix/PacMan2left.gif"); thetracker.addImage(pacman2left,0); pacman3left=getImage(getDocumentBase(),"pacpix/PacMan3left.gif"); thetracker.addImage(pacman3left,0); pacman4left=getImage(getDocumentBase(),"pacpix/PacMan4left.gif"); thetracker.addImage(pacman4left,0); pacman2right=getImage(getDocumentBase(),"pacpix/PacMan2right.gif"); thetracker.addImage(pacman2right,0); pacman3right=getImage(getDocumentBase(),"pacpix/PacMan3right.gif"); thetracker.addImage(pacman3right,0); pacman4right=getImage(getDocumentBase(),"pacpix/PacMan4right.gif"); thetracker.addImage(pacman4right,0); try { thetracker.waitForAll(); } catch (InterruptedException e) { return; } } public boolean keyDown(Event e, int key) { if (ingame) { if (key == Event.LEFT) { reqdx=-1; reqdy=0; } else if (key == Event.RIGHT) { reqdx=1; reqdy=0; } else if (key == Event.UP) { reqdx=0; reqdy=-1; } else if (key == Event.DOWN) { reqdx=0; reqdy=1; } else if (key == Event.ESCAPE) { ingame=false; } } else { if (key == 's' || key == 'S') { ingame=true; GameInit(); } } return true; } public boolean keyUp(Event e, int key) { if (key == Event.LEFT || key == Event.RIGHT || key == Event.UP || key == Event.DOWN) { reqdx=0; reqdy=0; } return true; } public void paint(Graphics g) { String s; Graphics gg; if (goff==null && d.width>0 && d.height>0) { ii = createImage(d.width, d.height); goff = ii.getGraphics(); } if (goff==null || ii==null) return; goff.setColor(Color.black); goff.fillRect(0, 0, d.width, d.height); DrawMaze(); DrawScore(); DoAnim(); if (ingame) PlayGame(); else PlayDemo(); g.drawImage(ii, 0, 0, this); } public void DoAnim() { animcount--; if (animcount<=0) { animcount=animdelay; ghostanimpos++; if (ghostanimpos>=ghostanimcount) ghostanimpos=0; } pacanimcount--; if (pacanimcount<=0) { pacanimcount=pacanimdelay; pacmananimpos=pacmananimpos+pacanimdir; if (pacmananimpos==(pacmananimcount-1) || pacmananimpos==0) pacanimdir=-pacanimdir; } } public void PlayGame() { if (dying) { Death(); } else { CheckScared(); MovePacMan(); DrawPacMan(); MoveGhosts(); CheckMaze(); } } public void PlayDemo() { CheckScared(); MoveGhosts(); ShowIntroScreen(); } public void Death() { int k; deathcounter--; k=(deathcounter&15)/4; switch(k) { case 0: goff.drawImage(pacman4up,pacmanx+1,pacmany+1,this); break; case 1: goff.drawImage(pacman4right,pacmanx+1,pacmany+1,this); break; case 2: goff.drawImage(pacman4down,pacmanx+1,pacmany+1,this); break; default: goff.drawImage(pacman4left,pacmanx+1,pacmany+1,this); } if (deathcounter==0) { pacsleft--; if (pacsleft==0) ingame=false; LevelContinue(); } } public void MoveGhosts() { short i; int pos; int count; for (i=0; i<nrofghosts; i++) { if (ghostx[i]%blocksize==0 && ghosty[i]%blocksize==0) { pos=ghostx[i]/blocksize+nrofblocks*(int)(ghosty[i]/blocksize); count=0; if ((screendata[pos]&1)==0 && ghostdx[i]!=1) { dx[count]=-1; dy[count]=0; count++; } if ((screendata[pos]&2)==0 && ghostdy[i]!=1) { dx[count]=0; dy[count]=-1; count++; } if ((screendata[pos]&4)==0 && ghostdx[i]!=-1) { dx[count]=1; dy[count]=0; count++; } if ((screendata[pos]&8)==0 && ghostdy[i]!=-1) { dx[count]=0; dy[count]=1; count++; } if (count==0) { if ((screendata[pos]&15)==15) { ghostdx[i]=0; ghostdy[i]=0; } else { ghostdx[i]=-ghostdx[i]; ghostdy[i]=-ghostdy[i]; } } else { count=(int)(Math.random()*count); if (count>3) count=3; ghostdx[i]=dx[count]; ghostdy[i]=dy[count]; } } ghostx[i]=ghostx[i]+(ghostdx[i]*ghostspeed[i]); ghosty[i]=ghosty[i]+(ghostdy[i]*ghostspeed[i]); DrawGhost(ghostx[i]+1,ghosty[i]+1); if (pacmanx>(ghostx[i]-12) && pacmanx<(ghostx[i]+12) && pacmany>(ghosty[i]-12) && pacmany<(ghosty[i]+12) && ingame) { if (scared) { score+=10; ghostx[i]=7*blocksize; ghosty[i]=7*blocksize; } else { dying=true; deathcounter=64; } } } } public void DrawGhost(int x, int y) { if (ghostanimpos==0 && !scared) { goff.drawImage(ghost1,x,y,this); } else if (ghostanimpos==1 && !scared) { goff.drawImage(ghost2,x,y,this); } else if (ghostanimpos==0 && scared) { goff.drawImage(ghostscared1,x,y,this); } else if (ghostanimpos==1 && scared) { goff.drawImage(ghostscared2,x,y,this); } } public void MovePacMan() { int pos; short ch; if (reqdx==-pacmandx && reqdy==-pacmandy) { pacmandx=reqdx; pacmandy=reqdy; viewdx=pacmandx; viewdy=pacmandy; } if (pacmanx%blocksize==0 && pacmany%blocksize==0) { pos=pacmanx/blocksize+nrofblocks*(int)(pacmany/blocksize); ch=screendata[pos]; if ((ch&16)!=0) { screendata[pos]=(short)(ch&15); score++; } if ((ch&32)!=0) { scared=true; scaredcount=scaredtime; screendata[pos]=(short)(ch&15); score+=5; } if (reqdx!=0 || reqdy!=0) { if (!( (reqdx==-1 && reqdy==0 && (ch&1)!=0) || (reqdx==1 && reqdy==0 && (ch&4)!=0) || (reqdx==0 && reqdy==-1 && (ch&2)!=0) || (reqdx==0 && reqdy==1 && (ch&8)!=0))) { pacmandx=reqdx; pacmandy=reqdy; viewdx=pacmandx; viewdy=pacmandy; } } // Check for standstill if ( (pacmandx==-1 && pacmandy==0 && (ch&1)!=0) || (pacmandx==1 && pacmandy==0 && (ch&4)!=0) || (pacmandx==0 && pacmandy==-1 && (ch&2)!=0) || (pacmandx==0 && pacmandy==1 && (ch&8)!=0)) { pacmandx=0; pacmandy=0; } } pacmanx=pacmanx+pacmanspeed*pacmandx; pacmany=pacmany+pacmanspeed*pacmandy; } public void DrawPacMan() { if (viewdx==-1) DrawPacManLeft(); else if (viewdx==1) DrawPacManRight(); else if (viewdy==-1) DrawPacManUp(); else DrawPacManDown(); } public void DrawPacManUp() { switch(pacmananimpos) { case 1: goff.drawImage(pacman2up,pacmanx+1,pacmany+1,this); break; case 2: goff.drawImage(pacman3up,pacmanx+1,pacmany+1,this); break; case 3: goff.drawImage(pacman4up,pacmanx+1,pacmany+1,this); break; default: goff.drawImage(pacman1,pacmanx+1,pacmany+1,this); break; } } public void DrawPacManDown() { switch(pacmananimpos) { case 1: goff.drawImage(pacman2down,pacmanx+1,pacmany+1,this); break; case 2: goff.drawImage(pacman3down,pacmanx+1,pacmany+1,this); break; case 3: goff.drawImage(pacman4down,pacmanx+1,pacmany+1,this); break; default: goff.drawImage(pacman1,pacmanx+1,pacmany+1,this); break; } } public void DrawPacManLeft() { switch(pacmananimpos) { case 1: goff.drawImage(pacman2left,pacmanx+1,pacmany+1,this); break; case 2: goff.drawImage(pacman3left,pacmanx+1,pacmany+1,this); break; case 3: goff.drawImage(pacman4left,pacmanx+1,pacmany+1,this); break; default: goff.drawImage(pacman1,pacmanx+1,pacmany+1,this); break; } } public void DrawPacManRight() { switch(pacmananimpos) { case 1: goff.drawImage(pacman2right,pacmanx+1,pacmany+1,this); break; case 2: goff.drawImage(pacman3right,pacmanx+1,pacmany+1,this); break; case 3: goff.drawImage(pacman4right,pacmanx+1,pacmany+1,this); break; default: goff.drawImage(pacman1,pacmanx+1,pacmany+1,this); break; } } public void DrawMaze() { short i=0; int x,y; bigdotcolor=bigdotcolor+dbigdotcolor; if (bigdotcolor<=64 || bigdotcolor>=192) dbigdotcolor=-dbigdotcolor; for (y=0; y<scrsize; y+=blocksize) { for (x=0; x<scrsize; x+=blocksize) { goff.setColor(mazecolor); if ((screendata[i]&1)!=0) { goff.drawLine(x,y,x,y+blocksize-1); } if ((screendata[i]&2)!=0) { goff.drawLine(x,y,x+blocksize-1,y); } if ((screendata[i]&4)!=0) { goff.drawLine(x+blocksize-1,y,x+blocksize-1,y+blocksize-1); } if ((screendata[i]&8)!=0) { goff.drawLine(x,y+blocksize-1,x+blocksize-1,y+blocksize-1); } if ((screendata[i]&16)!=0) { goff.setColor(dotcolor); goff.fillRect(x+11,y+11,2,2); } if ((screendata[i]&32)!=0) { goff.setColor(new Color(224,224-bigdotcolor,bigdotcolor)); goff.fillRect(x+8,y+8,8,8); } i++; } } } public void ShowIntroScreen() { String s; goff.setFont(largefont); goff.setColor(new Color(0,32,48)); goff.fillRect(16, scrsize/2 - 40, scrsize-32,80); goff.setColor(Color.white); goff.drawRect(16, scrsize/2 - 40, scrsize-32,80); if (showtitle) { s="PacMan"; scared=false; goff.setColor(Color.white); goff.drawString(s,(scrsize-fmlarge.stringWidth(s)) / 2 +2, scrsize/2 - 20 +2); goff.setColor(new Color(96,128,255)); goff.drawString(s,(scrsize-fmlarge.stringWidth(s)) / 2, scrsize/2 - 20); s="Pacman"; goff.setFont(smallfont); goff.setColor(new Color(255,160,64)); goff.drawString(s,(scrsize-fmsmall.stringWidth(s))/2,scrsize/2 + 10); s=""; goff.setColor(new Color(255,160,64)); goff.drawString(s,(scrsize-fmsmall.stringWidth(s))/2,scrsize/2 + 30); } else { goff.setFont(smallfont); goff.setColor(new Color(96,128,255)); s="'S' to start game"; goff.drawString(s,(scrsize-fmsmall.stringWidth(s))/2,scrsize/2 - 10); goff.setColor(new Color(255,160,64)); s="Use cursor keys to move"; goff.drawString(s,(scrsize-fmsmall.stringWidth(s))/2,scrsize/2 + 20); scared=true; } count--; if (count<=0) { count=screendelay; showtitle=!showtitle; } } public void DrawScore() { int i; String s; goff.setFont(smallfont); goff.setColor(new Color(96,128,255)); s="Score: "+score; goff.drawString(s,scrsize/2+96,scrsize+16); for (i=0; i<pacsleft; i++) { goff.drawImage(pacman3left,i*28+8,scrsize+1,this); } } public void CheckScared() { scaredcount--; if (scaredcount<=0) scared=false; if (scared && scaredcount>=30) mazecolor=new Color(192,32,255); else mazecolor=new Color(32,192,255); if (scared) { screendata[7*nrofblocks+6]=11; screendata[7*nrofblocks+8]=14; } else { screendata[7*nrofblocks+6]=10; screendata[7*nrofblocks+8]=10; } } public void CheckMaze() { short i=0; boolean finished=true; while (i<nrofblocks*nrofblocks && finished) { if ((screendata[i]&48)!=0) finished=false; i++; } if (finished) { score+=50; DrawScore(); try { Thread.sleep(3000); } catch (InterruptedException e) { } if (nrofghosts < maxghosts) nrofghosts++; if (currentspeed<maxspeed) currentspeed++; scaredtime=scaredtime-20; if (scaredtime<minscaredtime) scaredtime=minscaredtime; LevelInit(); } } public void run() { long starttime; Graphics g; Thread.currentThread().setPriority(Thread.MAX_PRIORITY); g=getGraphics(); while(true) { starttime=System.currentTimeMillis(); try { paint(g); starttime += 40; Thread.sleep(Math.max(0, starttime-System.currentTimeMillis())); } catch (InterruptedException e) { break; } } } public void start() { if (thethread == null) { thethread = new Thread(this); thethread.start(); } } public void stop() { if (thethread != null) { thethread.stop(); thethread = null; } } }
- 12-29-2011, 08:13 PM #2
Re: Why will this not build properly?
will not build properly
- 12-30-2011, 03:24 AM #3
Member
- Join Date
- Dec 2011
- Posts
- 6
- Rep Power
- 0
Re: Why will this not build properly?
It starts running but the window is far too small for the game. it opens and runs the game perfectly (from what I can tell) but only gives me a section of the game in a tiny window. Do you know why this might happen?
- 12-30-2011, 03:26 AM #4
Re: Why will this not build properly?
How do you execute the program?
do you have the images the program uses?Last edited by Norm; 12-30-2011 at 03:28 AM.
- 12-30-2011, 02:57 PM #5
Member
- Join Date
- Dec 2011
- Posts
- 6
- Rep Power
- 0
Re: Why will this not build properly?
Yes, this is all the stuff with the code that make it work, sorry. This probably would have been useful earlier
Download Pacman Java.zip from Sendspace.com - send big files the easy way
- 12-30-2011, 02:58 PM #6
Member
- Join Date
- Dec 2011
- Posts
- 6
- Rep Power
- 0
Re: Why will this not build properly?
Yes, here are all the files used for the script to run, sorry, this may have been more useful to you earlier
Download Pacman Java.zip from Sendspace.com - send big files the easy way
- 01-03-2012, 10:38 PM #7
Member
- Join Date
- Dec 2011
- Posts
- 6
- Rep Power
- 0
Re: Why will this not build properly?
I replied to this a couple of days ago but for some reason it didn't post, yes it does use images and it has a .class file with it as well.
- 01-03-2012, 11:07 PM #8
Re: Why will this not build properly?
The download link tries to download a .exe file, not a zip file. I don't download .exe files.
-
Re: Why will this not build properly?
- 01-04-2012, 10:39 AM #10
Re: Why will this not build properly?
Moved from 'Forum Guides'
dbIf you're forever cleaning cobwebs, it's time to get rid of the spiders.
- 01-06-2012, 10:12 PM #11
Member
- Join Date
- Dec 2011
- Posts
- 6
- Rep Power
- 0
- 01-06-2012, 10:15 PM #12
Similar Threads
-
TCP/IP client not working properly
By Chrillz in forum NetworkingReplies: 2Last Post: 07-20-2011, 08:39 PM -
How do you properly use break?
By louist in forum New To JavaReplies: 3Last Post: 03-08-2011, 03:58 AM -
Why java cant do sum properly
By thetimwu in forum New To JavaReplies: 3Last Post: 05-26-2010, 08:40 AM -
how to getText() properly?
By javamula in forum New To JavaReplies: 12Last Post: 09-16-2009, 06:45 AM -
Using accessors properly
By LifeWithJava in forum New To JavaReplies: 2Last Post: 12-23-2008, 03:49 PM
Bookmarks