1#
2#   Copyright 2014 by Mark Weyer
3#
4#   This program is free software; you can redistribute it and/or modify
5#   it under the terms of the GNU General Public License as published by
6#   the Free Software Foundation; either version 2 of the License, or
7#   (at your option) any later version.
8#
9#   This program is distributed in the hope that it will be useful,
10#   but WITHOUT ANY WARRANTY; without even the implied warranty of
11#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12#   GNU General Public License for more details.
13#
14#   You should have received a copy of the GNU General Public License
15#   along with this program; if not, write to the Free Software
16#   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17#
18# The above notices apply to this file and to:
19# mfaBack.xpm[.gz], mfaCabbage.xpm[.gz], mfaCattle.xpm[.gz], mfaFence.xpm[.gz],
20# mfaMaize.xpm[.gz], mfaPigs.xpm[.gz], mfaRoad.xpm[.gz], mfaWater.xpm[.gz],
21# mfaWheat.xpm[.gz]
22
23Farming = {
24  name = "Farming"
25  author = "Mark Weyer"
26  description = "Almost each level has its very own graphics.\nAt least this level has exactly the same rules as the previous one."
27  pics = Cattle,Pigs,Wheat,Cabbage,Maize
28  greypic = Water
29  startpic = Road
30  startdist = "**********"
31  numexplode[1] = 6
32  numexplode[2] = 4
33  bgpic = mfaBack.xpm
34  bgcolor = 106,190,48
35
36  <<
37    Fence = {
38      qu=Q_TL;
39      switch {
40        0?????0? -> if kind@(0,-1)==Cattle..Pigs
41          -> if kind@(-1,0)==Cattle..Pigs
42            -> if kind@(-1,-1)==Cattle..Pigs
43              -> J*
44              else I*
45            else C*
46          else if kind@(-1,0)==Cattle..Pigs
47            -> G*
48            else A*;
49        1?????0? -> if kind@(-1,0)==Cattle..Pigs
50          -> if kind@(-1,-1)==Cattle..Pigs
51            -> K*
52            else H*
53          else B*;
54        0?????1? -> if kind@(0,-1)==Cattle..Pigs
55          -> if kind@(-1,-1)==Cattle..Pigs
56            -> M*
57            else F*
58          else D*;
59        1?????10 -> if kind@(-1,-1)==Cattle..Pigs
60          -> N*
61          else E*;
62        # 1?????11 -> nothing to draw;
63      };
64      qu=Q_TR;
65      switch {
66        0?0????? -> if kind@(0,-1)==Cattle..Pigs
67          -> if kind@(1,0)==Cattle..Pigs
68            -> if kind@(1,-1)==Cattle..Pigs
69              -> J*
70              else I*
71            else C*
72          else if kind@(1,0)==Cattle..Pigs
73            -> G*
74            else A*;
75        1?0????? -> if kind@(1,0)==Cattle..Pigs
76          -> if kind@(1,-1)==Cattle..Pigs
77            -> K*
78            else H*
79          else B*;
80        0?1????? -> if kind@(0,-1)==Cattle..Pigs
81          -> if kind@(1,-1)==Cattle..Pigs
82            -> M*
83            else F*
84          else D*;
85        101????? -> if kind@(1,-1)==Cattle..Pigs
86          -> N*
87          else E*;
88        # 111????? -> nothing to draw;
89      };
90      qu=Q_BL;
91      switch {
92        ????0?0? -> if kind@(0,1)==Cattle..Pigs
93          -> if kind@(-1,0)==Cattle..Pigs
94            -> if kind@(-1,1)==Cattle..Pigs
95              -> J*
96              else I*
97            else C*
98          else if kind@(-1,0)==Cattle..Pigs
99            -> G*
100            else A*;
101        ????1?0? -> if kind@(-1,0)==Cattle..Pigs
102          -> if kind@(-1,1)==Cattle..Pigs
103            -> K*
104            else H*
105          else B*;
106        ????0?1? -> if kind@(0,1)==Cattle..Pigs
107          -> if kind@(-1,1)==Cattle..Pigs
108            -> M*
109            else F*
110          else D*;
111        ????101? -> if kind@(-1,1)==Cattle..Pigs
112          -> N*
113          else E*;
114        # ????111? -> nothing to draw;
115      };
116      qu=Q_BR;
117      switch {
118        ??0?0??? -> if kind@(0,1)==Cattle..Pigs
119          -> if kind@(1,0)==Cattle..Pigs
120            -> if kind@(1,1)==Cattle..Pigs
121              -> J*
122              else I*
123            else C*
124          else if kind@(1,0)==Cattle..Pigs
125            -> G*
126            else A*;
127        ??0?1??? -> if kind@(1,0)==Cattle..Pigs
128          -> if kind@(1,1)==Cattle..Pigs
129            -> K*
130            else H*
131          else B*;
132        ??1?0??? -> if kind@(0,1)==Cattle..Pigs
133          -> if kind@(1,1)==Cattle..Pigs
134            -> M*
135            else F*
136          else D*;
137        ??101??? -> if kind@(1,1)==Cattle..Pigs
138          -> N*
139          else E*;
140        # 111????? -> nothing to draw;
141      };
142      qu=Q_ALL;
143    };
144  >>
145
146  Cattle = {
147    pics = mfaFence.xpm, mfaCattle.xpm
148    <<
149      Cattle = {
150        if falling -> 1B*
151        else {0; Fence; 1A*};
152      };
153    >>
154  }
155
156  Pigs = {
157    pics = mfaFence.xpm, mfaPigs.xpm
158    <<
159      Pigs = {
160        if falling -> 1F*
161        else {0; Fence; 1; schema5; 1G*};
162      };
163    >>
164  }
165
166  Wheat = {
167    pics = mfaWheat.xpm
168    <<
169      Wheat = schema5;
170    >>
171  }
172
173  Cabbage = {
174    pics = mfaCabbage.xpm
175    <<
176      Cabbage = schema5;
177    >>
178  }
179
180  Maize = {
181    pics = mfaMaize.xpm
182    <<
183      Maize = schema5;
184    >>
185  }
186
187  Road = {
188    pics = mfaRoad.xpm
189    <<
190      Road = schema16;
191    >>
192  }
193
194  Water = {
195    pics = mfaWater.xpm
196    << Water = schema5; >>
197  }
198
199}
200
201