► Показать
Мое творчество. Игра Шахматный сапёр
-
Михаил Киселев
- Сообщения: 716
- Зарегистрирован: 22 дек 2017, 13:55
- Благодарил (а): 159 раз
- Поблагодарили: 69 раз
Re: Мое творчество. Игра Шахматный бой
Ответ где ферзь.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
Андрей Карпишин
- Архитектор
- Сообщения: 9195
- Зарегистрирован: 06 май 2015, 14:10
- Откуда: Чехов, МО
- Благодарил (а): 1214 раз
- Поблагодарили: 556 раз
Re: Мое творчество. Игра Шахматный бой
Блин, я думал, будет сегодня уже новая версия.
Я много времени тратил на саму игру. Напишешь немного кода, начинаешь тестить и не можешь оторваться, чтобы не открыть или угадать очередную пару фигур, а там и доиграть партию. Увлекает.
Ладно, сегодня поздним вечером я начну добавлять ещё функций, которых описал.
Я много времени тратил на саму игру. Напишешь немного кода, начинаешь тестить и не можешь оторваться, чтобы не открыть или угадать очередную пару фигур, а там и доиграть партию. Увлекает.
Ладно, сегодня поздним вечером я начну добавлять ещё функций, которых описал.
-
Андрей Карпишин
- Архитектор
- Сообщения: 9195
- Зарегистрирован: 06 май 2015, 14:10
- Откуда: Чехов, МО
- Благодарил (а): 1214 раз
- Поблагодарили: 556 раз
Re: Мое творчество. Игра Шахматный бой
Насчёт Андроид. Исходники этой программы в Lazarus, а написано:
Меня интересует сетевая игра через комп, порты, сокеты. Подключение к другу по IP. Это пригодится мне далее в работе, в познании архитектур сетевого взаимодействия.
Меня Андроид сейчас не интересует. Это вообще для меня другая галактика. Сам я пользуюсь им мало. В игры на телефоне не играю.Lazarus — открытая среда разработки программного обеспечения на языке Object Pascal для компилятора Free Pascal (часто используется сокращение FPC — Free Pascal Compiler, бесплатно распространяемый компилятор языка программирования Pascal). Интегрированная среда разработки предоставляет возможность кроссплатформенной разработки приложений в Delphi-подобном окружении.
Позволяет достаточно несложно переносить Delphi-программы с графическим интерфейсом в различные операционные системы: Linux, FreeBSD, Mac OS X, Microsoft Windows, Android[2]. Начиная с Delphi XE2 в самом Delphi имеется возможность компиляции программ для Mac OS X, с версии XE4 — для iOS, с версии XE5 — для Android.
Меня интересует сетевая игра через комп, порты, сокеты. Подключение к другу по IP. Это пригодится мне далее в работе, в познании архитектур сетевого взаимодействия.
-
BDK
- Сообщения: 6835
- Зарегистрирован: 17 май 2015, 23:27
- Откуда: Беларусь
- Благодарил (а): 196 раз
- Поблагодарили: 1019 раз
Re: Мое творчество. Игра Шахматный бой
Ну вообще Андроид это дело десятое, я больше о стиле программирования если это интересно. Программировать так чтобы потом не сталкиваться с проблемами. Ведь наверняка позже захочется изменить графику на более красивую и продвинутую и так чтобы не переписывать или исправлять весь код.
-
Андрей Карпишин
- Архитектор
- Сообщения: 9195
- Зарегистрирован: 06 май 2015, 14:10
- Откуда: Чехов, МО
- Благодарил (а): 1214 раз
- Поблагодарили: 556 раз
Re: Мое творчество. Игра Шахматный бой
Ещё пару замечаний по написанию кода.
Использовать метки и операторы "go to" является плохим стилем при объектном программировании, это пережитки процедурного программирования. Существует очень мало ситуаций, реально требующих необходимости этих операторов.
Я видел, как писал код (исходники) профи, работающий в фирме по производству ПО. Я многое у него взял.
1. Каждый новый begin смещается на 2 позиции вправо, позволяя легко видеть/читать уровни вложенностей.
2. Код относящийся к этому begin идёт строго под ним вертикально.
3. Каждый end размещается строго под открывающим его begin
4. else размещается строго под then, к которому оно относится, особенно если в then много кода
возможно, ещё что-то забыл... Но для меня исходник - это что-то наподобие текста песни, важна каждая запятая, дефис или двоеточие.
Видно, что Михаил новичок в этом.
Использовать метки и операторы "go to" является плохим стилем при объектном программировании, это пережитки процедурного программирования. Существует очень мало ситуаций, реально требующих необходимости этих операторов.
Я видел, как писал код (исходники) профи, работающий в фирме по производству ПО. Я многое у него взял.
1. Каждый новый begin смещается на 2 позиции вправо, позволяя легко видеть/читать уровни вложенностей.
2. Код относящийся к этому begin идёт строго под ним вертикально.
3. Каждый end размещается строго под открывающим его begin
4. else размещается строго под then, к которому оно относится, особенно если в then много кода
возможно, ещё что-то забыл... Но для меня исходник - это что-то наподобие текста песни, важна каждая запятая, дефис или двоеточие.
Видно, что Михаил новичок в этом.
-
Андрей Карпишин
- Архитектор
- Сообщения: 9195
- Зарегистрирован: 06 май 2015, 14:10
- Откуда: Чехов, МО
- Благодарил (а): 1214 раз
- Поблагодарили: 556 раз
Re: Мое творчество. Игра Шахматный бой
Первый результат с использованием модуля очков, считаемых компьютером:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
Андрей Карпишин
- Архитектор
- Сообщения: 9195
- Зарегистрирован: 06 май 2015, 14:10
- Откуда: Чехов, МО
- Благодарил (а): 1214 раз
- Поблагодарили: 556 раз
Re: Мое творчество. Игра Шахматный бой
На сегодня не удалось зарелизить эту бетку 4.
Трудно правильно считать очки при вскрытии ряда, особенно когда там 2 фигуры или уже есть открытые битые поля. Чуть привирает в бОльшую сторону и у компа и у человека.
Вопрос к Михаилу: можно из массива узнать цвет данной клетки, не обращаясь к свойству кнопки? Где хранится инфа о цветах клеток поля?
Кстати, ты не сделал что я просил - не дать возможность стрелять Человеку в уже зелёную клетку. Это было сложно или не пробовал?
исправлено уже:
Трудно правильно считать очки при вскрытии ряда, особенно когда там 2 фигуры или уже есть открытые битые поля. Чуть привирает в бОльшую сторону и у компа и у человека.
Вопрос к Михаилу: можно из массива узнать цвет данной клетки, не обращаясь к свойству кнопки? Где хранится инфа о цветах клеток поля?
Кстати, ты не сделал что я просил - не дать возможность стрелять Человеку в уже зелёную клетку. Это было сложно или не пробовал?
исправлено уже:
- поправил глюк с сообщением про установку КОНЯ, а писало про СЛОНА
- выровнял подписи к фигурам идеально
-
Андрей Карпишин
- Архитектор
- Сообщения: 9195
- Зарегистрирован: 06 май 2015, 14:10
- Откуда: Чехов, МО
- Благодарил (а): 1214 раз
- Поблагодарили: 556 раз
Re: Мое творчество. Игра Шахматный бой
Что нужно реализовать:
- Единый интерфейс задержки перехода хода от Человека к Компьютеру - пока 1)мышь и 2)ShowMessage - click OK.
- Не дать возможность стрелять Человеку в уже зелёную клетку
- Иногда при вскрытии ряда Компьютером на некоторых кнопках проступает # (не всегда)
- Когда компьютер не угадывает фигуру - не видно какую клетку он атакует, просто появляется сообщение "не угадал". Возможно, нужен 3-й цвет.
- Поправить "глюк ФСФ"* двойное засчитывание фигуры при открытии и далее открытии её ряда.
- Добавить подсчёт очков по системе: клетка X - 10 очков, фигура - 100 очков. Отображать очки над досками. ПОЧТИ СДЕЛАНО.
- Вести статистику побед/поражений. Сделать таблицу рекордов.
- Сделать сетевую игру людей
-
Михаил Киселев
- Сообщения: 716
- Зарегистрирован: 22 дек 2017, 13:55
- Благодарил (а): 159 раз
- Поблагодарили: 69 раз
Re: Мое творчество. Игра Шахматный бой
Эх, всё это я знал ещё в 90- е прошлого века. У меня друг программист был ещё тогда. Но когда писал эту первую большую программу думал, что важнее написать хоть как-то чем не написать вообще.Андрей писал(а):Ещё пару замечаний по написанию кода.
Использовать метки и операторы "go to" является плохим стилем при объектном программировании, это пережитки процедурного программирования. Существует очень мало ситуаций, реально требующих необходимости этих операторов.
Я видел, как писал код (исходники) профи, работающий в фирме по производству ПО. Я многое у него взял.
1. Каждый новый begin смещается на 2 позиции вправо, позволяя легко видеть/читать уровни вложенностей.
2. Код относящийся к этому begin идёт строго под ним вертикально.
3. Каждый end размещается строго под открывающим его begin
4. else размещается строго под then, к которому оно относится, особенно если в then много кода
К тому же в программе ( из-за 64-ех похожих процедур) использовал весьма часто копирование и вставку блоками ( alt + выделение мышью) или поиск замену с добавлением операторов. А это требует наоборот предоставление больших строк в которых операторы идут один за другим. Ну прошу в "программиста" не стрелять он писал код как умел.
-
Михаил Киселев
- Сообщения: 716
- Зарегистрирован: 22 дек 2017, 13:55
- Благодарил (а): 159 раз
- Поблагодарили: 69 раз
Re: Мое творчество. Игра Шахматный бой
Андрей писал(а):Вопрос к Михаилу: можно из массива узнать цвет данной клетки, не обращаясь к свойству кнопки? Где хранится инфа о цветах клеток поля?
Михаил писал(а):На своем поле в массиве mb[x,y],
если первые два знака #!
Клетка будет окрашена в оранжевый цвет, если (# ) решетка, пробел.
Клетка будет окрашена в зеленый цвет (+ 10 очков если комбинация первых трех знаков массива (# X) решетка, пробел, икс.
На поле противника в массиве eb[x,y],
если первый знак К,Ф,Л,С,k - Клетка будет окрашена в оранжевый цвет,
если первый знак 0 - Клетка будет окрашена в зеленый цвет,
также если первый знак X (икс латиницей) клетка будет окрашена в зеленый (+10 очков, потому как битое поле). Вроде так.