document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. ArrayList<Integer> x = new ArrayList<Integer>(),
  2. y = new ArrayList<Integer>();
  3. int w=30,
  4. h=30,
  5. bs=20,
  6. dir=2,
  7. ax=12,
  8. ay=10;
  9. int[]dx={0,0,1,-1},
  10. dy={1,-1,0,0};
  11. boolean gameover=false;
  12. void setup()
  13. {
  14. size(600, 600);
  15. x.add(5);
  16. y.add(5);
  17. }
  18. void draw()
  19. {
  20. background(#cccccc);
  21. for (int i=0;i<w;i++)
  22. line(i*bs,0,i*bs,height);
  23. for(int i=0;i<h;i++)
  24. line(0,i*bs,width,i*bs);
  25. fill(0, 0, 0);
  26. for (int i = 0 ; i < x.size(); i++)
  27. rect(x.get(i)*bs, y.get(i)*bs, bs, bs);
  28. if (!gameover) {
  29. fill(#0000ff);
  30. rect(ax*bs, ay*bs, bs, bs);
  31. if (frameCount%5==0) {
  32. x.add(0, x.get(0) + dx[dir]);
  33. y.add(0, y.get(0) + dy[dir]);
  34. if(x.get(0) < 0 || y.get(0) < 0 || x.get(0) >= w || y.get(0) >= h)
  35. gameover = true;
  36. for(int i=1;i<x.size();i++)
  37. if(x.get(0)==x.get(i)&&y.get(0)==y.get(i))
  38. gameover=true;
  39. if (x.get(0)==ax && y.get(0)==ay) {
  40. ax = (int)random(0, w);
  41. ay = (int)random(0, h); }
  42. else {
  43. x.remove(x.size()-1);
  44. y.remove(y.size()-1); }
  45. }
  46. }
  47. else
  48. {
  49. fill(#ff0000);
  50. textSize(40);
  51. textAlign(CENTER);
  52. text("GAME OVER. Press space",width/2,height/2);
  53. if(keyPressed&&key==' ')
  54. {
  55. x.clear();
  56. y.clear(); c
  57. x.add(5);
  58. y.add(5);
  59. gameover = false; }
  60. }
  61. }
  62. void keyPressed() {
  63. int nd=key=='s'? 0:(key=='w'?1:(key=='d'?2:(key=='a'?3:-1)));
  64. if (nd!=-1&&(x.size()<=1||!(x.get(1)==x.get(0)+dx[nd]&&y.get(1)==y.get(0)+dy[nd]))) dir=nd;
  65. }
');