Значок ресурса

African Seeds

Нет прав на скачивание
Автор: M.J. Edwards,Кащей Бессмертный
Год: 1985
Издатели: ZX Computing
Языки: 🇬🇧 Английский
Формат: 📼 TAP лента
Требования: 🖥️ ZX Spectrum 16K

Ссылки:
Страница на ZXArt
Страница на Virtual TR-DOS
Страница на World Of Spectrum
Страница на Spectrum Computing

Скриншоты:
AfricanSeeds.gif


AFRICAN SEEDS


-------------


by M.J.Edwards


from ZX Computing August/September 1985





Down in darkest Gwent something stirs. It's M.J.Edwards playing this brain


testing game!!!








AFRICAN SEEDS is based on the mancala games popular in Africa. The nature of


the games varies widely from place to place, but they are usually based on


capturing counters from rows of cells. The counters may be seeds, beans,


stones or twigs. The cells may be holes in the ground, cups, or hollows in


beautifully carved wooden game-boards. There may be two, three or four


players and either two or four rows of cells, and the way they are divided


between the players, and the conditions under which capture can occur, vary


according to whether the game is Awari, Ayo, Ba-Awa, Lontu-holo, Wari, Whyo,


or one of the four-rank mancala games. Wari and Awari are probably the most


profound in strategy, and are considered to be on a level with chess, but


other games are faster, with more dramatic changes in fortune.





The games are well suited for computer play. The element of calculation is


important, and computers can be programmed without too much difficulty to


beat humans. From the player�s point of view, it is much easier to type in a


letter on a computer keyboard, than to pick up maybe thirteen counters from


one cup and put them individually into another row of cups.





This program can be beaten � though at level 0 you�ll have to work rather


hard to do so. Sometimes you will see how to win easily, but a sequence of


lifts can continue for, say, twenty-five moves, and the computer is rather


better at keeping track of them than I am! Don�t lose heart, though, the


computer�s depth of search is deliberately limited � and even at its highest


level, it�s still capable of blunders just as big as yours.





At the start of the game, the computer tosses for first move. If you win, you


will be invited to enter a letter to denote the cup you want to lift. The


computer will take the seeds out, and sow them in successive cups in an


anti-clockwise direction. If the final seed of the lift falls into an


occupied cell, all the seeds in that cell are lifted and the sowing continues


as before. Otherwise, if the final seed lands in an empty hole � and the


sowing must continue until this is so � you capture the seeds in the hole


immediately opposite, if it is in your opponent's row, or none if it is in


your own row.





The only problem with making captures is that if you leave the computer with


no seeds to play, it will claim the win by forfeit. With that proviso, once


you have captured twenty-five or more seeds, the victory is yours.





The computer�s speed of response depends upon the level chosen, but is


reasonably fast anyway. Just in case you get bored, you are treated to a


display of flashing lights and bleeps (a feature lacking in the African


originals?). They are intended for more than diversion, though � they show


which moves are being made or considered. A steady blue light shows the cup


where a sequence of lifts ends. A flashing blue light shows where a capture


occurs.





The structure of the program is simple, and the table should make it easy to


modify. For example, if you leave out the instructions and some "special


effects", it ought to be possible to squeeze it all into a 16 K Spectrum. Or,


you might prefer to display integers, as in Lines 2325-2330, instead of the


pips in Lines 2301-2324. If you want to make the computer stronger, then you


could replace the part of Line 1150 after the INPUT with the simpler "GO TO


1300",and replace the "+20" in Line 1070 with "+50". Save the program with


(using whatever title you like) SAVE "AS" LINE 1000.





LINES FUNCTION SUBROUTINES CALLED


1000 Initialise Display


User-defined graphics


Instructions


Codes for print positions held in strings


1200 Computer's move End check


1300 Analysis and evaluation Move check and capture check


Display board


End check


1500 Player's move Make move


Tidy display


Display board


GO TO 1200 ELSE


END





Subroutines:


100 Lift and sow = Make or Check a move


200 Check for end of move and capture


300 Display board


400 Tidy display


500/600 Result = END


700 End of game check


2000 Display


2100 User-defined graphics


2160 Codes for letter positions


3000 Codes for seed positions


2400 Instructions





Variables used:


zx set to 1 for computer�s move


d depth of search


l level chosen


c stalemate counter


sc set to 1 to make a move, or set to 0 to evaluate the position


win number of points scored on a move


end set to one if a sequence of lifts reaches an end


op the cell opposite the end of a sequence of lifts





Arrays used:


b(12) board positions


h(12) model board fo analysis


m(12) move evaluation


s(2) the scores: s(1) is the computer's, and s(2) the player's


a$(12) column positions for letter display


x$(12) row positions for seed display


y$(12) column positions for seed display





Data and user-defined graphics:





Lines 2300-2324 consititute a "look-up" table which works much faster than a


user-defined function displays integers.


Graphics A to H represent the numbers 1 to 8.


Graphics I to L represent the corners of the cups in the order top right, top


left, bottom left, bottom right.
Автор
Verter_bot
Загрузки
0
Просмотры
9
Расширение
zip
Размер
4.1 КБ
Хэш
8b7b2eddd9c514eb2bf9d566a2541b9a
Первый выпуск
Последнее обновление

Оценки

0.00 звезд(ы) 0 оценок
Назад
Вверх