Thuật toán xây dựng chương trình chơi cờ Caro

  1. /************************ UPDATE FRIEND PATTERN ********************/

  2. N    Form-1    Form-2    Form-3    Form-4    Form-5    Lookup-Table

  3. ———————————————————————

  4. 0    “####”   const    const    const    const    {0,0,0,0}

  5. 1    “*###”   “O###”   const    const    const    {2,1,1,1}

  6. 2    “O###”   const    const    const    const    {2,2,2,2}

  7. 3    “**##”   “O*##”   “*O##”   const    const    {5,4,3,3}

  8. 4    “*O##”   “OO##”   const    const    const    {6,4,4,4}

  9. 5    “O*##”   const    “OO##”   const    const    {0,6,5,5}

  10. 6    “OO##”   const    const    const    const    {6,6,6,6}

  11. 7    “***#”   “O**#”   “*O*#”   “**O#”   const    {11,9,8,7}

  12. 8    “**O#”   “O*O#”   “*OO#”   const    const    {12,10,8,8}

  13. 9    “*O*#”   “OO*#”   const    “*OO#”   const    {13,9,10,9}

  14. 10   “*OO#”   “OOO#”   const    const    const    {14,10,10,10}

  15. 11   “O**#”   const    “OO*#”   “O*O#”   const    {11,13,12,11}

  16. 12   “O*O#”   const    “OOO#”   const    const    {12,14,12,12}

  17. 13   “OO*#”   const    const    “OOO#”   const    {13,13,14,13}

  18. 14   “OOO#”   const    const    const    const    {14,14,14,14}

  19. 15   “****”   “O***”   “*O**”   “**O*”   “***O”   {23,19,17,16}

  20. 16   “***O”   “O**O”   “*O*O”   “**OO”   const    {24,20,18,16}

  21. 17   “**O*”   “O*O*”   “*OO*”   const    “**OO”   {25,21,17,18}

  22. 18   “**OO”   “O*OO”   “*OOO”   const    const    {26,22,18,18}

  23. 19   “*O**”   “OO**”   const    “*OO*”   “*O*O”   {27,19,21,20}

  24. 20   “*O*O”   “OO*O”   const    “*OOO”   const    {28,20,22,20}

  25. 21   “*OO*”   “OOO*”   const    const    “*OOO”   {29,21,21,22}

  26. 22   “*OOO”   “OOOO”   const    const    const    {30,22,22,22}

  27. 23   “O***”   const    “OO**”   “O*O*”   “O**O”   {23,27,25,24}

  28. 24   “O**O”   const    “OO*O”   “O*OO”   const    {24,28,26,24}

  29. 25   “O*O*”   const    “OOO*”   const    “O*OO”   {25,29,25,26}

  30. 26   “O*OO”   const    “OOOO”   const    const    {26,30,26,26}

  31. 27   “OO**”   const    const    “OOO*”   “OO*O”   {27,27,29,28}

  32. 28   “OO*O”   const    const    “OOOO”   const    {28,28,30,28}

  33. 29   “OOO*”   const    const    const    “OOOO”   {29,29,29,30}

  34. 30   “OOOO”   const    const    const    const    {30,30,30,30}

  35.  

  36. /*********************** UPDATE ENEMY PATTERN **********************/

  37. N    Form-1    Form-2    Form-3    Form-4    Form-5    Lookup-Table

  38. ———————————————————————

  39. 0    “####”   const     const    const    const    {0,0,0,0}

  40. 1    “*###”   “####”    const    const    const    {0,1,1,1}

  41. 2    “O###”   const     const    const    const    {2,2,2,2}

  42. 3    “**##”   “####”    “*###”   const    const    {0,1,3,3}

  43. 4    “*O##”   “####”    const    const    const    {0,4,4,4}

  44. 5    “O*##”   const     “O###”   const    const    {5,2,5,5}

  45. 6    “OO##”   const     const    const    const    {6,6,6,6}

  46. 7    “***#”   “####”    “*###”   “**##”   const    {0,1,3,7}

  47. 8    “**O#”   “####”    “*###”   const    const    {0,1,8,8}

  48. 9    “*O*#”   “####”    const    “*O##”   const    {0,9,4,9}

  49. 10   “*OO#”   “####”    const    const    const    {0,10,10,10}

  50. 11   “O**#”   const     “O###”   “O*##”   const    {11,2,5,11}

  51. 12   “O*O#”   const     “O###”   const    const    {12,2,12,12}

  52. 13   “OO*#”   const     const    “OO##”   const    {13,13,6,13}

  53. 14   “OOO#”   const     const    const    const    {14,14,14,14}

  54. 15   “****”   “####”    “*###”   “**##”   “***#”   {0,1,3,7}

  55. 16   “***O”   “####”    “*###”   “**##”   const    {0,1,3,16}

  56. 17   “**O*”   “####”    “*###”   const    “**O#”   {0,1,17,8}

  57. 18   “**OO”   “####”    “*###”   const    const    {0,1,18,18}

  58. 19   “*O**”   “####”    const    “*O##”   “*O*#”   {0,19,4,9}

  59. 20   “*O*O”   “####”    const    “*O##”   const    {0,20,4,20}

  60. 21   “*OO*”   “####”    const    const    “*OO#”   {0,21,21,10}

  61. 22   “*OOO”   “####”    const    const    const    {0,22,22,22}

  62. 23   “O***”   const     “O###”   “O*##”   “O**#”   {23,2,5,11}

  63. 24   “O**O”   const     “O###”   “O*##”   const    {24,2,5,24}

  64. 25   “O*O*”   const     “O###”   const    “O*O#”   {25,2,25,12}

  65. 26   “O*OO”   const     “O###”   const    const    {26,2,26,26}

  66. 27   “OO**”   const     const    “OO##”   “OO*#”   {27,27,6,13}

  67. 28   “OO*O”   const     const    “OO##”   const    {28,28,6,28}

  68. 29   “OOO*”   const     const    const    “OOO#”   {29,29,29,14}

  69. 30   “OOOO”   const     const    const    const    {30,30,30,30}

  70.  

  71. /******************************************************************/