БИБЛИОТЕКА КОМПЬЮТЕРНОГО ЮМОРА


Компьютерные анекдоты
Энциклопедии
Учится, учится и еще раз учится...
Компьютерные Игры
Поэмы, стихи и т.п.
Винда
Рассказы
Сайты друзей
Песни о компьютерах


Фидо
Неснятые сценарии
Сборки
Исходники программ
Интернет
Разное...
Фотоприколы
Главная

***


Program: OH TOPMO3, Version: 1.1, Released: 25 May 1993.
Author: Kirill Shirokov [The Future Hackers Co.], CoAuthor: Dmitry Moskovich

This program illustrates visual effect, when english combinations of characters looks like russian text. Original idea was researched by Viacheslav Slavinsky (Some years ago he wrote genius line: KACEKOB - TOPMO3).

Copyright by The Future Hackers Co., 1993 All rights reserved.


program OH_TOPMO3;
uses
 CRT;
const
 MHOrO_TEKCTOB = 15;
 nPOPEXA = nil;
type
 A_KTO_EBO_3HAET = (HO_KTO_TO_BEgb_3HAET, BCE_ETO_BECbMA_CTPAHHO);
 HyMEP = Byte;
 CTPOKA = String[15];
 TEKCTuK = record
 OHA: CTPOKA;
 TOPMO3: HyMEP;
 end;
 TAM_ABTOMAT = ^ABTOMAT;
 ABTOMAT = object
 MOE_X, MOE_Y: HyMEP;
 TEKCTOB_BCEBO: HyMEP;
 TEKCTbl: array[1..MHOrO_TEKCTOB] of TEKCTuK;
 KAKOE: HyMEP;
 TOPMO3uM: HyMEP;
 XPEH_EMy: TAM_ABTOMAT;
 constructor BOT_EBOHOE_MECTO(X, Y: HyMEP);
 procedure BOH_ETOT_XPEH
 (KOMy_XPEH: TAM_ABTOMAT);
 procedure ETO_CTPOKA(OHA_CAMA: CTPOKA;
 EE_TOPMO3: HyMEP);
 procedure BblBOg;
 end;
 XMblPb = object
 HE_KACEKOB: A_KTO_EBO_3HAET;
 KTO_TAM_CAMOE_TAKOE: TAM_ABTOMAT;
 constructor Hy_HuKAK_MHE_EBO_HE_HA3BATb;
 procedure B_nyTb;
 procedure u_EBO_TO3E
 (uMEHHO_ETO_MOXHATOE_OHO_CAMOE: TAM_ABTOMAT);
 end;
procedure BAM_TEMHO;
begin
 ClrScr;
end;
procedure TOPMO3HyTb(CKOKO: HyMEP);
begin
 Delay(CKOKO);
end;
procedure rge_EMy_KBACuTb(EBO_X, EBO_Y: HyMEP);
begin
 GoToXY(EBO_X, EBO_Y);
end;
function WyXEP: Boolean;
begin
 WyXEP: = KeyPressed;
end;
constructor ABTOMAT.BOT_EBOHOE_MECTO(X, Y: HyMEP);
begin
 MOE_X: = X;
 MOE_Y: = Y;
 TEKCTOB_BCEBO: = 0;
 KAKOE: = 0;
 TOPMO3uM: = 0;
end;
procedure ABTOMAT.BOH_ETOT_XPEH(KOMy_XPEH: TAM_ABTOMAT);
begin
 XPEH_EMy: = KOMy_XPEH;
end;
procedure ABTOMAT.ETO_CTPOKA(OHA_CAMA: CTPOKA; EE_TOPMO3: HyMEP);
begin
 if TEKCTOB_BCEBO < MHOrO_TEKCTOB then begin
 Inc(TEKCTOB_BCEBO);
 with TEKCTbl[TEKCTOB_BCEBO] do begin
 OHA: = OHA_CAMA;
 TOPMO3: = EE_TOPMO3;
 end;
 end;
end;
procedure ABTOMAT.BblBOg;
begin
 if TEKCTOB_BCEBO> 0 then begin
 if TOPMO3uM = 0 then begin
 Inc(KAKOE);
 if KAKOE> TEKCTOB_BCEBO then KAKOE: = 1;
 rge_EMy_KBACuTb(MOE_X, MOE_Y);
 with TEKCTbl[KAKOE] do begin
 Write(OHA);
 TOPMO3uM: = TOPMO3;
 end;
 end;
 Dec(TOPMO3uM);
 end;
end;
constructor XMblPb.Hy_HuKAK_MHE_EBO_HE_HA3BATb;
begin
 KTO_TAM_CAMOE_TAKOE: = nPOPEXA;
 HE_KACEKOB: = BCE_ETO_BECbMA_CTPAHHO;
end;
procedure XMblPb.u_EBO_TO3E
 (uMEHHO_ETO_MOXHATOE_OHO_CAMOE: TAM_ABTOMAT);
begin
 if KTO_TAM_CAMOE_TAKOE = nPOPEXA then begin
 KTO_TAM_CAMOE_TAKOE: = uMEHHO_ETO_MOXHATOE_OHO_CAMOE;
 uMEHHO_ETO_MOXHATOE_OHO_CAMOE^.XPEH_EMy: = uMEHHO_ETO_MOXHATOE_OHO_CAMOE;
 end
 else begin
 uMEHHO_ETO_MOXHATOE_OHO_CAMOE^.XPEH_EMy: = KTO_TAM_CAMOE_TAKOE^.XPEH_EMy;
 KTO_TAM_CAMOE_TAKOE^.XPEH_EMy: = uMEHHO_ETO_MOXHATOE_OHO_CAMOE;
 end;
end;
procedure XMblPb.B_nyTb;
var
 ETOT_PAXuT: TAM_ABTOMAT;
begin
 ETOT_PAXuT: = KTO_TAM_CAMOE_TAKOE;
 while not WyXEP do
 with ETOT_PAXuT^ do begin
 BblBOg;
 ETOT_PAXuT: = XPEH_EMy;
 rge_EMy_KBACuTb(1, 10);
 TOPMO3HyTb(10);
 end;
end;
procedure BAM_XOPOWO;
begin
 BAM_TEMHO;
 WriteLN('OH TOPMO3 v1.0 Copyright The Future Hackers, 1993');
 WriteLN("  Written by Kirill Shirokov and Dmitry Moskovich, May 93');
 WriteLN;
end;
var
 EBO_3EHKu,
 EBO_HOC,
 EBO_POT,
 EBO_XBOCT: ABTOMAT;
 KACEKOB: XMblPb;
begin
 with KACEKOB do begin
 Hy_HuKAK_MHE_EBO_HE_HA3BATb;
 with EBO_3EHKu do begin
 BOT_EBOHOE_MECTO(1, 1);
 ETO_CTPOKA('- -', 20);
 ETO_CTPOKA('o o', 3);
 ETO_CTPOKA('O O', 16);
 ETO_CTPOKA('0 0', 23);
 ETO_CTPOKA('O O', 14);
 ETO_CTPOKA('o o', 5);
 end;
 u_EBO_TO3E(@EBO_3EHKu);
 with EBO_HOC do begin
 BOT_EBOHOE_MECTO(1, 2);
 ETO_CTPOKA('..", 21);
 ETO_CTPOKA(" oo ", 16);
 end;
 u_EBO_TO3E(@EBO_HOC);
 with EBO_POT do begin
 BOT_EBOHOE_MECTO(1, 3);
 ETO_CTPOKA(" -- ", 22);
 ETO_CTPOKA(" == ", 4);
 ETO_CTPOKA('-==-', 6);
 ETO_CTPOKA('/--\', 19);
 ETO_CTPOKA('-!! -', 16);
 ETO_CTPOKA('\==/', 21);
 ETO_CTPOKA('-!! -', 3);
 end;
 u_EBO_TO3E(@EBO_POT);
 BAM_TEMHO;
 B_nyTb;
 BAM_XOPOWO;
 end;
end.
Наверх
Copyright (c) 2004-2009 http://jorj.net.ru