Издательство Готовая книга




Программы играющие в Го, игра Го онлайн, электронные книги и лекции Го на видео  

Программерам! обсуждаем код

kit144 на rugo.ru Любитель Го
09, March, 2004 19:35   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

тем кто разбирается в асме" посвящается"....)))))

небольшой код проги для работы с массивом -
может есть предложения по улучшению, или исправлению ошибок-

.data

;Сам камень, в виде структуры. Вызывается из других внешних программ.
; должна принимать значения в виде Stoun.1.17.Black ,где 1 и 17 координаты камня Black цвет камня
Stoun struc
x dw ?
y dw ?
color dw ?

Stoun ends

Black equ 0
True equ 0
White equ 1
Falsh equ 1

;временные переменные для хранения значений процедуры Stoun
TempX dw ?
TempY dw ?
TempCol dw ?
Stoun <,,>

; таблица хранения ходов
board dw 18 dup (18 dup (?)) ; массив 19х19 ячеек, в котором хранится цвет камня сходившего
cols equ 38 ; 19 столбцов х2 байта (слово)

.code
public TestBoard
TestBoard:
; сохраним регистры
pusha
;сохранение парметров Stoun
mov TempX, Stoun.x
mov TempY, Stoun.y
mov TempCol, Stoun.color
;инициализируем таблицу ходов
;lea edi, board ;инициализация табличного
;lea esi, board ;адреса
; edi модификатор-регистр строк ( Y )
; esi модификатор-регистр столбцов ( X )
call adress
adress proc
; адрес вычисляется по формуле А[i.j]=A+R*(type A)*(i-k1)+(type A)*(j-k2)
; где к1 и к2 число с которого начинается остчет столбцов и строк
dec TempX
dec TempY
mov eax,dword ptr TempX
mov ebx, cols
mul ebx
add esi,eax
shr TempY, 1
add edi,dword ptr TempY
mov ebx,[edi][esi]
lea ebx,TempCol
Ret
adress EndP
popa
end


Жду ваших предложений и замечаний.............



Ну что это за Жизнь... без примеси сумасшествия совсем не интересно......
[www2.psy.uq.edu.au]
[www.mercury.csse.unimelb.edu.au] - Крутой Меркурий
[habrahabr.ru]
[shogi.by] - Shuogi

Re: Программерам! обсуждаем код
Rianon на rugo.ru Гость
09, March, 2004 20:04   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

kit144 писал(а):

> ;Сам камень, в виде структуры. Вызывается из других внешних программ.
> ; должна принимать значения в виде Stoun.1.17.Black ,где 1 и 17 координаты камня Black цвет камня
Пачему Stoun??? Камень по англицки - stone ^_^

> ; таблица хранения ходов
> board dw 18 dup (18 dup (?)) ; массив 19х19 ячеек, в котором
говорите, 19x19? у меня такое чувство, будто 18х18 :)

Могу сказать не проверяя, этот код не скомпилится.

У меня вопрос: почему Вы начали писать Программу с оптимизации работы с массивом? Неужели у Вас уже возникли проблемы со скоростью? Насколько мне известно, современные компиляторы (пишу в общем, поскольку не знаю, чем Вы пользуетесь) очень неплохо оптимизируют код.

С уважением,
Максим Гуисов aka Rianon



Rianon (Максим Гуисов)

Re: Программерам! обсуждаем код
kit144 на rugo.ru Любитель Го
09, March, 2004 20:22   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

Максим ошибаешься - код компилиться и работает.
а пишу я только на асме.
а какие переменные мы как называем это всё ерунда.
Для сведения, отсчёт в языках программирования начинается с 0 (нуля),
а не с 1 (единицы).

Ещё раз повторю -
Что вы сможете написать на языках высокого уровня, какую гибкость они вам дают, какие возможности предоставляют по оперированию
низкоуровневыми операциями и командами процессора . и т.д.?

И разве - даже играя шаблонами - Высокого ли уровня и понимания игры достигнешь? А сможешь ли в нестандартной ситуации правильно сыграть? когда шаблоны не действуют.

Просьба - писать ответы только по существу вопроса.



Ну что это за Жизнь... без примеси сумасшествия совсем не интересно......
[www2.psy.uq.edu.au]
[www.mercury.csse.unimelb.edu.au] - Крутой Меркурий
[habrahabr.ru]
[shogi.by] - Shuogi

Re: Программерам! обсуждаем код
Rianon на rugo.ru Гость
09, March, 2004 20:47   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

По существу: нет указания модели памяти, точки выхода из программы. Поэтому этот код не скомпилится. Возможно, это не весь код?

Я согласен с тем, что асм "гибче", а для некоторых людей - привычнее/удобнее.

С тем, что "отсчёт в языках программирования начинается с 0 (нуля), а не с 1 (единицы)" - по крайней мере, во многих. Но это тут ни причем. Команда "board dw 18 dup (18 dup (?))" определяет массив 18*18*2 байт, а не 19*19*2;

И переменные каждый называет, как ему нравится... Однако умение писать программы состоит не только из знания команд процессора. Чистота и понятность кода, его читабельность - признаки профессионализма программиста.

А про шаблоны я вообще не понял, к чему это?

С уважением,



Отправка отредактированного (09/03/04 20:48)

Rianon (Максим Гуисов)

Re: Программерам! обсуждаем код
kit144 на rugo.ru Любитель Го
09, March, 2004 21:06   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

это часть кода.
код пишеться под винды.

== Команда "board dw 18 dup (18 dup (?))" определяет массив 18*18*2 байт, а не 19*19*2; ==

Ошибку исправил.

Спасибо.



Ну что это за Жизнь... без примеси сумасшествия совсем не интересно......
[www2.psy.uq.edu.au]
[www.mercury.csse.unimelb.edu.au] - Крутой Меркурий
[habrahabr.ru]
[shogi.by] - Shuogi

Re: Программерам! обсуждаем код
IlyaM на rugo.ru Гость
10, March, 2004 14:38   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

> а пишу я только на асме ... что вы сможете написать на языках высокого уровня, какую гибкость они вам дают, какие возможности предоставляют по оперированию низкоуровневыми операциями и командами процессора . и т.д.?

Сорри, но не могу удержатся. Любителям низкоуровнего программирования посвящается: [www.pbm.com]


Re: Программерам! обсуждаем код
Илья Ветров на rugo.ru Ценитель Го
10, March, 2004 15:07   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

Эта и много других прекрасных историй переведена в "Новом словаре хакера" (1996) но в иннете текста нет ...

[Про склонность к низкоуровневому программированию - удалил , и так всем всё понятно]



Отправка отредактированного (10/03/04 15:13)

Наш рот всегда открыт для диалога (c) Владимир ВишневскийOkruzhor (экс-Игозавр)

Re: Программерам! обсуждаем код
IlyaM на rugo.ru Гость
10, March, 2004 16:57   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

> Эта и много других прекрасных историй переведена в "Новом словаре хакера" (1996) но в иннете текста нет ...

кто ищет, тот найдет: [maxpet.by.ru]

Re: Программерам! обсуждаем код
Илья Ветров на rugo.ru Ценитель Го
10, March, 2004 17:36   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

Спасибо , тезка ! Неизвестно , когда я сам собрался бы перечитать этот шедевр !

Одна цитата , идеально соответствующая моему пониманию Го : красота и ценность Го состоит из отброшенных вариантов , из точных и конкретных доказательств оптимальности сыгранного варианта .

> Я всегда интуитивно чувствовал,
что программирование является искусством,
которое оценить по-настоящему способен только тот,
кто сам является мастером в этом деле;
какие жемчужины человеческой мысли
самой сутью программирования
запрятаны в длинных столбиках чисел.
Можно много нового узнать о человеке,
просто читая написанные им программы,
пусть даже в машинных кодах.



Наш рот всегда открыт для диалога (c) Владимир ВишневскийOkruzhor (экс-Игозавр)

Re: Программерам! обсуждаем код
WinPooh на rugo.ru Ценитель Го
11, March, 2004 10:43   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

Кстати, если есть желающие - могу выслать англоязычный файл с этим самым словарём в формате TomRaider (это такая очень удобная гипертекстовая читалка, существует как для PC, так и для наладонников - поддерживает ссылки между статьями, индекс и пр.)

У меня хакерский словарь в формате TR накрепко поселился в Палме :))

Re: Программерам! обсуждаем код
Илья Ветров на rugo.ru Ценитель Го
11, March, 2004 11:52   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

Володя , а я слез с пальмы :-(

Разрешите представиться : Айпак_1940

Вероятно ТомРайдер есть и для ППК но мне большие английские тексты - как консервы в банке без открывашки ...



Наш рот всегда открыт для диалога (c) Владимир ВишневскийOkruzhor (экс-Игозавр)

Re: Программерам! обсуждаем код
WinPooh на rugo.ru Ценитель Го
11, March, 2004 12:01   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

Главное, с Го не слезь на какое-нибудь рэндзю или маджонг :))



--
Веруй, что есть в природе и кроме этого языки

Re: Программерам! обсуждаем код
Илья Ветров на rugo.ru Ценитель Го
11, March, 2004 12:04   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

Хе-хе , думаешь пошутил да ?

Я как-то несколько месяцев разрабатывал вариацию Го - запрещено окружать себя даже если при этом окружаешь противника . Добился стойкого ощущения , что Го интереснее , но доказать не могу .



Наш рот всегда открыт для диалога (c) Владимир ВишневскийOkruzhor (экс-Игозавр)

Re: Программерам! обсуждаем код
Damir на rugo.ru Гость
02, April, 2004 02:52   Об авторе Фотографии автора Партии автора Набор Го автора
 +    0     

>> а пишу я только на асме
Даже спорить неохота.
Безумству храбрых поем мы славу (С) НадеюсьЗнаетеКто

Хотя асм это конечно круто. Если человек способен написать большую прогу на асме, он скорее всего сможет написать ее на чем угодно. Только вот времени это займет на порядок (если не на два) больше. Я, признаюсь, слишком ленивый для асма, и именно поэтому считаю, что писать на нем плохо, хотя знать - хорошо.



Извините, только зарегистрированные пользователи могут писать в этом форуме.

  Путь Го       Го-портал       Новости Го



Галерея И — уникальные наборы игры Го Книги по игре Го