Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
begin
G4.Caption:='X';
if G5.Caption='' then
begin
G5.Caption:='X';
if G6.Caption='' then
begin
G6.Caption:='X';
if G7.Caption='' then
begin
G7.Caption:='X';
if G8.Caption='' then G8.Caption:='X' else
if sg8=1 then
G8.Font.Style:=[fsBold,fsStrikeOut];
end else
if sg7=1 then
G7.Font.Style:=[fsBold,fsStrikeOut];
end else
if sg6=1 then
G6.Font.Style:=[fsBold,fsStrikeOut];
end else
if sg5=1 then
G5.Font.Style:=[fsBold,fsStrikeOut];
end else
if sg4=1 then
G4.Font.Style:=[fsBold,fsStrikeOut];
end else
if sg3=1 then
G3.Font.Style:=[fsBold,fsStrikeOut];
end else
if sg2=1 then
G2.Font.Style:=[fsBold,fsStrikeOut];
if H2.Caption='' then H2.Caption:='X' else
if sh2=1 then H2.Font.Style:=[fsBold,fsStrikeOut];
if F2.Caption='' then
begin
F2.Caption:='X';
if E3.Caption='' then
begin
E3.Caption:='X';
if D4.Caption='' then
begin
D4.Caption:='X';
if C5.Caption='' then
begin
C5.Caption:='X';
if B6.Caption='' then
begin
B6.Caption:='X';
if A7.Caption='' then A7.Caption:='X' else
if sa7=1 then
A7.Font.Style:=[fsBold,fsStrikeOut];
end else
if sb6=1 then
B6.Font.Style:=[fsBold,fsStrikeOut];
end else
if sc5=1 then
C5.Font.Style:=[fsBold,fsStrikeOut];
end else
if sd4=1 then
D4.Font.Style:=[fsBold,fsStrikeOut];
end else
if se3=1 then
E3.Font.Style:=[fsBold,fsStrikeOut];
end else
if sf2=1 then
F2.Font.Style:=[fsBold,fsStrikeOut];
end;
6: begin //Король
{E1} if ((se1=1) and not ((E1.Caption<>'Ферзь') or (E1.Caption<>'Ладья') or (E1.Caption<>'Король')) or
{D1} ((sd1=1) and not ((E1.Caption='') and ((D1.Caption='Ферзь') or (D1.Caption='Ладья')))) or
{C1} ((sc1=1) and not (((E1.Caption='') and (D1.Caption='')) and ((C1.Caption='Ферзь') or (C1.Caption='Ладья')))) or
{B1} ((sb1=1) and not (((E1.Caption='') and (D1.Caption='') and (C1.Caption='')) and ((B1.Caption='Ферзь') or (B1.Caption='Ладья')))) or
{A1} ((sa1=1) and not (((E1.Caption='') and (D1.Caption='') and (C1.Caption='') and (B1.Caption='')) and ((A1.Caption='Ферзь') or (A1.Caption='Ладья')))) or
{E2} ((se2=1) and not ((E2.Caption='Слон') or (E2.Caption='Ферзь') or (E2.Caption='Пешка') or (E2.Caption='Король'))) or
//ПРОДОВЖИТИ
{D3} ((sd3=1) and not ((E2.Caption='') and ((D3.Caption='Ферзь') or (D3.Caption='Слон')))) or
{C4} ((sc4=1) and not (((E2.Caption='') and (D3.Caption='')) and ((C4.Caption='Ферзь') or (C4.Caption='Слон')))) or
{B5} ((sb5=1) and not (((E2.Caption='') and (D3.Caption='') and (C4.Caption='')) and ((B5.Caption='Ферзь') or (B5.Caption='Слон')))) or
{A6} ((sa6=1) and not (((E2.Caption='') and (D3.Caption='') and (C4.Caption='') and (B5.Caption='')) and ((A6.Caption='Ферзь') or (A6.Caption='Ладья')))) or
{F2} ((sf2=1) and not (E2.Caption='Ладья') or (E2.Caption='Ферзь')) or
{F3} ((sf3=1) and not ((F2.Caption='') and ((F3.Caption='Ферзь') or (F3.Caption='Ладья')))) or
{F4} ((sf4=1) and not (((F2.Caption='') and (F3.Caption='')) and ((F4.Caption='Ферзь') or (F4.Caption='Ладья')))) or
{F5} ((sf5=1) and not (((F2.Caption='') and (F3.Caption='') and (F4.Caption='')) and ((F5.Caption='Ферзь') or (F5.Caption='Ладья')))) or
{F6} ((sf6=1) and not (((F2.Caption='') and (F3.Caption='') and (F4.Caption='') and (F5.Caption='')) and ((F6.Caption='Ферзь') or (F6.Caption='Ладья')))) or
{F7} ((sf7=1) and not (((F2.Caption='') and (F3.Caption='') and (F4.Caption='') and (F5.Caption='') and (F6.Caption='')) and ((F7.Caption='Ферзь') or (F7.Caption='Ладья')))) or
{F8} ((sf8=1) and not (((F2.Caption='') and (F3.Caption='') and (F4.Caption='') and (F5.Caption='') and (F6.Caption='') and (F7.Caption='')) and ((F8.Caption='Ферзь') or (F8.Caption='Ладья')))) or
{G2} ((sg2=1) and not (G2.Caption='Ферзь') or (G2.Caption='Слон')) or
{H3} ((sh3=1) and not ((G2.Caption='') and ((H3.Caption='Ферзь') or (H3.Caption='Слон')))) or
{H1} ((sh1=1) and not (H1.Caption'Ферзь') or (H1.Caption='Слон')) or
{Кони} ((sh2=1) and not (H2.Caption='Конь')) or ((sg3=1) and not (G3.Caption='Конь')) or ((se3=1) and not (E3.Caption='Конь')) or ((sd2=1) and not(D2.Caption='Конь'))
) then if (F1.Caption='') then F1.Caption:='X' else
if sf1=1 then F1.Font.Style:=[fsBold,fsStrikeOut];
end;
Как-то на первом или втором курсе недоунивера возникло желание сделать шахматы в ООП на Паскале. Решил закодить 64 кнопки (8*8 поле). Сделал переменные для идентификации хода черных/белых, для 2 режимов, в первом из которых кликаешь на свою фигуру (надпись на кнопке) и тебе показывают доступные ходы ею (Х куда можно поставить фигуру, подчеркнутое название вражеской фигуры при возможность её забрать). Ты кликаешь, поле очищается от подсказок, фигура перемещается, проверка на шах/мат (ад), ход передается другому цвету фигур (Жирное начертание для определения) и режим взаимодействия с игровым полем опять переходит в выбор фигуры. Теоретически закодировав каждую кнопку на все возможные события шахматы были бы закончены полностью. Вот только спустя окончания кодировки первой кнопки я заYAYлся и забросил ибо говнокод вышел в 1000 строк на одну YAYдь кнопку. Разумеется, показать могу лишь часть
Использовать в качестве хранилища данных элементы GUI и производить поиск по Caption — то ещё говно. Если использовать не для шахмат, а для какой-нибудь игры с кучей мелких деталей, тормоза обеспечены.
Всегда было интересно: а как эти безопасники проверяют проприетарный софт? Садятся в «Иду» и весь многомегабайтный бинарь с десятками дллок в асме читают?
А как это поможет? Мало того, что способов задетектить виртуалку есть дофига и больше, так ещё и какой-нибудь специализированный троян может тихо собирать инфу полгода, никуда не стучась и никак себя не выдавая. А потом одним пакетом отправить.
Кстати, смутно помню старенькую байку (или не байку…) про хитрый вирус, который пронесли на специально отключённый от интернета комп на флешке. Вирус этот на комп внедрился и при каждом подключении флешки скидывал на неё собранную инфу вместе со специальным модулем. Как только флешку вставили в публичный комп — вся инфа с приватного испарилась в облако.
Кстати, в юникококоде же есть символы для шахматных фигур. Анскилл в виде названий фигур не нужен, одни и те же фигуры даже в одном языке могут называться по-разному.
>Хоть бы массив хуйнул, и гуец и данные разделил.
Разделение на "движок" и "данные" -- очень важное понимание, обычно оно приходит где-то на второй год программирования. А у автора это мог быть первый год
Подтверждаю. Я помню, как моих одноклассников и сокурсников интересовал вопрос, какой функцией можно определить символ или цвет точки экрана в заданных координатах. Мы думали, что в качестве хранилища игрового поля можно использовать сам экран. Потом пришло понимание, что лучше игровое поле хранить не на экране, а выделить под него хоть сколько-нибудь оперативки.
6: begin //♔
{E1} if ((se1=1) and not ((E1.Caption<>'♕')
Помню "Как написать игру для ZX Spectrum", там почти все игры работали через функцию SCREEN$. Которая определяет символ, напечатанный в соответствующем знакоместе экрана. Растрового.
Но, с другой стороны, это, конечно, хорошо, когда памяти хватает на модель-вид-контроллер, а средства языка позволяют не запутаться в куче дополнительных массивов. А попрограммируйте-ка на BASIC48K...
Ну, операционная система и интерпретатор бейсика не в 48К, а в 16К ROM (которые вместе составляют адресное пространство в 64), а вот экран почти 7 килобайт из них отъедают.
Возможно, стоит переписать
Какой кернинг )))
YAYAVAYAYAWAYAYAVAYAY
Не дрожи, шалава!
впрочем, логиница правда не надо
но надо принимать соглашение.
>8
блядь, у нас уже давно 11-я
>dnf
А у тебя центось восьмая?
Пердолиться с регистрацией надо чтобы скачать старые версии.
> блядь, у нас уже давно 11-я
Повезло тебе, не ебёшься с легаси говном, которое только на восьмой идёт. В отдельных, печальных случаях — на седьмой.
Как раз это виндопроблемы — собирать гавняшки по интернетам.
В любом линуксе это делается 1-2 строчками.
>блядь, у нас уже давно 11-я
Давно уже 13я. Просто в офф. репах дермиана как обычно лежит говно мамонта. (Когда я в последний раз ставил)
These open-source builds are provided under the GNU General Public License, version 2, with the Classpath Exception.
Linux / x64 tar.gz (sha256) 195812001
macOS / x64 tar.gz (sha256) 189969691
Windows / x64 zip (sha256) 195969512
https://jdk.java.net/13/
Кстати, в десятку завезли таки магазин. Но там нету нихуя.
Это хлеб!
Нельзя использовать в продакшене софт, которому меньше пяти лет, там могут быть баги.
Кстати, смутно помню старенькую байку (или не байку…) про хитрый вирус, который пронесли на специально отключённый от интернета комп на флешке. Вирус этот на комп внедрился и при каждом подключении флешки скидывал на неё собранную инфу вместе со специальным модулем. Как только флешку вставили в публичный комп — вся инфа с приватного испарилась в облако.
https://youtu.be/J_BKqEyLI50
Пони в этом треде чувствую я.
https://en.wiktionary.org/wiki/yay
«Yay» с азербайджанского переводится как «лето». А вот «весна» у них будет «yaz».
А в ближайшем к нему турецком то же слово означает «лук» (в смысле оружие).
В нидерландском есть близкое по звучанию слово, которое переводится как «ты»:
https://en.wiktionary.org/wiki/jij
Внезапно «yay» — это название одного из китайских языков (все же помнят, что китайский — это не только путунхуа):
https://ru.wikipedia.org/wiki/Буи_(язык)
Хоть бы массив хуйнул, и гуец и данные разделил.
Кстати, в юникококоде же есть символы для шахматных фигур. Анскилл в виде названий фигур не нужен, одни и те же фигуры даже в одном языке могут называться по-разному.
Разделение на "движок" и "данные" -- очень важное понимание, обычно оно приходит где-то на второй год программирования. А у автора это мог быть первый год
всегда так делал
Помню "Как написать игру для ZX Spectrum", там почти все игры работали через функцию SCREEN$. Которая определяет символ, напечатанный в соответствующем знакоместе экрана. Растрового.
Но, с другой стороны, это, конечно, хорошо, когда памяти хватает на модель-вид-контроллер, а средства языка позволяют не запутаться в куче дополнительных массивов. А попрограммируйте-ка на BASIC48K...
небольшой экран 320x200 отлично помещался в памяти
https://isotropic.org/papers/chicken.pdf