- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
Select Case Figure mod 6
...
Case chsQueen 'Ферзь
Picture.Line (X + 0.45 * Side, Y + 0.55 * Side)-(X + 0.5 * Side, Y + 0.15 * Side), Border
Picture.Line (X + 0.55 * Side, Y + 0.55 * Side)-(X + 0.5 * Side, Y + 0.15 * Side), Border
Picture.Circle (X + 0.5 * Side, Y + 0.15 * Side), 0.08 * Side, Border
Picture.Line (X + 0.45 * Side, Y + 0.55 * Side)-(X + 0.3 * Side, Y + 0.25 * Side), Border
Picture.Line (X + 0.35 * Side, Y + 0.6 * Side)-(X + 0.3 * Side, Y + 0.25 * Side), Border
Picture.Circle (X + 0.3 * Side, Y + 0.25 * Side), 0.08 * Side, Border
Picture.Line (X + 0.55 * Side, Y + 0.55 * Side)-(X + 0.7 * Side, Y + 0.25 * Side), Border
Picture.Line (X + 0.65 * Side, Y + 0.6 * Side)-(X + 0.7 * Side, Y + 0.25 * Side), Border
Picture.Circle (X + 0.7 * Side, Y + 0.25 * Side), 0.08 * Side, Border
Picture.Line (X + 0.65 * Side, Y + 0.6 * Side)-(X + 0.85 * Side, Y + 0.35 * Side), Border
Picture.Line (X + 0.73 * Side, Y + 0.65 * Side)-(X + 0.85 * Side, Y + 0.35 * Side), Border
Picture.Circle (X + 0.85 * Side, Y + 0.35 * Side), 0.08 * Side, Border
Picture.Line (X + 0.35 * Side, Y + 0.6 * Side)-(X + 0.15 * Side, Y + 0.35 * Side), Border
Picture.Line (X + 0.27 * Side, Y + 0.65 * Side)-(X + 0.15 * Side, Y + 0.35 * Side), Border
Picture.Circle (X + 0.15 * Side, Y + 0.35 * Side), 0.08 * Side, Border
Picture.Line (X + 0.27 * Side, Y + 0.65 * Side)-(X + 0.27 * Side, Y + 0.8 * Side), Border
Picture.Line (X + 0.73 * Side, Y + 0.65 * Side)-(X + 0.73 * Side, Y + 0.8 * Side), Border
Picture.Circle (X + 0.5 * Side, Y + 0.35 * Side), 0.5 * Side, Border, 1.35 * Pi, 1.65 * Pi
Call FloodFill(Picture.hdc, X + 0.5 * Side, Y + 0.5 * Side, Border)
Picture.Circle (X + 0.5 * Side, Y + 1.24 * Side), 0.5 * Side, Border, 0.35 * Pi, 0.65 * Pi
Picture.Circle (X + 0.5 * Side, Y + 1.1 * Side), 0.5 * Side, Border, 0.35 * Pi, 0.65 * Pi
Picture.Line (X + 0.73 * Side, Y + 0.68 * Side)-(X + 0.65 * Side, Y + 0.7 * Side), Border
Picture.Line (X + 0.73 * Side, Y + 0.77 * Side)-(X + 0.65 * Side, Y + 0.7 * Side), Border
Picture.Line (X + 0.27 * Side, Y + 0.68 * Side)-(X + 0.35 * Side, Y + 0.7 * Side), Border
Picture.Line (X + 0.27 * Side, Y + 0.77 * Side)-(X + 0.35 * Side, Y + 0.7 * Side), Border
Picture.Line (X + 0.4 * Side, Y + 0.68 * Side)-(X + 0.5 * Side, Y + 0.63 * Side), Border
Picture.Line (X + 0.4 * Side, Y + 0.68 * Side)-(X + 0.5 * Side, Y + 0.72 * Side), Border
Picture.Line (X + 0.6 * Side, Y + 0.68 * Side)-(X + 0.5 * Side, Y + 0.63 * Side), Border
Picture.Line (X + 0.6 * Side, Y + 0.68 * Side)-(X + 0.5 * Side, Y + 0.72 * Side), Border
Let Picture.FillColor = Border
Call FloodFill(Picture.hdc, X + 0.5 * Side, Y + 0.7 * Side, Border)
Call FloodFill(Picture.hdc, X + 0.73 * Side, Y + 0.7 * Side, Border)
Call FloodFill(Picture.hdc, X + 0.31 * Side, Y + 0.68 * Side, Border)
Let Picture.FillColor = Fill
...
End Select
Пишу свои шахматы, с блекджеком и не без них.
Вот, набацал алгоритм векторного рисования ферзя.
Только на это ушло около получаса времени чистого с примесями (подстройки, мать их).
Чую нутром, лучше забить и вырвать клипарт из интернета.
Xom94ok 18.03.2013 09:36 # +12
Плюс за множество вызовов функций вместо использования полигонов.
Плюс за X+... и за Y+... вместо translate matrix.
Плюс за switch вместо реализации интерфейса (ведь визуальный барсик умеет ООП, да?)
Плюс за время, потраченное на не самую приоритетную задачу.
Алсо, плюс за выбор ЯП.
ckopo 18.03.2013 11:11 # +2
Скажу одно: еще учусь. Да, только полгода назад пересел с QBasic на умеющий ООП VB6, параллельно подучивая Паскаль и тоскливо поглядывая на Си. Ну привык делать все по старинке.
А за "вредные" советы отдельный плюс. Вы склонили меня все же взять для изображения фигур клипарт с Википедии и перейти к собственно логике.
Xom94ok 18.03.2013 11:37 # +4
Впрочем, вижу, этого и не требуется. Удачи в учебе/работе.
ckopo 18.03.2013 11:48 # +2
И за добрые пожелания отдельное спасибо.
И вам удачи. Вот. :3
myaut 18.03.2013 12:45 # +7
Соглашусь, на 1С код бы выглядел ужаснее
Lure Of Chaos 19.03.2013 02:37 # +7
ckopo 19.03.2013 08:38 # +1
Привет, ПРОМТ, прощай, здравый смысл.
7ion 28.03.2013 23:59 # +1
krypt 18.03.2013 13:27 # +1
А если уж очень хочется векторного фидонета интерфейса - используйте C# + WPF/Silverlight - как раз для этого и создан.
someone 18.03.2013 13:29 # 0
krypt 18.03.2013 13:31 # +3
Про саму яву ничего не скажу, ибо не программировал. Но видел код под программиста, до этого на нём писавшего - он страдал явным паттернизмом головного мозга (QuickNick, это камень в твой огород), так что лучше не стоит )
krypt 18.03.2013 13:33 # 0
3.14159265 18.03.2013 15:42 # +2
LispGovno 18.03.2013 16:15 # +1
bormand 18.03.2013 16:16 # +2
LispGovno 18.03.2013 16:20 # 0
3.14159265 18.03.2013 16:25 # +5
Начал учить Хацкил, и попал в дурку.
Вот тут человеку начали советовать языки. Я же чётко понимаю что это глупости. Можно и на бейсике их написать (и я видел шахматы еще НА ТОМ basice), если достаточно знаний.
А можно и с Хацкилом ничего не сделать, как показывает нам пример fai.
orion 18.03.2013 14:07 # +4
ckopo 18.03.2013 14:22 # 0
Но все же, что проще для перехода с Бейсика-Паскаля: Питон или Си? С:
krypt 18.03.2013 14:48 # 0
Проще, наверно таки питон (но, возможно, только потому, что я его ни разу в жизни не видел :) )
Я считаю, что С/C++ надо изучить хотя бы поверхностно, потому что от них отпочковалась целая ветка языков.
Но надо ещё учитывать область применения - писать на C скрипты автоматизации - по меньшей мере бессмысленно.
Lander 18.03.2013 12:23 # +1
А почему это не было планом А? :)
ckopo 18.03.2013 13:01 # 0
Но одна лень теперь другой сильнее.
someone 18.03.2013 14:27 # +1
В любой нормальной GUI-библиотеке (VB6 к таким не относится) есть функция отрисовки растра в нужном месте области рисования. Вот в .NET, куча функций DrawImage: http://msdn.microsoft.com/en-us/library/system.drawing.graphics.aspx
А векторные изображения можно отрисовать в Inkscape и затем вывести любой библиотекой отрисовки SVG. Или просто взять готовые SVG'шки с Wikimedia Commons.
3.14159265 18.03.2013 16:30 # +6
Фронтэнд и красивый гуй - дело десятое.
Lure Of Chaos 19.03.2013 01:49 # +2
вместе посчитаем кол-во магических цифр.
а насчет топика - я бы эти чудо-цифры вынес в отдельный файл и получил бы svg