- 1
- 2
- 3
<div class="menu_bit" onclick="location.href="index.php?page=teachers"">
Преподаватели
</div>
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+143
<div class="menu_bit" onclick="location.href="index.php?page=teachers"">
Преподаватели
</div>
Сайт университетской кафедры. Ну и ладно! я сделаю свой <a> с джаваскриптом и дивами.
+158
#ifndef _header_hpp_included_
#define _header_hpp_included_
#include <iostream>
#include <cstdio>
#include <boost/bind.hpp>
#include <boost/asio.hpp>
#include <boost/thread.hpp>
#include <boost/lexical_cast.hpp>
enum { recv_buffer_size = 13 };
enum { send_buffer_size = 13 };
volatile size_t counter = 0;
void client_readed(
boost::asio::ip::tcp::socket&,
char*,
FILE*,
const boost::system::error_code&
);
void client_read(
boost::asio::ip::tcp::socket& sock,
FILE* out
) {
char* buf = new char[recv_buffer_size];
boost::asio::async_read(
sock,
boost::asio::buffer(buf, recv_buffer_size),
boost::bind(
&client_readed,
boost::ref(sock),
buf,
out,
boost::asio::placeholders::error));}
void client_readed(
boost::asio::ip::tcp::socket& sock,
char* buf,
FILE* out,
const boost::system::error_code& e) {
if ( e ) {
if ( !counter ) return;
std::cout << "read handler: " << e.message() << std::endl;
return;
}
fwrite(buf, recv_buffer_size, 1, out);
counter--;
#ifdef _my_debug_
printf("client_readed(): %s", buf);
fflush(stdout);
#endif
static size_t idx = 0;
size_t tmp = 0;
char* p = strchr(buf, ':');
if ( p ) {
p++;
sscanf(p, "%8d", &tmp);
} else
throw std::runtime_error("input data error!");
delete[] buf;
if ( idx != tmp ) {
std::ostringstream os;
os << "read error. expected " << idx << " get " << tmp;
throw std::runtime_error(os.str());
}
idx++;
client_read(sock, out);
}
void writen(
char*,
FILE*,
const boost::system::error_code&
);
void start_write(
boost::asio::ip::tcp::socket& sock,
char* buf,
FILE* out) {
counter++;
boost::asio::async_write(
sock,
boost::asio::buffer(buf, send_buffer_size),
boost::bind(
&writen,
buf,
out,
boost::asio::placeholders::error)
);
}
+146
<table cellspacing="0" id="captcha"><tbody><tr><td><table cellspacing="0">
<tbody><tr>
<td class="fill"><div> </div></td>
<td class="fill"><div> </div></td>
<td class="fill"><div> </div></td>
</tr><tr>
<td><div> </div></td>
<td><div> </div></td>
<td class="fill"><div> </div></td>
</tr><tr>
<td><div> </div></td>
<td class="fill"><div> </div></td>
<td><div> </div></td>
</tr><tr>
<td class="fill"><div> </div></td>
<td><div> </div></td>
<td><div> </div></td>
</tr><tr>
<td class="fill"><div> </div></td>
<td><div> </div></td>
<td><div> </div></td>
</tr>
</tbody></table>
</td><td><table cellspacing="0">
<tbody><tr>
<td class="fill"><div> </div></td>
<td class="fill"><div> </div></td>
<td class="fill"><div> </div></td>
</tr><tr>
<td class="fill"><div> </div></td>
<td><div> </div></td>
<td class="fill"><div> </div></td>
</tr><tr>
<td class="fill"><div> </div></td>
<td class="fill"><div> </div></td>
<td class="fill"><div> </div></td>
</tr><tr>
<td class="fill"><div> </div></td>
<td><div> </div></td>
<td class="fill"><div> </div></td>
</tr><tr>
<td class="fill"><div> </div></td>
<td class="fill"><div> </div></td>
<td class="fill"><div> </div></td>
</tr>
</tbody></table>
</td><td><table cellspacing="0">
<tbody><tr>
<td class="fill"><div> </div></td>
<td class="fill"><div> </div></td>
<td class="fill"><div> </div></td>
</tr><tr>
<td class="fill"><div> </div></td>
<td><div> </div></td>
<td><div> </div></td>
</tr><tr>
<td class="fill"><div> </div></td>
<td class="fill"><div> </div></td>
<td class="fill"><div> </div></td>
</tr><tr>
<td><div> </div></td>
<td><div> </div></td>
<td class="fill"><div> </div></td>
</tr><tr>
<td class="fill"><div> </div></td>
<td class="fill"><div> </div></td>
<td class="fill"><div> </div></td>
</tr>
</tbody></table>
</td><td><table cellspacing="0">
<tbody><tr>
<td class="fill"><div> </div></td>
<td class="fill"><div> </div></td>
<td class="fill"><div> </div></td>
</tr><tr>
<td><div> </div></td>
<td><div> </div></td>
<td class="fill"><div> </div></td>
</tr><tr>
<td class="fill"><div> </div></td>
<td class="fill"><div> </div></td>
<td class="fill"><div> </div></td>
</tr><tr>
<td><div> </div></td>
<td><div> </div></td>
<td class="fill"><div> </div></td>
</tr><tr>
<td class="fill"><div> </div></td>
<td class="fill"><div> </div></td>
<td class="fill"><div> </div></td>
</tr>
</tbody></table>
</td></tr></tbody></table>
Реализация капчи на сайте http://rus.in.ua/
class="fill" - чёрный фон
Парсить HTML в автоматическом режиме ещё проще, чем картинки распознавать.
+171
...
bool GameLocations::checkButtonsEnabled() const
{
GameClassT& gc = GameClass::instance();
return
!gc.getCurrentLocationPopup() &&
!gc.getHud().getCurrentWindowFore() &&
!gc.isMenuOpen() &&
!gc.isEndOfDay() &&
!GameClass::instance().isMouseConsumedThisFrame();
}
...
void LocationPopupBase::update(float dt)
{
...
const bool inputEnabled =
m_isActive &&
!m_talentUsedWindowActive &&
!m_dialogueManager.isVisible() &&
!GameClass::instance().getHud().getCurrentWindowBack() &&
!GameClass::instance().getHud().getCurrentWindowFore() &&
(!m_currentAction ||
((*m_currentActionPhase == AP_Finalize) && !m_currentAction->m_immediateFinalize)) &&
m_actionSequenceCallbacks.empty();
setInputEnabled(inputEnabled);
}
...
Вот во что со временем превращаются игровые проекты, в которых нет никакой стейт-машины или хоть какого-нибудь её аналога.
Это - только вершина айсберга. Разнообразные (старые и новые) баги обработки ввода постоянно появляются из ниоткуда, исчезают в никуда, а фиксить их приходится минимум по пять раз в неделю.
+161
$query = 'SELECT `views` FROM `'.PREFIX.'_newsi` WHERE `id` = '.$item["id"];
$result = $kernel->runSQL($query);
$count;
if (mysql_num_rows($result)) {
$count = mysql_result($result,"views");
$query = 'UPDATE `'.PREFIX.'_newsi` SET `views` = "'.++$count.'" WHERE `id` ='.$item["id"];
$kernel->runSQL($query);
}
Увеличиваем счетчик количества просмотров новости
+113
Говнокод поломался. Гуесты теперь везде.
+149
$txt['aeva_gallery'] = isset($txt['aeva_gallery']) ? $txt['aeva_gallery'] : 'Media';
Кусочек языкового файла модуля медиагалереи
−126
#!/bin/bash
sed -e 's/й/y/g' -i $1
sed -e 's/ц/c/g' -i $1
sed -e 's/у/u/g' -i $1
sed -e 's/к/k/g' -i $1
sed -e 's/е/e/g' -i $1
sed -e 's/н/n/g' -i $1
sed -e 's/г/g/g' -i $1
sed -e 's/ш/sh/g' -i $1
sed -e 's/щ/sch/g' -i $1
sed -e 's/з/z/g' -i $1
sed -e 's/х/h/g' -i $1
sed -e 's/ф/f/g' -i $1
sed -e 's/ы/i/g' -i $1
sed -e 's/в/v/g' -i $1
sed -e 's/а/a/g' -i $1
sed -e 's/п/p/g' -i $1
sed -e 's/р/r/g' -i $1
sed -e 's/о/o/g' -i $1
sed -e 's/л/l/g' -i $1
sed -e 's/д/d/g' -i $1
sed -e 's/ж/j/g' -i $1
sed -e 's/э/e/g' -i $1
sed -e 's/я/ya/g' -i $1
sed -e 's/ч/ch/g' -i $1
sed -e 's/с/s/g' -i $1
sed -e 's/м/m/g' -i $1
sed -e 's/и/i/g' -i $1
sed -e 's/т/t/g' -i $1
sed -e 's/б/b/g' -i $1
sed -e 's/ю/yu/g' -i $1
Перевод в английские буквы
+134
/// <summary>
/// попытка парсинга потока в bool {true,false,1,0} поддерживатеся любой регистр
/// </summary>
/// <param name="lpwcstr">указатель текущую позицию потока</param>
/// <param name="result">результат</param>
/// <returns>см. ParseSucces</returns>
static public ParseSuccess TryParse(ref char* lpwcstr, out bool result)
{
char* cur = lpwcstr;
to_begin:
switch (*cur++)
{
case ' ':
case '\t':
case '\n':
case '\r':goto to_begin;
case '0': lpwcstr = cur; goto to_fail;
case '1': lpwcstr = cur; result = true; return ParseSuccess.Success;
case 't':
case 'T':
switch (*cur++)
{
case 'r':
case 'R': switch (*cur++)
{
case 'u':
case 'U': switch (*cur++)
{
case 'e':
case 'E': lpwcstr = cur; result = true; return ParseSuccess.Success;
default: result = false; return (ParseSuccess)(lpwcstr - cur + 1);
}
default: goto to_fail;
}
default: goto to_fail;
}
case 'f':
case 'F': switch (*cur++)
{
case 'a':
case 'A': switch (*cur++)
{
case 'l':
case 'L': switch (*cur++)
{
case 's':
case 'S': switch (*cur++)
{
case 'e':
case 'E': lpwcstr = cur; result = false; return ParseSuccess.Success;
default: goto to_fail;
}
default: goto to_fail;
}
default: goto to_fail;
}
default: goto to_fail;
}
default: goto to_fail;
}
to_fail:
result = false;
return (ParseSuccess)(lpwcstr - cur + 1);
}
+128
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
int x = Convert.ToInt32(comboBox1.Text);
switch (x)
{
case 2: textBox1.Visible=true;
textBox2.Visible = true;
textBox3.Visible = false;
textBox4.Visible = false;
textBox5.Visible = false;
textBox6.Visible = false;
textBox7.Visible = false;
textBox8.Visible = false;
textBox9.Visible = false;
textBox10.Visible = false;
break;
case 3:
textBox1.Visible = true;
textBox2.Visible = true;
textBox3.Visible = true;
textBox4.Visible = false;
textBox5.Visible = false;
textBox6.Visible = false;
textBox7.Visible = false;
textBox8.Visible = false;
textBox9.Visible = false;
textBox10.Visible = false;
break;
//и так до 10
//...
private void button1_Click(object sender, EventArgs e)
{
double p1 = 1 / Convert.ToDouble(textBox1.Text);
double p2 = 1 / Convert.ToDouble(textBox2.Text);
double p3 = 1 / Convert.ToDouble(textBox3.Text);
double p4 = 1 / Convert.ToDouble(textBox4.Text);
double p5 = 1 / Convert.ToDouble(textBox5.Text);
double p6 = 1 / Convert.ToDouble(textBox6.Text);
double p7 = 1 / Convert.ToDouble(textBox7.Text);
double p8 = 1 / Convert.ToDouble(textBox8.Text);
double p9 = 1 / Convert.ToDouble(textBox9.Text);
double p10 = 1 / Convert.ToDouble(textBox10.Text);
double inv;
int x = Convert.ToInt32(comboBox1.Text);
switch (x)
{
case 2:
inv=(1/p1+1/p2);
break;
case 3:
inv = ((1 / p1) + (1 / p2)+(1/p3));
break;
case 4:
inv = ((1 / p1) + (1 / p2) + (1 / p3)+(1/p4));
break;
case 5:
inv = ((1 / p1) + (1 / p2) + (1 / p3) + (1 / p4)+(1/p5));
break;
case 6:
inv = ((1 / p1) + (1 / p2) + (1 / p3) + (1 / p4) + (1 / p5)+(1/p6));
break;
case 7:
inv = ((1 / p1) + (1 / p2) + (1 / p3) + (1 / p4) + (1 / p5) + (1 / p6) + (1 / p7));
break;
case 8:
inv = ((1 / p1) + (1 / p2) + (1 / p3) + (1 / p4) + (1 / p5) + (1 / p6) + (1 / p7) + (1 / p8));
break;
case 9:
inv = ((1 / p1) + (1 / p2) + (1 / p3) + (1 / p4) + (1 / p5) + (1 / p6) + (1 / p7) + (1 / p8) + (1 / p9));
break;
case 10:
inv = ((1 / p1) + (1 / p2) + (1 / p3) + (1 / p4) + (1 / p5) + (1 / p6) + (1 / p7) + (1 / p8) + (1 / p9) + (1 / p10));
break;
double rez = 1 / inv;
textBox11.Text = Convert.ToString(rez);
}
}