- 1
AX=pow(A[i].r.get_x()*A[i].r.get_x(),0.5);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+173
AX=pow(A[i].r.get_x()*A[i].r.get_x(),0.5);
Берем модуль числа.
+162
while(!ThreadActivateFlag)
Sleep(0);
+147
int*& HochuVOtpusk = *new int*;//:(
+145
int min = 100000;
for(int i=0; i<N; (i++)+1 )
if(A[ i ] < min) min := a{ i ];
+159
SetClipboardData(CF_TEXT, hMems);
SetClipboardData(RegisterClipboardData(CFSTR_SHELLURL), hMems);
+173
#include <stdio.h>
int leap(int);
void instruct(void);
int main(void) {
int year, month, day, number;
int jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov;
jan = 31; feb = 28; mar = 31; apr = 30; may = 31; jun = 30;
jul = 31; aug = 31; sep = 30; oct = 31; nov = 30;
instruct();
printf("\nВведите дату в формате DD.MM.YYYY: ");
scanf("%d.%d.%d", &day, &month , &year);
if (leap(year) == 1) {
printf("\nГод високосный.\n");
feb = 29;
}
if (leap(year) == 0)
printf("\nГод не високосный.\n");
switch (month) {
case 1:
number = day;
break;
case 2:
number = jan + day;
break;
case 3:
number = jan + feb + day;
break;
case 4:
number = jan + feb + mar + day;
break;
case 5:
number = jan + feb + mar + apr + day;
break;
case 6:
number = jan + feb + mar + apr + may + day;
break;
case 7:
number = jan + feb + mar + apr + may + jun + day;
break;
case 8:
number = jan + feb + mar + apr + may + jun + jul + day;
break;
case 9:
number = jan + feb + mar + apr + may + jun + jul + aug + day;
break;
case 10:
number = jan + feb + mar + apr + may + jun + jul + aug + sep + day;
break;
case 11:
number = jan + feb + mar + apr + may + jun + jul + aug + sep + oct + day;
break;
case 12:
number = jan + feb + mar + apr + may + jun + jul + aug + sep + oct + nov + day;
break;
default:
number = -1;
}
printf("%d.%d.%d - это день номер %d этого года.\n", day, month , year, number);
return(0);
}
void instruct(void) {
printf("Программа предназначена для определения дня года по заданной дате.\n");
}
int leap(int year) {
if (year % 400 == 0)
return(1);
if (year % 100 == 0)
return(0);
if (year % 4 == 0)
return(1);
return(0);
}
Как вам такой свитч? а?)
+163
//
if (delay == 0)
{
Uint8 *keys = SDL_GetKeyState(NULL);
// Checking for letters
for (c = 97; c < 123; c++)
if (cpos < 9)
if (keys[c] && !delay)
{
mapname[cpos] = c;
mapname[++cpos] = '\0';
delay = 5;
bg.show(400, 240, 0);
text.print(mapname, 200, 180);
render.backend();
break;
}
// Checking for numbers
for (c = 48; c < 58; c++)
if (cpos < 9)
if (keys[c] && !delay)
{
mapname[cpos] = c;
mapname[++cpos] = '\0';
delay = 5;
bg.show(400, 240, 0);
text.print(mapname, 200, 180);
render.backend();
break;
}
// On pressing ENTER
if (keys[13] && !delay && strlen(mapname) > 2)
break;
// On pressing BACKSPACE
if (keys[SDLK_BACKSPACE] && cpos > 0 && !delay)
{
mapname[--cpos] = '\0';
delay = 5;
bg.show(400, 240, 0);
if (cpos > 0) text.print(mapname, 200, 180);
render.backend();
}
}
if (delay > 0)
delay--;
Уверен, можно было сделать намного проще =)
+159
int** ppi = new int*;
+161
CRect rcHeaderImage;
rcHeaderImage.left = listColumn.m_strText.IsEmpty() ? ( ( rcHeaderText.left + rcHeaderText.right ) / 2 ) - ( sizeIcon.cx / 2 )
- (( !m_bShowThemed
#ifndef DISABLE_XP_THEMES
|| m_thmHeader.IsThemeNull()
#endif
) ? 0 : 1 ) : rcHeaderText.left;
Вот так вот задачка "подвинуть иконку вправо на пару пикселов" превращается в нетривиальную :)
+152
//CreatorOfBullshit говорит: следите за руками
void __fastcall TFORM_MENU::pan_newClick(TObject *Sender) //запуск новой игры
{
if(fl_sound)sndPlaySound("Data\\Sounds\\push.wav",SND_ASYNC|SND_NODEFAULT);
tm_showstarthint->Enabled=false;
pan_cong->Visible=false;
pan_hider->Visible=false;
pan_new->Caption="Еще разок";//меняем надпись на кнопке
pan_new->Hint="Начать новую сборку";
pan_sign->Color=clBlack;
lab_timeleft->Caption="00:00";
lab_timeleft->Hint="...а время течёт, как вода по трубам...";
tm_gameseconds->Enabled=false; //сначала останавливаем таймер, и после окончания прорисовки стартового поля запускаем его снова
Label1->Visible=true;
lab_timeleft->Visible=true;
game_time_seconds=0;//сброс времени
game_time_minutes=0;
pb_viewport->Enabled=true;
for(int i=0;i<128;i++)
{
gameplane.recreate();
if(gameplane.getclosed()<8)
break;
}
game_start_count=gameplane.getclosed();
gameplane.drawfield();
lab_per->Caption=IntToStr( (int)( (float)gameplane.getclosed()*100.f/(float)(game_field_width*game_field_height) ) )+"%";
tm_gameseconds->Enabled=true; //запускаем таймер
}
...
//CreatorOfBullshit говорит: "фрагмент из модуля с определениями для класса объекта gameplane" тот самый recreate()
...
void C_GAMEFIELD::recreate()
{
/*
Создаю игровое поле и расположения
*/
int i,j;
for(i=0;i<width;i++)
{
for(j=0;j<height;j++)
{
pp_field[i][j]=0;
}//for j
}//for i
//определение центральной точки источника воды:
if( (width&b0001)==0 )
start_x=(width>>1)-1;
else
start_x=(width>>1);
//_ _ _ _ _ _ _ _ _ _ _ _
if( (height&b0001)==0 )
start_y=(height>>1)-1;
else
start_y=(height>>1);
pp_field[start_x][start_y]|=wALWAYSON;//назначение стартовой метки(поднимается флаг)
crt_crgf();
checklinkup();
for(i=0;i<width;i++)for(j=0;j<height;j++)
{
pp_mask[i][j]=pp_field[i][j];
}//for
}
...
//CreatorOfBullshit говорит: "Теперь проследуем в crt_crgf()"
void C_GAMEFIELD::crt_crgf() //Соединяет неправильно построеенные трубы
{ //Проработать мне нужно алгоритм построения!!!
unsigned __int8 i,j;
static int brd_right,
brd_bottom,
bounds;
crt_setcell(start_x,start_y, TRIPLE); ///crt_setcell создает трубу, потом тут же ее поворачиваем
//далее первый шаг построения: сначала создаются совершенно случайные незаконо-
//мерные ветви, т.е. могут остаться НЕЗАПОЛНЕННЫЕ участки:
unsigned __int8 startcell=pp_field[start_x][start_y], tryingcell;
if( (startcell&UP)==UP )
crt_connect(start_x,start_y-1,DOWN);
if( (startcell&DOWN)==DOWN )
crt_connect(start_x,start_y+1,UP);
if( (startcell&LEFT)==LEFT )
crt_connect(start_x-1,start_y,RIGHT);
if( (startcell&RIGHT)==RIGHT )
crt_connect(start_x+1,start_y,LEFT);
}
//CreatorOfBullshit говорит: "Апофеоз говнокодизма - чуть ниже:"
inline void C_GAMEFIELD::crt_setcell(unsigned __int8 x, unsigned __int8 y, unsigned __int8 pipetype)
{
pp_field[x][y]|=pipetype;
//создаем трубу по заказу и рандумно поворачиваем
if(random(2))
rotate_CW(x,y);
if(random(2))
rotate_CW(x,y);
if(random(2))
rotate_CW(x,y);
}
Говнокод написан лично моими руками на первом курсе института. Писал игру в которой нужно поворачивать трубы так чтобы потом по всему игровому полю текла вода. Писал на Буилдере 5.0. Угощайтесь.
Алсо это не еще не все - там есть фрагмент в котором китайским методом создаются спрайты игровых текстур.
С:8444