- 1
- 2
define('ASC', 'ASC');
define('DESC', 'DESC');
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+159
define('ASC', 'ASC');
define('DESC', 'DESC');
*facepalm*
+113
public partial class EditorForm : Form
{
private List<IEditObject> _readOnlyObjects;
public IEditObject EditValue {get; set;}
public EditorForm(IEditObject value, List<IEditObject> readOnlyObjects)
{
if (value != null)
{
EditValue = value;
}
if (readOnlyObjects != null && readOnlyObjects.Count > 0)
{
_readOnlyObjects = readOnlyObjects;
}
}
}
Во избежание лишних присвоений.
+157
$comment_msg=$row['comm'];
$comment_msg=cuthtml($comment_msg);
$comment_msg=cutbb($comment_msg);
$comment_msg=wordwrap($comment_msg, 10, " ", 1);
$comment_msg=viewworld($comment_msg,4).$massparam['lastend'];
Один фрагмент из кучки говнокода, относительно популярного скрипта комментариев commentit
+1000
void drawFigure()
{
for(int i=0;i<figMaxI;i++)
for(int j=0;j<figMaxY;j++)
if(figure.space[i][j].wut==1)
{
if(figure.y+i>=2)
if(figureEffekt == 1)
{
engine->drawTexture2D(figure.picture.texID, gameSpace.x+((figure.x+j)*34)-effekt[0].x, gameSpace.y+((figure.y+i)*34)-effekt[0].y, 34, 34, 0.4, 0, 0);
engine->drawTexture2D(figure.picture.texID, gameSpace.x+((figure.x+j)*34)+effekt[0].y, gameSpace.y+((figure.y+i)*34)+effekt[0].x, 34, 34, 0.8, 0, 0);
engine->print(fontAlphabet,0, figure.space[i][j].letter , gameSpace.x+((figure.x+j)*34)+6+effekt[0].y,gameSpace.y+((figure.y+i)*34)+4+effekt[0].x,1,0,2);
}
else
{
engine->drawTexture2D(figure.picture.texID, gameSpace.x+((figure.x+j)*34), gameSpace.y+((figure.y+i)*34), 34, 34, 1, 0, 0);
engine->print(fontAlphabet,0, figure.space[i][j].letter , gameSpace.x+((figure.x+j)*34)+6,gameSpace.y+((figure.y+i)*34)+4,1,0,2);
}
}
}
великое и могучее ООП в действии
+160
public function getInfo() {
if(!$this->id) return false;
if(!isset($this->info->info_info)) $this->fetchInfoFields(array('info_info'));
return $this->info->info_info;
}
Мне стыдно :(
+141
if ((ddlProbType.Text != "" && ddlProbType.Text != "Select") && (txtDesc.Text != ""))
{
if ((txtDesc.Text.Trim() == string.Empty))
{
Indian style: чем больше скобок, тем лучше!
+167
function quests_pickup_found_item($questParam,$userId,$itemId)
{
$DBConnection=connect();
//
$sqlQuery="UPDATE quests_states SET ".
" quest_found_items=CONCAT_WS(',',quest_found_items,'".mysql_real_escape_string($itemId)."'), ".
" quest_last_found_time=".time()." ".
" WHERE quest_id=".mysql_real_escape_string($questParam['quest_id'])." AND ".
" user_id=".mysql_real_escape_string($userId)." ".
" LIMIT 1";
$resultId=@mysql_query($sqlQuery, $DBConnection);
$result=@mysql_affected_rows($resultId);
return true;
}
// Функция проверяет,может ли юзер в данный момент вообще брать квесты (может он уже взял квест).
// Внимание,функция НИ ХУЯ НЕ ПРОВЕРЯЕТ текущую локацию юзера,так что это на вашей совести (я понимаю,что ее нет,но все же).
function quests_check_user_any_quests_awailable($userInfo)
{
// И ЧТО ТЫ ТУТ ХОТЕЛ УВИДЕТЬ?
}
function quests_set_dead_npc($userId,$deadNpc)
{
$DBConnection=connect();
$sqlQuery="INSERT INTO quests_dead_npc SET user_id='".mysql_real_escape_string($userId)."', npc_id='".mysql_real_escape_string($deadNpc)."' ";
$resultId=@mysql_query($sqlQuery, $DBConnection);
if(!$resultId)
{
return false;
А вам слабо в каждой функции устанавливать соединение с базой?
P.S. Ну и коменты к функции quests_check_user_any_quests_awailable() тоже хороши. Сразу видна забота о других программистах,котрым это все поддерживать.
−118
if (ABS((int)debt.amount) == (int)debt.amount) {
...
}
+147
<?php
class Bot {
public $brouser = 'Opera/9.60 (J2ME/MIDP; Opera Mini/4.2.14912/812; U; ru) Presto/2.4.15';
public $wait_ot = 1;
public $wait_do = 3;
public $log_url = "";
public $sir_e;
private $ch;
private $php_sesid;
private $domen = 'http://rugame.mobi/';
public function __construct($user_agent, $wait_ot, $wait_do, $log_url, $sir_e = 1) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIESESSION, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $this->brouser);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$this->ch = $ch;
if(($sir_e != 1) AND ($sir_e != 0)){
$this->sir_e = $sir_e;
}
if($user_agent != ""){
$this->brouser = $user_agent;
}
if(($wait_ot AND $wait_do) != 0){
$this->wait_ot = $wait_ot;
$this->wait_do = $wait_do;
}
if($log_url != ""){
$this->login($log_url);
}else{
die("Ошибка: в настройках не прописаны ссылка для логина \n");
}
}
private function __go($url){
if($this->php_sesid == 0){
$url = $this->domen.$url;
}
elseif(preg_match_all('#\?(.*)#ismU', $url, $matches) == 0){
$url = $this->domen.$url.'?PHPSESSID='.$this->php_sesid;
} else {
$url = $this->domen.$url.'&PHPSESSID='.$this->php_sesid;
}
sleep(rand($this->wait_ot, $this->wait_do));
curl_setopt($this->ch, CURLOPT_URL, $url);
echo '__go(\' '.$url.' \')<br />';
return curl_exec($this->ch);
}
public function login($log_url) {
do{
preg_match_all('#PHPSESSID=(.*)"#ismU', $this->__go($log_url), $matches);
}while($matches[1][0] == 0);
$this->php_sesid = $matches[1][0];
$this->__go('mgame/');
$this->__go('mx/');
}
public function find_and_execute(){
$actions = array(
///////////////////////////////////
/// Действия в разделе "рудники"///
///////////////////////////////////
'mx/?w_fd=', // Накормить шахтера
'mx/?t_md=', // Заправить технику
'mx/?s_rs=', // Добывать сырьё
'mx/?s_en=', // Взорвать породу
'mx/?s_ip=', // Разведать породу
'mx/?s_in=', // Забрать породу
);
$data = $this->__go('mx/?gt=1');
foreach($actions as $act){
$pattern = str_replace("?", "\?",'#'.$act.'(.*)&PHPSESSID#');
preg_match_all($pattern, $data, $matches);
if($matches[1] != 0){
foreach ($matches[1] as $id_rudnik){
if($act == 'mx/?s_rs='){
list($rudnik, $sir_e) = explode("_", $id_rudnik);
$this->__go($act.$rudnik."_".$this->sir_e);
}else{
$this->__go($act.$id_rudnik);
}
}
}
}
}
}
require ('/config/config.php');
$bot = new Bot($user_agent, $wait_ot, $wait_do, $log_url, $sir_e);
$bot->find_and_execute();
unset($bot);//освободим память (спец. для govnokod.ru)
exit("Я что смог сделал, пока");//пока пока
Моя первая попытка написать класс бота для он-лайн игрушки... Процедура find_and_execute() убивает самого на повал, так как в ней есть что-то запутанное после объявления массива . Но всё работает так как надо, так что я справился с задачей, и результат этому - ГОВНОКОД =D
+130
li.sexy-diigo, li.sexy-diigo:hover, li.sexy-digg, li.sexy-digg:hover, li.sexy-reddit, li.sexy-reddit:hover, li.sexy-stumbleupon, li.sexy-stumbleupon:hover, li.sexy-delicious, li.sexy-delicious:hover, li.sexy-yahoobuzz, li.sexy-yahoobuzz:hover, li.sexy-blinklist, li.sexy-blinklist:hover, li.sexy-technorati, li.sexy-technorati:hover, li.sexy-facebook, li.sexy-facebook:hover, li.sexy-twitter, li.sexy-twitter:hover, li.sexy-myspace, li.sexy-myspace:hover, li.sexy-mixx, li.sexy-mixx:hover, li.sexy-scriptstyle, li.sexy-scriptstyle:hover, li.sexy-designfloat, li.sexy-designfloat:hover, li.sexy-mail, li.sexy-mail:hover, li.sexy-comfeed, li.sexy-comfeed:hover, li.sexy-newsvine, li.sexy-newsvine:hover, li.sexy-devmarks, li.sexy-devmarks:hover, li.sexy-linkedin, li.sexy-linkedin:hover, li.sexy-google, li.sexy-google:hover, li.sexy-misterwong, li.sexy-misterwong:hover, li.sexy-izeby, li.sexy-izeby:hover, li.sexy-twittley, li.sexy-twittley:hover, li.sexy-tipd, li.sexy-tipd:hover, li.sexy-pfbuzz, li.sexy-pfbuzz:hover, li.sexy-friendfeed, li.sexy-friendfeed:hover, li.sexy-blogmarks, li.sexy-blogmarks:hover, li.sexy-fwisp, li.sexy-fwisp:hover, li.sexy-designmoo, li.sexy-designmoo:hover, li.sexy-bobrdobr, li.sexy-bobrdobr:hover, li.sexy-yandex, li.sexy-yandex:hover, li.sexy-memoryru, li.sexy-memoryru:hover, li.sexy-100zakladok, li.sexy-100zakladok:hover, li.sexy-moemesto, li.sexy-moemesto:hover, li.sexy-ning, li.sexy-ning:hover, li.sexy-hackernews, li.sexy-hackernews:hover, li.sexy-identica, li.sexy-identica:hover, li.sexy-printfriendly, li.sexy-printfriendly:hover, li.sexy-designbump, li.sexy-designbump:hover, li.sexy-fleck, li.sexy-fleck:hover, li.sexy-netvibes, li.sexy-netvibes:hover, li.sexy-netvouz, li.sexy-netvouz:hover, li.sexy-nujij, li.sexy-nujij:hover, li.sexy-globalgrind, li.sexy-globalgrind:hover, li.sexy-wikio, li.sexy-wikio:hover, li.sexy-xerpi, li.sexy-xerpi:hover, li.sexy-sphinn, li.sexy-sphinn:hover, li.sexy-blogospherenews, li.sexy-blogospherenews:hover, li.sexy-posterous, li.sexy-posterous:hover, li.sexy-techmeme, li.sexy-techmeme:hover, li.sexy-ekudos, li.sexy-ekudos:hover, li.sexy-pingfm, li.sexy-pingfm:hover, li.sexy-tomuse, li.sexy-tomuse:hover {
background:url('sexy-sprite.png') no-repeat !important;
}
Красивая реализация знатных социальных кнопок... Хотя можно и
ul.socials li {
background:url('sexy-sprite.png') no-repeat;
}