Guest

Captcha Reader

By: a guest on Feb 27th, 2011  |  syntax: PHP  |  size: 15.48 KB  |  hits: 606  |  expires: Never
download  |  raw  |  embed  |  report abuse
Copied
  1. function read($path) {
  2.         $im = ImageCreateFromPNG($path);
  3.         $pix = array();
  4.         $sy = ImageSy($im);
  5.         $sx = ImageSx($im);
  6.  
  7.         //echo "<pre>";
  8.         for ($y = 0;$y<$sy;$y++) {
  9.                 for ($x = 0;$x<$sx;$x++) {
  10.                         $col = imagecolorat($im, $x, $y);
  11.                         $rgb = imagecolorsforindex($im, $col);
  12.  
  13.                         if ($rgb["red"] <= 150) {
  14.                                 $pix[$x][$y] = "O";
  15.                                 //echo "<span style='color:black;'>O</span>";
  16.                         }
  17.                         else {
  18.                                 $pix[$x][$y] = "W";
  19.                                 //echo "<span style='color:white;'> </span>";
  20.                         }
  21.                 }
  22.  
  23.                 //echo "<br />";
  24.         }
  25.         //echo "</pre>";
  26.        
  27.         $no = 0;
  28.         $complete_string = "";
  29.         $found_at = array();
  30.        
  31.         for ($x = 0;$x<$sx;$x++) {
  32.                 for ($y = 0;$y<$sy;$y++) {
  33.                         if ($pix[$x][$y] == "O" && !in_array("$x|$y", $found_at)) {
  34.                                 $no = 0;
  35.                                
  36.                                 if (is_one($pix, $x, $y)) {
  37.                                         $no = 1;
  38.                                 }
  39.                                 if (is_two($pix, $x, $y)) {
  40.                                         $no = 2;
  41.                                 }
  42.                                 if (is_three($pix, $x, $y)) {
  43.                                         $no = 3;
  44.                                 }
  45.  
  46.                                 if (is_four($pix, $x, $y)) {
  47.                                         $no = 4;
  48.                                 }
  49.  
  50.                                 if (is_five($pix, $x, $y)) {
  51.                                         $no = 5;
  52.                                 }
  53.  
  54.                                 if (is_six($pix, $x, $y)) {
  55.                                         $no = 6;
  56.                                 }
  57.  
  58.                                 if (is_seven($pix, $x, $y)) {
  59.                                         $no = 7;
  60.                                 }
  61.  
  62.                                 if (is_eight($pix, $x, $y)) {
  63.                                         $no = 8;
  64.                                 }
  65.  
  66.                                 if (is_nine($pix, $x, $y)) {
  67.                                         $no = 9;
  68.                                 }
  69.                                
  70.                                 if ($no != 0) {
  71.                                         $found_at[] = "$x|$y";
  72.                                         $complete_string .= $no;
  73.                                 }
  74.                         }
  75.                 }
  76.         }
  77.  
  78.         return $complete_string;
  79.  
  80. }
  81.  
  82. function check($pix, $x, $y, $changex, $changey) {
  83.         if ($pix[$x+$changex][$y+$changey] == "O") {
  84.                 return 1;
  85.         }
  86.         else {
  87.                 return -1;
  88.         }
  89. }
  90.  
  91. function is_three($pix, $x, $y) {
  92.         $c = 0;
  93.         $c += check($pix, $x, $y, 0, -1); // 3 / 5
  94.         $c += check($pix, $x, $y, 1, -1); // 4 / 5
  95.         $c += check($pix, $x, $y, 2, -1); // 5 / 5
  96.         $c += check($pix, $x, $y, 3, -1); // 6 / 5
  97.         $c += check($pix, $x, $y, 4, -1); // 7 / 5
  98.         $c += check($pix, $x, $y, -1, 0); // 2 / 6
  99.         $c += check($pix, $x, $y, 0, 0); // 3 / 6
  100.         $c += check($pix, $x, $y, 4, 0); // 7 / 6
  101.         $c += check($pix, $x, $y, 5, 0); // 8 / 6
  102.         $c += check($pix, $x, $y, 5, 1); // 8 / 7
  103.         $c += check($pix, $x, $y, 6, 1); // 9 / 7
  104.         $c += check($pix, $x, $y, 4, 2); // 7 / 8
  105.         $c += check($pix, $x, $y, 5, 2); // 8 / 8
  106.         $c += check($pix, $x, $y, 2, 3); // 5 / 9
  107.         $c += check($pix, $x, $y, 3, 3); // 6 / 9
  108.         $c += check($pix, $x, $y, 4, 3); // 7 / 9
  109.         $c += check($pix, $x, $y, 4, 4); // 7 / 10
  110.         $c += check($pix, $x, $y, 5, 4); // 8 / 10
  111.         $c += check($pix, $x, $y, 5, 5); // 8 / 11
  112.         $c += check($pix, $x, $y, 6, 5); // 9 / 11
  113.         $c += check($pix, $x, $y, 5, 6); // 8 / 12
  114.         $c += check($pix, $x, $y, 6, 6); // 9 / 12
  115.         $c += check($pix, $x, $y, -1, 7); // 2 / 13
  116.         $c += check($pix, $x, $y, 0, 7); // 3 / 13
  117.         $c += check($pix, $x, $y, 4, 7); // 7 / 13
  118.         $c += check($pix, $x, $y, 5, 7); // 8 / 13
  119.         $c += check($pix, $x, $y, 0, 8); // 3 / 14
  120.         $c += check($pix, $x, $y, 1, 8); // 4 / 14
  121.         $c += check($pix, $x, $y, 2, 8); // 5 / 14
  122.         $c += check($pix, $x, $y, 3, 8); // 6 / 14
  123.         $c += check($pix, $x, $y, 4, 8); // 7 / 14
  124.         if ($c == 31) {
  125.                 return true;
  126.         }
  127.         return false;
  128. }
  129.  
  130. function is_one($pix, $x, $y) {
  131.         $c = 0;
  132.         $c += check($pix, $x, $y, 2, -2); // 5 / 5
  133.         $c += check($pix, $x, $y, 3, -2); // 6 / 5
  134.         $c += check($pix, $x, $y, 1, -1); // 4 / 6
  135.         $c += check($pix, $x, $y, 2, -1); // 5 / 6
  136.         $c += check($pix, $x, $y, 3, -1); // 6 / 6
  137.         $c += check($pix, $x, $y, 0, 0); // 3 / 7
  138.         $c += check($pix, $x, $y, 1, 0); // 4 / 7
  139.         $c += check($pix, $x, $y, 2, 0); // 5 / 7
  140.         $c += check($pix, $x, $y, 3, 0); // 6 / 7
  141.         $c += check($pix, $x, $y, 2, 1); // 5 / 8
  142.         $c += check($pix, $x, $y, 3, 1); // 6 / 8
  143.         $c += check($pix, $x, $y, 2, 2); // 5 / 9
  144.         $c += check($pix, $x, $y, 3, 2); // 6 / 9
  145.         $c += check($pix, $x, $y, 2, 3); // 5 / 10
  146.         $c += check($pix, $x, $y, 3, 3); // 6 / 10
  147.         $c += check($pix, $x, $y, 2, 4); // 5 / 11
  148.         $c += check($pix, $x, $y, 3, 4); // 6 / 11
  149.         $c += check($pix, $x, $y, 2, 5); // 5 / 12
  150.         $c += check($pix, $x, $y, 3, 5); // 6 / 12
  151.         $c += check($pix, $x, $y, 2, 6); // 5 / 13
  152.         $c += check($pix, $x, $y, 3, 6); // 6 / 13
  153.         $c += check($pix, $x, $y, 0, 7); // 3 / 14
  154.         $c += check($pix, $x, $y, 1, 7); // 4 / 14
  155.         $c += check($pix, $x, $y, 2, 7); // 5 / 14
  156.         $c += check($pix, $x, $y, 3, 7); // 6 / 14
  157.         $c += check($pix, $x, $y, 4, 7); // 7 / 14
  158.         $c += check($pix, $x, $y, 5, 7); // 8 / 14
  159.         if ($c == 27) {
  160.                 return true;
  161.         }
  162.         return false;
  163. }
  164.  
  165. function is_two($pix, $x, $y) {
  166.         $c = 0;
  167.         $c += check($pix, $x, $y, 2, -2); // 4 / 5
  168.         $c += check($pix, $x, $y, 3, -2); // 5 / 5
  169.         $c += check($pix, $x, $y, 4, -2); // 6 / 5
  170.         $c += check($pix, $x, $y, 5, -2); // 7 / 5
  171.         $c += check($pix, $x, $y, 1, -1); // 3 / 6
  172.         $c += check($pix, $x, $y, 2, -1); // 4 / 6
  173.         $c += check($pix, $x, $y, 5, -1); // 7 / 6
  174.         $c += check($pix, $x, $y, 6, -1); // 8 / 6
  175.         $c += check($pix, $x, $y, 0, 0); // 2 / 7
  176.         $c += check($pix, $x, $y, 1, 0); // 3 / 7
  177.         $c += check($pix, $x, $y, 6, 0); // 8 / 7
  178.         $c += check($pix, $x, $y, 7, 0); // 9 / 7
  179.         $c += check($pix, $x, $y, 6, 1); // 8 / 8
  180.         $c += check($pix, $x, $y, 7, 1); // 9 / 8
  181.         $c += check($pix, $x, $y, 5, 2); // 7 / 9
  182.         $c += check($pix, $x, $y, 6, 2); // 8 / 9
  183.         $c += check($pix, $x, $y, 4, 3); // 6 / 10
  184.         $c += check($pix, $x, $y, 5, 3); // 7 / 10
  185.         $c += check($pix, $x, $y, 3, 4); // 5 / 11
  186.         $c += check($pix, $x, $y, 4, 4); // 6 / 11
  187.         $c += check($pix, $x, $y, 2, 5); // 4 / 12
  188.         $c += check($pix, $x, $y, 3, 5); // 5 / 12
  189.         $c += check($pix, $x, $y, 1, 6); // 3 / 13
  190.         $c += check($pix, $x, $y, 2, 6); // 4 / 13
  191.         $c += check($pix, $x, $y, 0, 7); // 2 / 14
  192.         $c += check($pix, $x, $y, 1, 7); // 3 / 14
  193.         $c += check($pix, $x, $y, 2, 7); // 4 / 14
  194.         $c += check($pix, $x, $y, 3, 7); // 5 / 14
  195.         $c += check($pix, $x, $y, 4, 7); // 6 / 14
  196.         $c += check($pix, $x, $y, 5, 7); // 7 / 14
  197.         $c += check($pix, $x, $y, 6, 7); // 8 / 14
  198.         $c += check($pix, $x, $y, 7, 7); // 9 / 14
  199.         if ($c == 32) {
  200.                 return true;
  201.         }
  202.         return false;
  203. }
  204.  
  205. function is_four($pix, $x, $y) {
  206.         $c = 0;
  207.         $c += check($pix, $x, $y, 5, -6); // 7 / 5
  208.         $c += check($pix, $x, $y, 6, -6); // 8 / 5
  209.         $c += check($pix, $x, $y, 4, -5); // 6 / 6
  210.         $c += check($pix, $x, $y, 5, -5); // 7 / 6
  211.         $c += check($pix, $x, $y, 6, -5); // 8 / 6
  212.         $c += check($pix, $x, $y, 3, -4); // 5 / 7
  213.         $c += check($pix, $x, $y, 4, -4); // 6 / 7
  214.         $c += check($pix, $x, $y, 5, -4); // 7 / 7
  215.         $c += check($pix, $x, $y, 6, -4); // 8 / 7
  216.         $c += check($pix, $x, $y, 2, -3); // 4 / 8
  217.         $c += check($pix, $x, $y, 3, -3); // 5 / 8
  218.         $c += check($pix, $x, $y, 5, -3); // 7 / 8
  219.         $c += check($pix, $x, $y, 6, -3); // 8 / 8
  220.         $c += check($pix, $x, $y, 1, -2); // 3 / 9
  221.         $c += check($pix, $x, $y, 2, -2); // 4 / 9
  222.         $c += check($pix, $x, $y, 5, -2); // 7 / 9
  223.         $c += check($pix, $x, $y, 6, -2); // 8 / 9
  224.         $c += check($pix, $x, $y, 0, -1); // 2 / 10
  225.         $c += check($pix, $x, $y, 1, -1); // 3 / 10
  226.         $c += check($pix, $x, $y, 5, -1); // 7 / 10
  227.         $c += check($pix, $x, $y, 6, -1); // 8 / 10
  228.         $c += check($pix, $x, $y, 0, 0); // 2 / 11
  229.         $c += check($pix, $x, $y, 1, 0); // 3 / 11
  230.         $c += check($pix, $x, $y, 2, 0); // 4 / 11
  231.         $c += check($pix, $x, $y, 3, 0); // 5 / 11
  232.         $c += check($pix, $x, $y, 4, 0); // 6 / 11
  233.         $c += check($pix, $x, $y, 5, 0); // 7 / 11
  234.         $c += check($pix, $x, $y, 6, 0); // 8 / 11
  235.         $c += check($pix, $x, $y, 7, 0); // 9 / 11
  236.         $c += check($pix, $x, $y, 5, 1); // 7 / 12
  237.         $c += check($pix, $x, $y, 6, 1); // 8 / 12
  238.         $c += check($pix, $x, $y, 5, 2); // 7 / 13
  239.         $c += check($pix, $x, $y, 6, 2); // 8 / 13
  240.         $c += check($pix, $x, $y, 5, 3); // 7 / 14
  241.         $c += check($pix, $x, $y, 6, 3); // 8 / 14
  242.         if ($c == 35) {
  243.                 return true;
  244.         }
  245.         return false;
  246. }
  247.  
  248. function is_five($pix, $x, $y) {
  249.         $c = 0;
  250.         $c += check($pix, $x, $y, 0, -7); // 2 / 5
  251.         $c += check($pix, $x, $y, 1, -7); // 3 / 5
  252.         $c += check($pix, $x, $y, 2, -7); // 4 / 5
  253.         $c += check($pix, $x, $y, 3, -7); // 5 / 5
  254.         $c += check($pix, $x, $y, 4, -7); // 6 / 5
  255.         $c += check($pix, $x, $y, 5, -7); // 7 / 5
  256.         $c += check($pix, $x, $y, 6, -7); // 8 / 5
  257.         $c += check($pix, $x, $y, 0, -6); // 2 / 6
  258.         $c += check($pix, $x, $y, 1, -6); // 3 / 6
  259.         $c += check($pix, $x, $y, 0, -5); // 2 / 7
  260.         $c += check($pix, $x, $y, 1, -5); // 3 / 7
  261.         $c += check($pix, $x, $y, 0, -4); // 2 / 8
  262.         $c += check($pix, $x, $y, 1, -4); // 3 / 8
  263.         $c += check($pix, $x, $y, 3, -4); // 5 / 8
  264.         $c += check($pix, $x, $y, 4, -4); // 6 / 8
  265.         $c += check($pix, $x, $y, 5, -4); // 7 / 8
  266.         $c += check($pix, $x, $y, 0, -3); // 2 / 9
  267.         $c += check($pix, $x, $y, 1, -3); // 3 / 9
  268.         $c += check($pix, $x, $y, 2, -3); // 4 / 9
  269.         $c += check($pix, $x, $y, 5, -3); // 7 / 9
  270.         $c += check($pix, $x, $y, 6, -3); // 8 / 9
  271.         $c += check($pix, $x, $y, 6, -2); // 8 / 10
  272.         $c += check($pix, $x, $y, 7, -2); // 9 / 10
  273.         $c += check($pix, $x, $y, 6, -1); // 8 / 11
  274.         $c += check($pix, $x, $y, 7, -1); // 9 / 11
  275.         $c += check($pix, $x, $y, 0, 0); // 2 / 12
  276.         $c += check($pix, $x, $y, 1, 0); // 3 / 12
  277.         $c += check($pix, $x, $y, 6, 0); // 8 / 12
  278.         $c += check($pix, $x, $y, 7, 0); // 9 / 12
  279.         $c += check($pix, $x, $y, 1, 1); // 3 / 13
  280.         $c += check($pix, $x, $y, 2, 1); // 4 / 13
  281.         $c += check($pix, $x, $y, 5, 1); // 7 / 13
  282.         $c += check($pix, $x, $y, 6, 1); // 8 / 13
  283.         $c += check($pix, $x, $y, 2, 2); // 4 / 14
  284.         $c += check($pix, $x, $y, 3, 2); // 5 / 14
  285.         $c += check($pix, $x, $y, 4, 2); // 6 / 14
  286.         $c += check($pix, $x, $y, 5, 2); // 7 / 14
  287.         if ($c == 37) {
  288.                 return true;
  289.         }
  290.         return false;
  291. }
  292.  
  293. function is_six($pix, $x, $y) {
  294.         $c = 0;
  295.         $c += check($pix, $x, $y, 2, -7); // 4 / 5
  296.         $c += check($pix, $x, $y, 3, -7); // 5 / 5
  297.         $c += check($pix, $x, $y, 4, -7); // 6 / 5
  298.         $c += check($pix, $x, $y, 5, -7); // 7 / 5
  299.         $c += check($pix, $x, $y, 1, -6); // 3 / 6
  300.         $c += check($pix, $x, $y, 2, -6); // 4 / 6
  301.         $c += check($pix, $x, $y, 5, -6); // 7 / 6
  302.         $c += check($pix, $x, $y, 6, -6); // 8 / 6
  303.         $c += check($pix, $x, $y, 0, -5); // 2 / 7
  304.         $c += check($pix, $x, $y, 1, -5); // 3 / 7
  305.         $c += check($pix, $x, $y, 6, -5); // 8 / 7
  306.         $c += check($pix, $x, $y, 0, -4); // 2 / 8
  307.         $c += check($pix, $x, $y, 1, -4); // 3 / 8
  308.         $c += check($pix, $x, $y, 0, -3); // 2 / 9
  309.         $c += check($pix, $x, $y, 1, -3); // 3 / 9
  310.         $c += check($pix, $x, $y, 3, -3); // 5 / 9
  311.         $c += check($pix, $x, $y, 4, -3); // 6 / 9
  312.         $c += check($pix, $x, $y, 5, -3); // 7 / 9
  313.         $c += check($pix, $x, $y, 0, -2); // 2 / 10
  314.         $c += check($pix, $x, $y, 1, -2); // 3 / 10
  315.         $c += check($pix, $x, $y, 2, -2); // 4 / 10
  316.         $c += check($pix, $x, $y, 5, -2); // 7 / 10
  317.         $c += check($pix, $x, $y, 6, -2); // 8 / 10
  318.         $c += check($pix, $x, $y, 0, -1); // 2 / 11
  319.         $c += check($pix, $x, $y, 1, -1); // 3 / 11
  320.         $c += check($pix, $x, $y, 6, -1); // 8 / 11
  321.         $c += check($pix, $x, $y, 7, -1); // 9 / 11
  322.         $c += check($pix, $x, $y, 0, 0); // 2 / 12
  323.         $c += check($pix, $x, $y, 1, 0); // 3 / 12
  324.         $c += check($pix, $x, $y, 6, 0); // 8 / 12
  325.         $c += check($pix, $x, $y, 7, 0); // 9 / 12
  326.         $c += check($pix, $x, $y, 1, 1); // 3 / 13
  327.         $c += check($pix, $x, $y, 2, 1); // 4 / 13
  328.         $c += check($pix, $x, $y, 5, 1); // 7 / 13
  329.         $c += check($pix, $x, $y, 6, 1); // 8 / 13
  330.         $c += check($pix, $x, $y, 2, 2); // 4 / 14
  331.         $c += check($pix, $x, $y, 3, 2); // 5 / 14
  332.         $c += check($pix, $x, $y, 4, 2); // 6 / 14
  333.         $c += check($pix, $x, $y, 5, 2); // 7 / 14
  334.         if ($c == 39) {
  335.                 return true;
  336.         }
  337.         return false;
  338. }
  339.  
  340. function is_seven($pix, $x, $y) {
  341.         $c = 0;
  342.         $c += check($pix, $x, $y, 0, -8); // 2 / 5
  343.         $c += check($pix, $x, $y, 1, -8); // 3 / 5
  344.         $c += check($pix, $x, $y, 2, -8); // 4 / 5
  345.         $c += check($pix, $x, $y, 3, -8); // 5 / 5
  346.         $c += check($pix, $x, $y, 4, -8); // 6 / 5
  347.         $c += check($pix, $x, $y, 5, -8); // 7 / 5
  348.         $c += check($pix, $x, $y, 6, -8); // 8 / 5
  349.         $c += check($pix, $x, $y, 7, -8); // 9 / 5
  350.         $c += check($pix, $x, $y, 6, -7); // 8 / 6
  351.         $c += check($pix, $x, $y, 7, -7); // 9 / 6
  352.         $c += check($pix, $x, $y, 6, -6); // 8 / 7
  353.         $c += check($pix, $x, $y, 7, -6); // 9 / 7
  354.         $c += check($pix, $x, $y, 5, -5); // 7 / 8
  355.         $c += check($pix, $x, $y, 6, -5); // 8 / 8
  356.         $c += check($pix, $x, $y, 4, -4); // 6 / 9
  357.         $c += check($pix, $x, $y, 5, -4); // 7 / 9
  358.         $c += check($pix, $x, $y, 3, -3); // 5 / 10
  359.         $c += check($pix, $x, $y, 4, -3); // 6 / 10
  360.         $c += check($pix, $x, $y, 2, -2); // 4 / 11
  361.         $c += check($pix, $x, $y, 3, -2); // 5 / 11
  362.         $c += check($pix, $x, $y, 1, -1); // 3 / 12
  363.         $c += check($pix, $x, $y, 2, -1); // 4 / 12
  364.         $c += check($pix, $x, $y, 0, 0); // 2 / 13
  365.         $c += check($pix, $x, $y, 1, 0); // 3 / 13
  366.         $c += check($pix, $x, $y, 0, 1); // 2 / 14
  367.         $c += check($pix, $x, $y, 1, 1); // 3 / 14
  368.         if ($c == 26) {
  369.                 return true;
  370.         }
  371.         return false;
  372. }
  373.  
  374. function is_eight($pix, $x, $y) {
  375.         $c = 0;
  376.         $c += check($pix, $x, $y, -3, -9); // 4 / 5
  377.         $c += check($pix, $x, $y, -2, -9); // 5 / 5
  378.         $c += check($pix, $x, $y, -1, -9); // 6 / 5
  379.         $c += check($pix, $x, $y, 0, -9); // 7 / 5
  380.         $c += check($pix, $x, $y, -4, -8); // 3 / 6
  381.         $c += check($pix, $x, $y, -3, -8); // 4 / 6
  382.         $c += check($pix, $x, $y, 0, -8); // 7 / 6
  383.         $c += check($pix, $x, $y, 1, -8); // 8 / 6
  384.         $c += check($pix, $x, $y, -5, -7); // 2 / 7
  385.         $c += check($pix, $x, $y, -4, -7); // 3 / 7
  386.         $c += check($pix, $x, $y, 1, -7); // 8 / 7
  387.         $c += check($pix, $x, $y, 2, -7); // 9 / 7
  388.         $c += check($pix, $x, $y, -4, -6); // 3 / 8
  389.         $c += check($pix, $x, $y, -3, -6); // 4 / 8
  390.         $c += check($pix, $x, $y, 0, -6); // 7 / 8
  391.         $c += check($pix, $x, $y, 1, -6); // 8 / 8
  392.         $c += check($pix, $x, $y, -3, -5); // 4 / 9
  393.         $c += check($pix, $x, $y, -2, -5); // 5 / 9
  394.         $c += check($pix, $x, $y, -1, -5); // 6 / 9
  395.         $c += check($pix, $x, $y, 0, -5); // 7 / 9
  396.         $c += check($pix, $x, $y, -4, -4); // 3 / 10
  397.         $c += check($pix, $x, $y, -3, -4); // 4 / 10
  398.         $c += check($pix, $x, $y, 0, -4); // 7 / 10
  399.         $c += check($pix, $x, $y, 1, -4); // 8 / 10
  400.         $c += check($pix, $x, $y, -5, -3); // 2 / 11
  401.         $c += check($pix, $x, $y, -4, -3); // 3 / 11
  402.         $c += check($pix, $x, $y, 1, -3); // 8 / 11
  403.         $c += check($pix, $x, $y, 2, -3); // 9 / 11
  404.         $c += check($pix, $x, $y, -5, -2); // 2 / 12
  405.         $c += check($pix, $x, $y, -4, -2); // 3 / 12
  406.         $c += check($pix, $x, $y, 1, -2); // 8 / 12
  407.         $c += check($pix, $x, $y, 2, -2); // 9 / 12
  408.         $c += check($pix, $x, $y, -4, -1); // 3 / 13
  409.         $c += check($pix, $x, $y, -3, -1); // 4 / 13
  410.         $c += check($pix, $x, $y, 0, -1); // 7 / 13
  411.         $c += check($pix, $x, $y, 1, -1); // 8 / 13
  412.         $c += check($pix, $x, $y, -3, 0); // 4 / 14
  413.         $c += check($pix, $x, $y, -2, 0); // 5 / 14
  414.         $c += check($pix, $x, $y, -1, 0); // 6 / 14
  415.         $c += check($pix, $x, $y, 0, 0); // 7 / 14
  416.         if ($c == 40) {
  417.                 return true;
  418.         }
  419.         return false;
  420. }
  421.  
  422. function is_nine($pix, $x, $y) {
  423.         $c = 0;
  424.         $c += check($pix, $x, $y, -3, -9); // 4 / 5
  425.         $c += check($pix, $x, $y, -2, -9); // 5 / 5
  426.         $c += check($pix, $x, $y, -1, -9); // 6 / 5
  427.         $c += check($pix, $x, $y, 0, -9); // 7 / 5
  428.         $c += check($pix, $x, $y, -4, -8); // 3 / 6
  429.         $c += check($pix, $x, $y, -3, -8); // 4 / 6
  430.         $c += check($pix, $x, $y, 0, -8); // 7 / 6
  431.         $c += check($pix, $x, $y, 1, -8); // 8 / 6
  432.         $c += check($pix, $x, $y, -5, -7); // 2 / 7
  433.         $c += check($pix, $x, $y, -4, -7); // 3 / 7
  434.         $c += check($pix, $x, $y, 1, -7); // 8 / 7
  435.         $c += check($pix, $x, $y, 2, -7); // 9 / 7
  436.         $c += check($pix, $x, $y, -5, -6); // 2 / 8
  437.         $c += check($pix, $x, $y, -4, -6); // 3 / 8
  438.         $c += check($pix, $x, $y, 1, -6); // 8 / 8
  439.         $c += check($pix, $x, $y, 2, -6); // 9 / 8
  440.         $c += check($pix, $x, $y, -4, -5); // 3 / 9
  441.         $c += check($pix, $x, $y, -3, -5); // 4 / 9
  442.         $c += check($pix, $x, $y, 0, -5); // 7 / 9
  443.         $c += check($pix, $x, $y, 1, -5); // 8 / 9
  444.         $c += check($pix, $x, $y, 2, -5); // 9 / 9
  445.         $c += check($pix, $x, $y, -3, -4); // 4 / 10
  446.         $c += check($pix, $x, $y, -2, -4); // 5 / 10
  447.         $c += check($pix, $x, $y, -1, -4); // 6 / 10
  448.         $c += check($pix, $x, $y, 1, -4); // 8 / 10
  449.         $c += check($pix, $x, $y, 2, -4); // 9 / 10
  450.         $c += check($pix, $x, $y, 1, -3); // 8 / 11
  451.         $c += check($pix, $x, $y, 2, -3); // 9 / 11
  452.         $c += check($pix, $x, $y, -4, -2); // 3 / 12
  453.         $c += check($pix, $x, $y, 1, -2); // 8 / 12
  454.         $c += check($pix, $x, $y, 2, -2); // 9 / 12
  455.         $c += check($pix, $x, $y, -4, -1); // 3 / 13
  456.         $c += check($pix, $x, $y, -3, -1); // 4 / 13
  457.         $c += check($pix, $x, $y, 0, -1); // 7 / 13
  458.         $c += check($pix, $x, $y, 1, -1); // 8 / 13
  459.         $c += check($pix, $x, $y, -3, 0); // 4 / 14
  460.         $c += check($pix, $x, $y, -2, 0); // 5 / 14
  461.         $c += check($pix, $x, $y, -1, 0); // 6 / 14
  462.         $c += check($pix, $x, $y, 0, 0); // 7 / 14
  463.         if ($c == 39) {
  464.                 return true;
  465.         }
  466.         return false;
  467. }