Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2010, 21:01   #1
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию Мой индусский код! Я горжусь им!

Я уверен, что у всех есть свой быдлокод Хотелось бы его увидеть.
Вот отрывки исходника файлового менеджера для дос на паскале. Я так писал ровно 10 лет назад )) Причем весь файловый менеджер написан в таком стиле )) Сейчас смотрю и ужасаюсь:
Код:
if Length(PP.curdir)<36 then
pt:=' '+PP.curdir+' '
else pt:=' \...'+Copy(PP.curdir,Length(PP.curdir)-30,31)+' ';
Ptr:=PP.f_ptr;
if PP.vol='' then PP.vol:='No Label';
WriteString(1,cc+(40-length(pt)) div 2,pt,Pal[8]);
WriteString(22,cc+1+(cc*(34-length(PP.vol))) div 40,'['+PP.vol+']',Pal[7]);
if PP.vol='No Label' then  PP.vol:='';
{if PP.empty then exit;}
inc(ptr,sizeof(filrec)*row);
for i:=row to n+row do begin
if (i <PP.files) and (not PP.empty) then begin fname:=ptr^.filename;
{if (ptr^.fileattr and 16) = 0 then StrLwr(fname);}
if (Ptr^.fileattr and 2) <> 0 then fname[1]:=upcase(fname[1]);
if ((Ptr^.fileattr and Hidden) <> 0) and (Pos('.',Fname)>0) then fname[Pos('.',Fname)+1]:=upcase(fname[Pos('.',Fname)+1]);
SortFIle(fname);
for a := length(fname) to 11 do fname:=fname+' ';
fname:=fname+'│';
if (Ptr^.fileattr and 16) = 0 then Str(Ptr^.filesize:10,pt)
else if fname[1]='.' then pt:='UP──-DIR'
     else pt:='SUB─-DIR';
fname:=fname+pt+'│';
DateTimeCnv(pt,Ptr^.filedttm);
fname:=fname+pt;     {SetFattr}
if Ptr^.selected then WriteString(2+i-row,cc,fname,Pal[1]) else
WriteString(2+i-row,cc,fname,Pal[2]);
inc(ptr,sizeof(filrec));
end
else WriteString(2+i-row,cc,'            │          │        │     ',Pal[1]);
end;
end;
procedure Put_File(PP:Panel;cc,row,x:word;active:boolean);
var
fname,pt:string;
{ptr:P_filrec;}
begin
if PP.empty then exit;
ptr:=PP.F_ptr;
inc(ptr,sizeof(filrec)*(row+x));
fname:=ptr^.filename;
{if (ptr^.fileattr and 16) = 0 then StrLwr(fname);}
if (Ptr^.fileattr and 2) <> 0 then fname[1]:=upcase(fname[1]);
if ((Ptr^.fileattr and Hidden) <> 0) and (Pos('.',Fname)>0) then fname[Pos('.',Fname)+1]:=upcase(fname[Pos('.',Fname)+1]);
SortFile(fname);
for a := length(fname) to 11 do fname:=fname+' ';
fname:=fname+'│';
if (Ptr^.fileattr and 16) = 0 then Str(Ptr^.filesize:10,pt)
else if fname[1]='.' then pt:='UP──-DIR'
     else pt:='SUB─-DIR';
fname:=fname+pt+'│';
DateTimeCnv(pt,Ptr^.filedttm);
fname:=fname+pt;
if active then If Ptr^.selected then WriteString(2+x,cc,fname,Pal[3]) else
WriteString(2+x,cc,fname,Pal[4])
else if Ptr^.selected then WriteString(2+x,cc,fname,Pal[1]) else
WriteString(2+x,cc,fname,Pal[2])
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 25.09.2010, 21:21   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Сидел искал, старый проект нашел, только это, подобного как вы написали нет
Тут у меня не понятно, что мной двигало при написании аргументов и типов.

Код:
function TForm1.cMSG(h:thandle;TEXT:STRING;STATUS:Integer):integer;
BOBAH13 вне форума Ответить с цитированием
Старый 25.09.2010, 22:05   #3
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Надо было там тогда коммент добавить: // Будущий я - извини
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 25.09.2010, 22:13   #4
Vikenty
Заслуженный флудер
Участник клуба
 
Аватар для Vikenty
 
Регистрация: 31.03.2010
Сообщений: 1,473
По умолчанию

Код:
unit Booleans;

implementation

Function IsTrue(Value: Boolean): boolean;
begin
 if (Value=true) and (Value<>false) then Result:=true;
 if (Value=false) and (Value<>true) then Result:=false; 
end;

Function IsFalse(Value: Boolean): boolean;
begin
 if (Value=false) and (Value<>true) then Result:=true;
 if (Value=true) and (Value<>false) then Result:=false; 
end;

function IsNumber1(Number: integer): boolean
begin
if Number=1 then Result:=true;
end;

function IsNumber2(Number: integer): boolean
begin
if Number=2 then Result:=true;
end;

function IsNumber3(Number: integer): boolean
begin
if Number=3 then Result:=true;
end;

function IsNumber4(Number: integer): boolean
begin
if Number=4 then Result:=true;
end;

function IsNumber5(Number: integer): boolean
begin
if Number=5 then Result:=true;
end;

function IsNumber6(Number: integer): boolean
begin
if Number=6 then Result:=true;
end;

function IsNumber7(Number: integer): boolean
begin
if Number=7 then Result:=true;
end;

function IsNumber8(Number: integer): boolean
begin
if Number=8 then Result:=true;
end;

function IsNumber9(Number: integer): boolean
begin
if Number=9 then Result:=true;
end;

end.
функции для проверки значений удобный модуль

Последний раз редактировалось Vikenty; 25.09.2010 в 22:20.
Vikenty вне форума Ответить с цитированием
Старый 25.09.2010, 22:13   #5
ThisIzGame
Форумчанин
 
Регистрация: 31.08.2009
Сообщений: 161
По умолчанию

помню 2 года назад, когда только начинал изучать программирование(С++), писал консольный квест, сейчас смотрю исходники и смеюсь
Тогда я даже не знал о локальных переменных, вот начало файла
Код:
#include <iostream>
#include <string>
using namespace std; 

// глобальные переменные
string name;   // имя игрока
int choice;
string code;

int money=400;
int speed=30;
int power=5;
int protect=5;

int youPower;
bool A=false;
bool B=false;
bool BlackKingdom=false;    


int mSpeed=15;
int mPower=5;
int mProtect=3;  // НАЁМНИКИ


// промежуточные переменные, квесты и т.п.
int wisp=0; bool wispsword=false; bool mercyHouse=false; //
bool wisp1=false; bool wLoose=false; 
bool mFailed=false; bool mQuest=false;
bool fieldQuest=false; bool fArmor=false;
bool wisp2=false; // квест со сплетником
int mathAnswear=0; // математик
bool mathWrite=false;  // математик-записи
bool mathCave=false;
bool cave=false; 
bool caveMath=false;//
bool caveGood=false;
bool caveExit=false;
bool magic=false;
bool divQuest=false;
 // квест с крестьянином пещера
bool magicOne=false;  // квест маг
bool minerQuest=false;
bool MinQ=false;
int Failed=false;

int menu(void);    // главное меню.
int option(void); // опции
int play(void);    // начало игры
int location(void);  // локации
int city(void);   // локация-ГОРОД
int village(void);
int resident(void); // житель
int wisperer(void); // сплетник
int warf(void);  // квест набережная
int mercy(void); // наёмники лагерь-квест сплетник
int armorer(void);  // оружейник
int field(void); // квест с кук. полем

int peasant(void);   // квест крестьянин
int caveQuest(void);   // подземелье
int divination(void);
int magicQuest(void);   // квест с магом
int mathCaveQuest(void); // тайник матемтаика
int miner(void);
int BK(void);

int math(void);  // математик
int main(void)
{
2441 строка быдлокода
ThisIzGame вне форума Ответить с цитированием
Старый 25.09.2010, 22:17   #6
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Цитата:
Сообщение от mutabor Посмотреть сообщение
Надо было там тогда коммент добавить: // Будущий я - извини
Там вообще комментов штук 10. Вот только два здесь:

Код:
Put_File(PXx^,1+curac*40,rb,x,True);      {HZ  !!!!!!!! x-1 ??????}
ClearBox(Pal[10],23,1+length(PXx^.curdir),23,79);
if CurX > 79-length(PXx^.curdir) then
WriteString(23,1+length(PXx^.curdir),copy(cmd,CurX - (79-length(PXx^.curdir))+1, 79),pal[10])
else if Length(cmd) > 79-length(PXx^.curdir) then
WriteString(23,1+length(PXx^.curdir),copy(cmd,1,79-length(PXx^.curdir)),pal[10])
else
WriteString(23,1+length(PXx^.curdir),cmd,pal[10]);
WriteString(23,0,Pxx^.curdir,pal[11]);
WriteString(23,length(Pxx^.curdir),'>',pal[12]);
cursoron;
if CurX > 79-length(PXx^.curdir) then
SetPos(23,length(PXx^.curdir)+CurX mod 80)
else
SetPos(23,1+length(PXx^.curdir)+CurX);
b:=GetKeymouse;
ch:=chr(b{ and 255});
b:=b shr 8;
cursoroff;
Put_File(PXX^,1+curac*40,rb,x,false); {!!!!!!!!!!! WARNING x-1??? !!!!!!}
Что они значат - есть великая загадка ))
Чтобы понять рекурсию, сперва нужно понять рекурсию.

Последний раз редактировалось Tronix; 25.09.2010 в 22:21.
Tronix вне форума Ответить с цитированием
Старый 25.09.2010, 22:31   #7
*PB*
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 558
По умолчанию

Код не мой, но стиль....

Это игрушка.
Скомпилированый файл во вложении.

Код:
Macro C: Circle:EndMacro:#pf=3.14159265/180:Procedure Flower(x.l,y.l):For i=0 To 5:C(x+12*Sin(i*60*#pf),y+12*Cos(i*60*#pf),8,RGB(128,0,48)):C(x+12*Sin(i*60*#pf),y+12*Cos(i*60*#pf),7,RGB(255,0,96)):Next
C(x,y,6,RGB(255,0,96)):C(x,y,5,RGB(255,240,32)):EndProcedure:Procedure Bee(x.l,y.l,f.l):For i=-2 To 1:C(x,y-2+4*i,6,RGB(255,240,0))
C(x,y+4*i,6,RGB(32,32,0)):Next:C(x,y+6,5,RGB(255,192,0)):C(x+3,y+5,2,RGB(64,128,255)):C(x-3,y+5,2,RGB(64,128,255)):C(x-12,y-4-f,8,RGB(240,240,255))
C(x+12,y-4-f,8,RGB(240,240,255)):EndProcedure:Procedure Fly(x.l,y.l,f.l):For i=0 To 3:C(x+f*Sin((45+i*90)*#pf),y+f*Cos((45+i*90)*#pf),7,RGB(16,160,255)):C(x+2*f*Sin((45+i*90)*#pf),y+2*f*Cos((45+i*90)*#pf),7,RGB(16,160,255))
C(x+f*Sin((45+i*90)*#pf),y+f*Cos((45+i*90)*#pf),4,RGB(255,240,32)):C(x+2*f*Sin((45+i*90)*#pf),y+2*f*Cos((45+i*90)*#pf),4,RGB(255,240,32)):Next:C(x,y-6,3,RGB(128,96,0)):Box(x-3,y-6,6,12,RGB(128,96,0)):C(x,y+6,3,RGB(128,96,0))
Line(x-1,y-9,-6,-11,RGB(16,200,255)):Line(x,y-9,5,-11,RGB(16,200,255)):C(x,y-9,3,RGB(255,96,0)):EndProcedure:If InitSprite() And InitKeyboard() And OpenScreen(800,600,16,"SV"):SetFrameRate(60)
Dim PX(600):Dim FP(4):For n=1 To 600:PX(n)=Random(799):Next:LV=4:Repeat:FX=400:FY=500:LV-1:NW=0:Repeat:ExamineKeyboard():ClearScreen(0):If KeyboardPushed(200):FY-2:EndIf:If KeyboardPushed(203):FX-2:EndIf:If KeyboardPushed(205):FX+2:EndIf:If KeyboardPushed(208)
FY+2:EndIf:StartDrawing(ScreenOutput()):DrawingMode(1):PX(0)=Random(799):For n=600 To 1 Step -1:PX(n)=PX(n-1):Box(PX(n),n-1,2,1,RGB(0,192,0)):Next:For n=0 To 4:If Abs(FP(n)-100-FX)<16 And Abs(c+150*n-50-FY)<16:FP(n)=0
SC+10:EndIf:Flower(FP(n)-100,c+150*n-50):Next:DrawText(270,10,"Bubu Butterfly's Spring Vacation"):DrawText(270,580,"Score: "+Right("000000"+Str(SC),6)+" . . . . . Lifes: "+Str(LV)):Fly(FX-DI,FY,6+3*Sin(c/8)):Bee(BX+400+100*Sin(c/20),c*4,4*Sin(c)):If Abs(BX+400+100*Sin(c/20)-(FX-DI))<24 And Abs(c*4-FY)<24:DI=10000
EndIf:c+1:If c>149:For n=4 To 1 Step -1:FP(n)=FP(n-1):Next:FP(0)=150+Random(700):BX=Random(600)-300:If DI=10000:NW=1:DI=0:EndIf:c=0:EndIf:StopDrawing():Delay(8):If KeyboardPushed(1) Or LV<0:EX=1:EndIf:FlipBuffers():Until EX=1 Or NW=1:Until EX=1:EndIf:End
Вложения
Тип файла: rar Игра.rar (8.1 Кб, 26 просмотров)
*PB* вне форума Ответить с цитированием
Старый 25.09.2010, 22:52   #8
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Код:
Function IsTrue(Value: Boolean): boolean;
begin
 if (Value=true) and (Value<>false) then Result:=true;
Такого я еще не видел :D

Не ну а чего, все понятно
Код:
Put_File(PXx^,1+curac*40,rb,x,True);      {HZ  !!!!!!!! x-1 ??????}
BOBAH13 вне форума Ответить с цитированием
Старый 25.09.2010, 23:13   #9
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Код:
Function IsTrue(Value: Boolean): boolean;
begin
 if (Value=true) and (Value<>false) then Result:=true;
 if (Value=false) and (Value<>true) then Result:=false; 
end;

Function IsFalse(Value: Boolean): boolean;
begin
 if (Value=false) and (Value<>true) then Result:=true;
 if (Value=true) and (Value<>false) then Result:=false; 
end;
Ахахахах, это также как
Код:
if( false ){
die("Omg!!! O_o");
}
Вот мой г-код
Цитата:
цикл_пока откроем 1 закроем
начнемс
ошибка:
очистить_экран откроем закроем закончим_однако
обновить_однако откроем закроем закончим_однако
если откроем ход равно ложь закроем
начнемс
сказать_Юзверю_окаянному сюда "Xod krestikov " закончим_однако
ход_крестики откроем закроем закончим_однако
пора_заканчивать_однако
иначе
начнемс
сказать_Юзверю_окаянному сюда "Xod nolikov " закончим_однако
ход_нолики откроем закроем закончим_однако
пора_заканчивать_однако
если откроем клавиша равно 'e' закроем начнемс пойдем_туда конец закончим_однако пора_заканчивать_однако
неделимое buf закончим_однако

Последний раз редактировалось Levsha100; 25.09.2010 в 23:17.
Levsha100 вне форума Ответить с цитированием
Старый 26.09.2010, 00:17   #10
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2*PB*
ты путаешь говнокод с обфускацией. садись, два
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить программу(условие, мой код, все присутствует!) djon_limit Общие вопросы C/C++ 1 29.10.2009 19:34
Мой форум Antoha79 О форуме и сайтах клуба 6 24.08.2009 12:29
Код игры на Паскале и на Делфи сильно отличается? Как переписать код с Паскаля в Делфи? Mclaren Помощь студентам 2 27.04.2009 22:37
Подправьте мой код пожалуйста Volchara Общие вопросы C/C++ 5 06.04.2009 17:05
Почему мой код не завершает процесс? Stilet Win Api 1 24.07.2008 20:28