1021 lines
12 KiB
Plaintext
1021 lines
12 KiB
Plaintext
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||
|
# This is GNU Go, a Go program. Contact gnugo@gnu.org, or see #
|
||
|
# http://www.gnu.org/software/gnugo/ for more information. #
|
||
|
# #
|
||
|
# Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, #
|
||
|
# 2008 and 2009 by the Free Software Foundation. #
|
||
|
# #
|
||
|
# This program is free software; you can redistribute it and/or #
|
||
|
# modify it under the terms of the GNU General Public License #
|
||
|
# as published by the Free Software Foundation - version 3, #
|
||
|
# or (at your option) any later version. #
|
||
|
# #
|
||
|
# This program is distributed in the hope that it will be #
|
||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied #
|
||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR #
|
||
|
# PURPOSE. See the GNU General Public License in file COPYING #
|
||
|
# for more details. #
|
||
|
# #
|
||
|
# You should have received a copy of the GNU General Public #
|
||
|
# License along with this program; if not, write to the Free #
|
||
|
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, #
|
||
|
# Boston, MA 02111, USA #
|
||
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||
|
#
|
||
|
# The Owl urgent offensive pattern database. These are patterns
|
||
|
# which are always matched. The patterns in owl_attackpats.db
|
||
|
# are not matched if owl_shapes finds that the dragon has two
|
||
|
# eyes. So the patterns in this database are exceptional ones
|
||
|
# corresponding to defects in the optical code.
|
||
|
#
|
||
|
# Further documentation may be found in the Texinfo documentation.
|
||
|
#
|
||
|
# First there is a pattern title of the form: Pattern [string]. The
|
||
|
# string is used for identifying the pattern while tuning or debugging.
|
||
|
#
|
||
|
# Then a block of the following characters representing the pattern
|
||
|
# itself.
|
||
|
#
|
||
|
# ? : don't care
|
||
|
# . : empty
|
||
|
# X : your piece,
|
||
|
# O : my piece,
|
||
|
# x : your piece or empty
|
||
|
# o : my piece or empty
|
||
|
# * : my next move
|
||
|
# ! : your defense move against * (if different)
|
||
|
# -, | : edge of board
|
||
|
# + : corner of board
|
||
|
#
|
||
|
# If a pattern must not match at the edge of the board,
|
||
|
# an extra row of ?'s in the pattern may be added. (This
|
||
|
# will not add to the time taken to check the pattern.)
|
||
|
#
|
||
|
#################
|
||
|
#
|
||
|
# In the second field (classification) the following pattern attributes
|
||
|
# are possible. Friendly stones are 'O', opponent stones are 'X'.
|
||
|
#
|
||
|
# s : "Sacrifice" pattern. Omit the usual check that an O stone here
|
||
|
# cannot be capture.
|
||
|
#
|
||
|
# n : In addition to usual check that an O stone here cannot be
|
||
|
# captured, check also that an X move cannot be captured.
|
||
|
#
|
||
|
|
||
|
|
||
|
attribute_map value_only
|
||
|
|
||
|
goal_elements Xx
|
||
|
callback_data !
|
||
|
|
||
|
|
||
|
Pattern VA1
|
||
|
|
||
|
?x?? threaten two eyes simultaneously
|
||
|
X.X?
|
||
|
.X*O
|
||
|
X.X?
|
||
|
|
||
|
:8,-,value(75)
|
||
|
|
||
|
?x??
|
||
|
A.d?
|
||
|
cX*a
|
||
|
XbX?
|
||
|
|
||
|
; lib(a)>2 && owl_topological_eye(b,A)==2 && owl_topological_eye(c,A)==2 && oplay_attack(*,d)
|
||
|
|
||
|
|
||
|
Pattern VA2
|
||
|
|
||
|
|XXO? remaining ko potential
|
||
|
|..XO
|
||
|
|*X.X
|
||
|
|..XX
|
||
|
+----
|
||
|
|
||
|
:8,s,value(45)
|
||
|
|
||
|
|AAO?
|
||
|
|..XO
|
||
|
|*X.B
|
||
|
|..BB
|
||
|
+----
|
||
|
|
||
|
;lib(A)==2 && lib(B)==2
|
||
|
|
||
|
|
||
|
Pattern VA3
|
||
|
|
||
|
|XX??? may still be possible to kill through bent four in the corner
|
||
|
|OXx?O
|
||
|
|O.XX*
|
||
|
|.....
|
||
|
+-----
|
||
|
|
||
|
:8,-,value(45)
|
||
|
|
||
|
|
||
|
Pattern VA4
|
||
|
|
||
|
|XX?? may still be possible to kill through bent four in the corner
|
||
|
|OXx?
|
||
|
|O.XX
|
||
|
|.*.X
|
||
|
+----
|
||
|
|
||
|
:8,s,value(45)
|
||
|
|
||
|
|
||
|
Pattern VA5
|
||
|
|
||
|
|X?? take ko for possible nakade
|
||
|
|*X?
|
||
|
|XOx
|
||
|
|Oox
|
||
|
+---
|
||
|
|
||
|
:8,s,value(45)
|
||
|
|
||
|
|
||
|
Pattern VA6
|
||
|
# Workaround for mistake related to false margins.
|
||
|
|
||
|
XXXO?
|
||
|
O.OX*
|
||
|
-----
|
||
|
|
||
|
:8,s,value(45)
|
||
|
|
||
|
XXXO?
|
||
|
a.OX*
|
||
|
-----
|
||
|
|
||
|
;lib(a)==2
|
||
|
|
||
|
|
||
|
Pattern VA7
|
||
|
|
||
|
|XXx bent four in the corner
|
||
|
|O.X
|
||
|
|OXx
|
||
|
|*OX
|
||
|
+---
|
||
|
|
||
|
:8,s,value(45)
|
||
|
|
||
|
|
||
|
Pattern VA8
|
||
|
|
||
|
*Xx
|
||
|
X.X
|
||
|
XXO
|
||
|
|
||
|
:8,s,value(45)
|
||
|
|
||
|
*Xx
|
||
|
A.X
|
||
|
AAO
|
||
|
|
||
|
;lib(A)==2 && olib(*)>1
|
||
|
|
||
|
|
||
|
Pattern VA9
|
||
|
# nn Modified constraint (3.3.14)
|
||
|
|
||
|
X* atari inside eyespace
|
||
|
|
||
|
:-,s,value(45)
|
||
|
|
||
|
A*
|
||
|
|
||
|
;lib(A)==2 && olib(*)>1 && owl_big_eyespace(*)
|
||
|
;&& (owl_eye_size(*) <= 8 || !oplay_attack(*,*))
|
||
|
|
||
|
|
||
|
Pattern VA10
|
||
|
|
||
|
X* atari inside eyespace with ko
|
||
|
|
||
|
:-,s,value(35)
|
||
|
|
||
|
A*
|
||
|
|
||
|
;lib(A)==2 && olib(*)==1 && owl_big_eyespace(*) && oplay_attack(*,*)!=WIN
|
||
|
|
||
|
|
||
|
Pattern VA11
|
||
|
|
||
|
?XX??? chance to get nakade
|
||
|
XOOXXx
|
||
|
!OX*.x
|
||
|
------
|
||
|
|
||
|
:8,s,value(65)
|
||
|
|
||
|
?XX???
|
||
|
XaaXXx
|
||
|
.aX*.x
|
||
|
------
|
||
|
|
||
|
;attack(a) && !defend(a)
|
||
|
|
||
|
|
||
|
Pattern VA12
|
||
|
|
||
|
|xx??
|
||
|
|.X?? try to kill with bent four in the corner
|
||
|
|OXXx
|
||
|
|X*.x
|
||
|
+----
|
||
|
|
||
|
:8,s,value(75)
|
||
|
|
||
|
|
||
|
Pattern VA13
|
||
|
# This is almost identical to attack pattern A1330. It is needed in
|
||
|
# both places.
|
||
|
|
||
|
|XX? take ko to maybe kill
|
||
|
|*XX
|
||
|
|XOX
|
||
|
|O!O
|
||
|
+---
|
||
|
|
||
|
:8,s,value(85)
|
||
|
|
||
|
|AA?
|
||
|
|*AA
|
||
|
|XOA
|
||
|
|OaO
|
||
|
+---
|
||
|
|
||
|
;lib(A)<=3 && oplay_attack(a,a)
|
||
|
|
||
|
|
||
|
# nn Removal candidate (3.3.14)
|
||
|
# Success rate in regressions : 0% (0/131)
|
||
|
|
||
|
Pattern VA14
|
||
|
|
||
|
?OX force X to defend inside own eyespace
|
||
|
OX!
|
||
|
*XO
|
||
|
---
|
||
|
|
||
|
:8,-,value(35)
|
||
|
|
||
|
?bX
|
||
|
ODa
|
||
|
*Dc
|
||
|
---
|
||
|
|
||
|
;lib(b)>1 && lib(c)>1 && owl_eyespace(a) && !attack(D)
|
||
|
|
||
|
|
||
|
Pattern VA15
|
||
|
|
||
|
X.? sacrifice to destroy eye
|
||
|
X*X
|
||
|
OX.
|
||
|
|
||
|
:8,s,value(45)
|
||
|
|
||
|
Ac?
|
||
|
A*X
|
||
|
bXd
|
||
|
|
||
|
;lib(A) == 2 && lib(b) > 1 && !oplay_attack(*,c,d,d)
|
||
|
|
||
|
|
||
|
Pattern VA16
|
||
|
|
||
|
----
|
||
|
.X.X play safely inside eyespace to falsify eye
|
||
|
.*Xx
|
||
|
X..?
|
||
|
|
||
|
:8,-,value(46)
|
||
|
|
||
|
----
|
||
|
.X.X
|
||
|
.*Xx
|
||
|
X..?
|
||
|
|
||
|
;owl_eyespace(*)
|
||
|
|
||
|
|
||
|
Pattern VA17
|
||
|
|
||
|
xXXOo exploit shortage of liberties
|
||
|
!O*XO
|
||
|
.X.Xo
|
||
|
|
||
|
:8,s,value(35)
|
||
|
|
||
|
xXXOo
|
||
|
aO*XO
|
||
|
.X.Xo
|
||
|
|
||
|
; oplay_attack(*,a,a)
|
||
|
|
||
|
|
||
|
Pattern VA18
|
||
|
|
||
|
XX!O throw in to kill an eye
|
||
|
.*X?
|
||
|
XXO?
|
||
|
|
||
|
:8,-,value(35)
|
||
|
|
||
|
XXaO
|
||
|
.*X?
|
||
|
XXO?
|
||
|
|
||
|
; oplay_attack(*,a,a)
|
||
|
|
||
|
|
||
|
Pattern VA19
|
||
|
# gf New pattern. (3.1.11)
|
||
|
|
||
|
OX.x peep at edge
|
||
|
X.*.
|
||
|
XX..
|
||
|
----
|
||
|
|
||
|
:8,s,value(75)
|
||
|
|
||
|
OX.x
|
||
|
A.*.
|
||
|
AA..
|
||
|
----
|
||
|
|
||
|
;lib(A)==2 && owl_big_eyespace(*)
|
||
|
|
||
|
|
||
|
Pattern VA20
|
||
|
# tm New pattern. (3.1.13)
|
||
|
# see trevor:450
|
||
|
|
||
|
?X?
|
||
|
X.X
|
||
|
*X?
|
||
|
X.X
|
||
|
?X?
|
||
|
|
||
|
:-,-,value(75)
|
||
|
|
||
|
?X?
|
||
|
XaX
|
||
|
*C?
|
||
|
XbX
|
||
|
?X?
|
||
|
|
||
|
; owl_topological_eye(a,C) == 2
|
||
|
; && owl_topological_eye(b,C) == 2
|
||
|
|
||
|
|
||
|
Pattern VA21
|
||
|
# gf New pattern. (3.1.14)
|
||
|
# gf Revised pattern. (3.1.17)
|
||
|
|
||
|
XO? bogus eyespace
|
||
|
.*X
|
||
|
...
|
||
|
---
|
||
|
|
||
|
:8,-,value(75)
|
||
|
|
||
|
XO?
|
||
|
.*X
|
||
|
.a.
|
||
|
---
|
||
|
|
||
|
;owl_big_eyespace(a)
|
||
|
|
||
|
|
||
|
Pattern VA22
|
||
|
# gf New pattern. (3.1.14)
|
||
|
|
||
|
x.O bogus eyespace
|
||
|
.*X
|
||
|
...
|
||
|
---
|
||
|
|
||
|
:8,-,value(75)
|
||
|
|
||
|
xaO
|
||
|
.*B
|
||
|
...
|
||
|
---
|
||
|
|
||
|
;owl_big_eyespace(*) && oplay_attack(*,a,B)
|
||
|
|
||
|
|
||
|
Pattern VA23
|
||
|
# gf New pattern. (3.1.14)
|
||
|
|
||
|
??O? bogus eyespace
|
||
|
x.*X
|
||
|
....
|
||
|
....
|
||
|
----
|
||
|
|
||
|
:8,-,value(75)
|
||
|
|
||
|
??O?
|
||
|
xc*X
|
||
|
.ba.
|
||
|
....
|
||
|
----
|
||
|
|
||
|
;owl_big_eyespace(*) && oplay_attack(*,a,b,c,a)
|
||
|
|
||
|
|
||
|
Pattern VA24
|
||
|
# gf New pattern. (3.1.14)
|
||
|
# gf Revise constraint to update for changed olib behaviour. (3.7.8)
|
||
|
|
||
|
X* capture inside eyespace, not ko
|
||
|
|
||
|
:-,-,value(76)
|
||
|
|
||
|
A*
|
||
|
|
||
|
;lib(A)==1 && owl_eyespace(*) && olib(*) > 1
|
||
|
|
||
|
|
||
|
Pattern VA25
|
||
|
# tm New pattern. (3.1.15) (see cho1:161)
|
||
|
|
||
|
?OO| special corner shape.
|
||
|
*X.|
|
||
|
XOX|
|
||
|
XO.|
|
||
|
---+
|
||
|
|
||
|
:8,-,value(76)
|
||
|
|
||
|
|
||
|
Pattern VA26
|
||
|
# gf New pattern. (3.1.15)
|
||
|
|
||
|
??XX? making nakade is only chance to kill, unless we can capture
|
||
|
?XO!X some of the wall
|
||
|
X*XOX
|
||
|
X.OX?
|
||
|
?XX??
|
||
|
|
||
|
:8,s,value(70)
|
||
|
|
||
|
|
||
|
Pattern VA26b
|
||
|
# gf New pattern. (3.1.15)
|
||
|
# This pattern is entirely bogus. VA25 gives the correct attack point
|
||
|
# but currently we also need this pattern to get a second match, which
|
||
|
# is necessary to offset the fact that X is thought to have three
|
||
|
# eyes.
|
||
|
|
||
|
??XX? making nakade is only chance to kill, unless we can capture
|
||
|
?XO.X some of the wall
|
||
|
X.XOX
|
||
|
X*OX?
|
||
|
?XX??
|
||
|
|
||
|
:8,s,value(0)
|
||
|
|
||
|
|
||
|
Pattern VA27
|
||
|
# gf New pattern. (3.1.15)
|
||
|
|
||
|
XX?? not two certain eyes
|
||
|
.*xX
|
||
|
OXOx
|
||
|
----
|
||
|
|
||
|
:8,s,value(45)
|
||
|
|
||
|
XX??
|
||
|
.*AX
|
||
|
OXOB
|
||
|
----
|
||
|
|
||
|
;x_somewhere(A,B)
|
||
|
|
||
|
|
||
|
Pattern VA28
|
||
|
# gf New pattern. (3.1.15)
|
||
|
|
||
|
XX?? not two certain eyes
|
||
|
.OxX
|
||
|
*XOx
|
||
|
----
|
||
|
|
||
|
:8,s,value(45)
|
||
|
|
||
|
XX??
|
||
|
.OAX
|
||
|
*XOB
|
||
|
----
|
||
|
|
||
|
;x_somewhere(A,B)
|
||
|
|
||
|
|
||
|
Pattern VA29
|
||
|
# gf New pattern. (3.1.15)
|
||
|
|
||
|
|XXX? not two certain eyes
|
||
|
|!O.X
|
||
|
|OX*x
|
||
|
+----
|
||
|
|
||
|
:8,s,value(45)
|
||
|
|
||
|
|
||
|
Pattern VA30
|
||
|
# gf New pattern. (3.1.15)
|
||
|
|
||
|
?XX! atari to destroy eye
|
||
|
X.*X
|
||
|
?XX?
|
||
|
|
||
|
:8,s,value(45)
|
||
|
|
||
|
?XXb
|
||
|
Xa*X
|
||
|
?CC?
|
||
|
|
||
|
;lib(C)==2 && owl_eyespace(a) && oplay_attack(*,a,b,b)!=WIN
|
||
|
|
||
|
|
||
|
Pattern VA31
|
||
|
# tm New pattern (3.1.15) (see maeda0:60)
|
||
|
# gf Added constraint. (3.5.5)
|
||
|
|
||
|
?O.|
|
||
|
OX.|
|
||
|
X.X|
|
||
|
X!*|
|
||
|
??.|
|
||
|
|
||
|
:8,s,value(76)
|
||
|
|
||
|
?Oa|
|
||
|
OXb|
|
||
|
X.X|
|
||
|
X!*|
|
||
|
??.|
|
||
|
|
||
|
;!oplay_attack(a,?,b,a)
|
||
|
|
||
|
|
||
|
Pattern VA32
|
||
|
# tm New pattern (3.1.15) (see maeda0:60)
|
||
|
# gf Added constraint. (3.5.5)
|
||
|
|
||
|
?O*|
|
||
|
OX!|
|
||
|
X.X|
|
||
|
XXO|
|
||
|
|
||
|
:8,s,value(76)
|
||
|
|
||
|
?O*|
|
||
|
OXb|
|
||
|
X.X|
|
||
|
XXa|
|
||
|
|
||
|
;lib(a)>1 || !oplay_attack(*,?,b,*)==WIN
|
||
|
|
||
|
|
||
|
Pattern VA33
|
||
|
# tm New pattern (3.1.15)
|
||
|
|
||
|
?X|
|
||
|
XO|
|
||
|
!O|
|
||
|
*X|
|
||
|
|
||
|
:8,-,value(76)
|
||
|
|
||
|
|
||
|
Pattern VA34
|
||
|
# tm New pattern (3.1.15)
|
||
|
# See also VA27
|
||
|
|
||
|
?X?
|
||
|
XOX
|
||
|
!OX
|
||
|
*XO
|
||
|
|
||
|
:8,-,value(76)
|
||
|
|
||
|
?X?
|
||
|
XOX
|
||
|
.OX
|
||
|
*XA
|
||
|
|
||
|
; oplay_defend_both(*,A,*)
|
||
|
|
||
|
|
||
|
Pattern VA35
|
||
|
|
||
|
?XX|
|
||
|
X..|
|
||
|
X*X|
|
||
|
XO.|
|
||
|
---+
|
||
|
|
||
|
:8,s,value(45)
|
||
|
|
||
|
?XX|
|
||
|
XA.|
|
||
|
X*X|
|
||
|
XO.|
|
||
|
---+
|
||
|
|
||
|
; xlib(A)==2
|
||
|
|
||
|
|
||
|
Pattern VA36
|
||
|
|
||
|
?XXX| cut black up
|
||
|
X.OX|
|
||
|
XX*O|
|
||
|
?OX.|
|
||
|
??XX|
|
||
|
|
||
|
:8,s,value(45)
|
||
|
|
||
|
|
||
|
Pattern VA37
|
||
|
# tm New Pattern (3.1.15)
|
||
|
|
||
|
?xXO?
|
||
|
?X.XO
|
||
|
O.X!*
|
||
|
-----
|
||
|
|
||
|
:8,-,value(45)
|
||
|
|
||
|
?xXO?
|
||
|
?X.XO
|
||
|
A.X.*
|
||
|
-----
|
||
|
|
||
|
;lib(A) > 2
|
||
|
|
||
|
|
||
|
Pattern VA38
|
||
|
# gf New pattern. (3.1.15)
|
||
|
# See trevora:25
|
||
|
|
||
|
??O
|
||
|
x!. capture a string at the edge of an eyespace
|
||
|
.*X
|
||
|
...
|
||
|
---
|
||
|
|
||
|
:8,-,value(80)
|
||
|
|
||
|
??O
|
||
|
x..
|
||
|
.*A
|
||
|
...
|
||
|
---
|
||
|
|
||
|
;owl_big_eyespace(*) && !oplay_defend(*,A)
|
||
|
|
||
|
|
||
|
Pattern VA39
|
||
|
# tm New Pattern (3.1.16)
|
||
|
# gf Revised constraint. (3.5.4)
|
||
|
|
||
|
XO*| atari to kill eye
|
||
|
!XX|
|
||
|
XOO|
|
||
|
|
||
|
:8,s,value(95)
|
||
|
|
||
|
XO*|
|
||
|
aXX|
|
||
|
Xbb|
|
||
|
|
||
|
;owl_eyespace(a) && olib(*)>1 && lib(b)>1
|
||
|
|
||
|
|
||
|
Pattern VA40
|
||
|
# tm New Pattern (3.1.16) (see trevora:550)
|
||
|
|
||
|
OXx Threaten snapback inside eyespace.
|
||
|
X..
|
||
|
X.*
|
||
|
X..
|
||
|
|
||
|
:8,s,value(95)
|
||
|
|
||
|
OXx
|
||
|
X..
|
||
|
A.*
|
||
|
X..
|
||
|
|
||
|
; lib(A) == 3
|
||
|
|
||
|
|
||
|
Pattern VA41
|
||
|
# tm New Pattern (3.1.16)
|
||
|
|
||
|
XXO
|
||
|
.*X
|
||
|
!.X
|
||
|
|
||
|
:8,s,value(95)
|
||
|
|
||
|
XBO
|
||
|
.*A
|
||
|
..X
|
||
|
|
||
|
;lib(A) ==2 || lib(B) == 2
|
||
|
|
||
|
|
||
|
Pattern VA42
|
||
|
# tm New Pattern (3.1.16)
|
||
|
|
||
|
X*X double attack on safe eye
|
||
|
.X.
|
||
|
X.X
|
||
|
OXX
|
||
|
|
||
|
:8,-,value(75)
|
||
|
|
||
|
b*c
|
||
|
.X.
|
||
|
X.X
|
||
|
DXX
|
||
|
|
||
|
;!attack(D) && oplay_attack(*,b) && oplay_attack(*,c)
|
||
|
|
||
|
|
||
|
Pattern VA43
|
||
|
# tm New Pattern (3.1.17)
|
||
|
|
||
|
XXX.
|
||
|
.O*.
|
||
|
----
|
||
|
|
||
|
:8,s,value(50)
|
||
|
|
||
|
XXXb
|
||
|
.O*a
|
||
|
----
|
||
|
|
||
|
; !oplay_attack(*,a,b,b)
|
||
|
; && !oplay_attack(*,b,a,a)
|
||
|
|
||
|
|
||
|
Pattern VA44
|
||
|
# tm New Pattern (3.1.17)
|
||
|
# gf Fixed symmetry. (3.3.6)
|
||
|
# nn Modified constraint (3.3.14)
|
||
|
# gf Revised constraint. (3.5.3)
|
||
|
|
||
|
XoX
|
||
|
o*o
|
||
|
|
||
|
:|,s,value(57)
|
||
|
|
||
|
XbX
|
||
|
a*c
|
||
|
|
||
|
; owl_proper_eye(*)
|
||
|
; && (owl_proper_eye(a) + owl_proper_eye(b) + owl_proper_eye(c) > 2)
|
||
|
; && safe_xmove(*)
|
||
|
; && ((owl_eye_size(*) <= 8 && owl_maxeye(*)>1) || !oplay_attack(*,*))
|
||
|
|
||
|
|
||
|
Pattern VA45
|
||
|
# tm New Pattern (3.1.17)
|
||
|
|
||
|
X* cut to create false eye
|
||
|
OX
|
||
|
--
|
||
|
|
||
|
:8,-,value(75)
|
||
|
|
||
|
X*
|
||
|
OX
|
||
|
--
|
||
|
|
||
|
; !ko(*)
|
||
|
|
||
|
|
||
|
Pattern VA46
|
||
|
# tm New Pattern (3.1.17)
|
||
|
# see trevor:650
|
||
|
|
||
|
?X???
|
||
|
X.X??
|
||
|
?X.O*
|
||
|
|
||
|
:8,-,value(75)
|
||
|
|
||
|
?X???
|
||
|
CbX??
|
||
|
?XAO*
|
||
|
|
||
|
; xlib(A) == 1
|
||
|
; && olib(A) == 1
|
||
|
; && owl_topological_eye(b,C) < 4 && owl_topological_eye(b,C) > 0
|
||
|
|
||
|
|
||
|
Pattern VA47a
|
||
|
# tm Moved from owl_attackpats (3.1.17)
|
||
|
# was A1107
|
||
|
# gf Split with respect to ko. (3.7.9)
|
||
|
|
||
|
O* defend the surrounding chain
|
||
|
XO
|
||
|
|
||
|
:/,-,value(95)
|
||
|
|
||
|
a*
|
||
|
Xb
|
||
|
|
||
|
;vital_chain(a) && vital_chain(b) && !ko(*) && !xplay_defend_both(*,a,b)
|
||
|
|
||
|
|
||
|
Pattern VA47b
|
||
|
# tm Moved from owl_attackpats (3.1.17)
|
||
|
# was A1107
|
||
|
# gf Split with respect to ko. (3.7.9)
|
||
|
|
||
|
O* defend the surrounding chain
|
||
|
XO
|
||
|
|
||
|
:/,-,value(65)
|
||
|
|
||
|
a*
|
||
|
Xb
|
||
|
|
||
|
;vital_chain(a) && vital_chain(b) && ko(*) && !xplay_defend_both(*,a,b)
|
||
|
|
||
|
|
||
|
Pattern VA48
|
||
|
# tm New Pattern (3.1.18)
|
||
|
|
||
|
+----
|
||
|
|.*..
|
||
|
|XX!O
|
||
|
|
||
|
:8,s,value(75)
|
||
|
|
||
|
|
||
|
Pattern VA49
|
||
|
# tm New Pattern (3.1.18) (see trevor:430)
|
||
|
# FIXME: This is non-sense if the ataried stone has neighbours
|
||
|
# in atari (see trevorb:360)
|
||
|
|
||
|
X* atari outside eyespace
|
||
|
oX
|
||
|
|
||
|
:8,-,value(35)
|
||
|
|
||
|
X*
|
||
|
AB
|
||
|
|
||
|
; lib(B) <= 2 && owl_eyespace(A)
|
||
|
|
||
|
|
||
|
Pattern VA50
|
||
|
# pp New pattern (3.3.10)
|
||
|
|
||
|
|xx??
|
||
|
|Ox?? try to kill with bent four in the corner
|
||
|
|OXXx
|
||
|
|X*.x
|
||
|
+----
|
||
|
|
||
|
:8,s,value(45)
|
||
|
|
||
|
|
||
|
Pattern VA51
|
||
|
# pp New pattern (3.3.12)
|
||
|
|
||
|
|*Oo start an unfavourable ko
|
||
|
|.XO
|
||
|
|X.X
|
||
|
|.Xx
|
||
|
|.O.
|
||
|
+---
|
||
|
|
||
|
:8,-,value(35)
|
||
|
|
||
|
|
||
|
Pattern VA52a
|
||
|
# gf New pattern. (3.3.20)
|
||
|
|
||
|
|*Oo make X short of liberties
|
||
|
|.XO
|
||
|
|X.X
|
||
|
|..X
|
||
|
|OXX
|
||
|
|.X?
|
||
|
+---
|
||
|
|
||
|
:8,-,value(65)
|
||
|
|
||
|
|
||
|
Pattern VA52b
|
||
|
# gf New pattern. (3.3.20)
|
||
|
|
||
|
|*Oo
|
||
|
|OXO make X short of liberties
|
||
|
|.XO
|
||
|
|X.X
|
||
|
|..X
|
||
|
|OXX
|
||
|
|.X?
|
||
|
+---
|
||
|
|
||
|
:8,-,value(65)
|
||
|
|
||
|
|
||
|
Pattern VA53
|
||
|
# gf New pattern. (3.3.20)
|
||
|
# See ld_owl:68.
|
||
|
|
||
|
|XXX nakade if X cannot squeeze
|
||
|
|O.X
|
||
|
|XOX
|
||
|
|*OX
|
||
|
+---
|
||
|
|
||
|
:8,s,value(75)
|
||
|
|
||
|
|AAA
|
||
|
|O.A
|
||
|
|XOA
|
||
|
|*OA
|
||
|
+---
|
||
|
|
||
|
;lib(A)==2
|
||
|
|
||
|
|
||
|
Pattern VA54
|
||
|
# mh New pattern (3.5.4)
|
||
|
# See ld_owl:413/414
|
||
|
|
||
|
X.X play atari inside one eye to destroy the other eye
|
||
|
*XO
|
||
|
|
||
|
:8,s,value(45)
|
||
|
|
||
|
XaX
|
||
|
*BO
|
||
|
|
||
|
;lib(B)==2 && olib(*)>=2 && owl_proper_eye(*) && owl_maxeye(a)>0
|
||
|
|
||
|
|
||
|
Pattern VA55
|
||
|
# gf New pattern. (3.7.9)
|
||
|
# See ld_owl:406.
|
||
|
|
||
|
?X? force opponent to fill one eye
|
||
|
X.X
|
||
|
.XO
|
||
|
*.?
|
||
|
---
|
||
|
|
||
|
:8,s,value(45)
|
||
|
|
||
|
?X?
|
||
|
X.X
|
||
|
bXO
|
||
|
*a?
|
||
|
---
|
||
|
|
||
|
;xlib(a)==3 && oplay_lib(*,a,b,b)>1
|
||
|
|
||
|
|
||
|
Pattern VA56
|
||
|
# gf New pattern. (3.7.9)
|
||
|
# See ld_owl:326.
|
||
|
|
||
|
xXOo destroy eye
|
||
|
X.XO
|
||
|
OX.*
|
||
|
----
|
||
|
|
||
|
:8,-,value(45)
|
||
|
|
||
|
xXOo
|
||
|
XaXO
|
||
|
OX.*
|
||
|
----
|
||
|
|
||
|
;owl_mineye(a)==1
|
||
|
|
||
|
|
||
|
# END OF FILE
|