- 1
https://github.com/wiistriker/govnokod.ru
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+86
https://github.com/wiistriker/govnokod.ru
Развлечемся?
+86
Function TMainForm.PrimGenerateMaze(Width, Height: Integer): Maze;
Type Point = record
x, y: Integer;
end;
Var
TehMaze: Maze;
Todo: array of Point;
todonum: integer;
x,y,n,d: integer;
Const
dx: array [0..3] of Integer = (0, 0, -1, 1);
dy: array [0..3] of Integer = (-1, 1, 0, 0);
BEGIN
SetLength(TehMaze, Width, Height);
SetLength(Todo, (Width * Height) - 1);
For x:=0 to Width-1 do
For y:=0 to Height-1 do
If (x = 0) or (x = Width-1) or (y = 0) or (y = Height-1) then
TehMaze[x][y]:=32
Else TehMaze[x][y]:=63;
Randomize;
x := Random(Width-2)+1;
y := Random(Height-2)+1;
todonum := 0;
TehMaze[x][y]:= TehMaze[x][y] and not 48; // Пометить клетку как принадлежащую лабиринту
// Пока не обработаны все клетки
Repeat
Begin
// Занести в список todo все ближайшие необработанные клетки
For d:=0 to 3 do
if (TehMaze[x + dx[d]][y + dy[d]] and 16) <> 0 then
Begin
todo[todonum].x := x + dx[d];
todo[todonum].y := y + dy[d];
Inc(todonum);
TehMaze[x + dx[d]][y + dy[d]] := TehMaze[x + dx[d]][y + dy[d]] and not 16;
End;
// Выбрать из списка todo произвольную клетку
n:= Random(todoNum);
x:= ToDo[n].x;
y:= ToDo[n].y;
// Удалить из списка обработанную клетку
Dec(todonum);
ToDo[n]:= todo[todonum];
// Выбрать направление, которое ведет к лабиринту
Repeat
d:=Random(4);
Until ((TehMaze[x + dx[d]][y + dy[d]] and 32) = 0);
// Присоединить выбранную клетку к лабиринту
TehMaze[x][y] := TehMaze[x][y] and not ((1 shl d) or 32);
TehMaze[x + dx[d]][y + dy[d]] := TehMaze[x + dx[d]][y + dy[d]] and not (1 shl (d xor 1));
End;
Until (todonum = 0);
TehMaze[1][1] := TehMaze[1][1] and -2; // начало лабиринта - в левом верхнем углу
TehMaze[Width-2][Height-2] := TehMaze[Width-2][Height-2] and not 2; // конец лабиринта - в правом нижнем углу
Result := TehMaze;
END;
Генерация лабиринтов по алгоритму Прима.
+86
public static String serialize3(IModellingWorkerSetup r) {
return serialize(serialize(serialize(r)));
}
как вы понимаете, есть и обратное преобразование
+86
protected void ListViewAlerts_ItemCommand(object sender, ListViewCommandEventArgs e)
{
int commandArgument = e.Item.DataItemIndex;
var listViewDataItem = (HiddenField)ListViewAlertRegistry.Items[commandArgument].Controls[3];
int id = Convert.ToInt32(listViewDataItem.Value);
.....
}
Из рабочего проекта. Новый способ узнать id item'а listview. Видимо свойство DataKeyNames кодеру незнакомо - id берет из hiddenfield, причем выбирает этот hiddenfield не по его id, а по позиции контрола по счету в строке. Добавляем еще один элемент в listview, и соответственно метод валится.
+86
int createStageCycles = 0;
createStageCycles = Integer.parseInt(strCycle);
int nextVal = new Integer(createStageCycles) + 1;
int двойного отжима
+86
if (bindingContext != null && files != null) {
if (files != null && bindingContext != null) {
// bla-bla
}
}
I want to be sure!
+86
<?
function anti_sql($expressao) {
$inject=0;
$expressao = strtolower($expressao);
//arrays com palavras e caracteres invalidos
$badword1 = array("' or 0=0 --",'" or 0=0 --',"or 0=0 --","' or 0=0 #","admin'--",'" or 0=0 #',"or 0=0 #","' or 'x'='x",'" or "x"="x',"') or ('x'='x","' or 1=1--",'" or 1=1--',"or 1=1--","' or a=a--",'" or "a"="a',"') or ('a'='a",'") or ("a"="a','hi" or "a"="a','hi" or 1=1 --',"hi' or 1=1 --","hi' or 'a'='a","hi') or ('a'='a",'hi") or ("a"="a',"or '1=1'");
$badword2 = array("select", " select","select "," insert"," update","update "," delete","delete "," drop","drop "," destroy","destroy ");
for($i=0;$i<sizeof($badword1);$i++) {
if(substr_count($expressao,$badword1[$i])!=0)
$inject=1;
}
for($i=0;$i<sizeof($badword2);$i++) {
if(substr_count($expressao,$badword2[$i])!=0)
$inject=1;
}
$charvalidos = "abcdefghijklmnopqrstuvwxyz0123456789БАГВЗЙИКНМУТФХЪЩЬСбагвзйикнмутфхъщьс!?@#$%&(){}[]:;,.-_ ";
for($i=0;$i<strlen($expressao);$i++) {
$char = substr($expressao,$i,1);
if(substr_count($charvalidos,$char)==0)
$inject=1;
}
return($inject);
}
?>
Эх, португальские кодеры...
+86
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Sdbankpd sdbankpd = (Sdbankpd) o;
if (bjbank != null ? !bjbank.equals(sdbankpd.bjbank) : sdbankpd.bjbank != null) return false;
if (bjbvpd != null ? !bjbvpd.equals(sdbankpd.bjbvpd) : sdbankpd.bjbvpd != null) return false;
if (bjcncd != null ? !bjcncd.equals(sdbankpd.bjcncd) : sdbankpd.bjcncd != null) return false;
if (bjcust != null ? !bjcust.equals(sdbankpd.bjcust) : sdbankpd.bjcust != null) return false;
if (bjcycd != null ? !bjcycd.equals(sdbankpd.bjcycd) : sdbankpd.bjcycd != null) return false;
if (bjdfin != null ? !bjdfin.equals(sdbankpd.bjdfin) : sdbankpd.bjdfin != null) return false;
if (bjdnwd != null ? !bjdnwd.equals(sdbankpd.bjdnwd) : sdbankpd.bjdnwd != null) return false;
if (bjefmt != null ? !bjefmt.equals(sdbankpd.bjefmt) : sdbankpd.bjefmt != null) return false;
if (bjeyd != null ? !bjeyd.equals(sdbankpd.bjeyd) : sdbankpd.bjeyd != null) return false;
if (bjhocy != null ? !bjhocy.equals(sdbankpd.bjhocy) : sdbankpd.bjhocy != null) return false;
if (bjlccy != null ? !bjlccy.equals(sdbankpd.bjlccy) : sdbankpd.bjlccy != null) return false;
if (bjlcd != null ? !bjlcd.equals(sdbankpd.bjlcd) : sdbankpd.bjlcd != null) return false;
if (bjmdel != null ? !bjmdel.equals(sdbankpd.bjmdel) : sdbankpd.bjmdel != null) return false;
if (bjmodt != null ? !bjmodt.equals(sdbankpd.bjmodt) : sdbankpd.bjmodt != null) return false;
if (bjmrdt != null ? !bjmrdt.equals(sdbankpd.bjmrdt) : sdbankpd.bjmrdt != null) return false;
if (bjpcfq != null ? !bjpcfq.equals(sdbankpd.bjpcfq) : sdbankpd.bjpcfq != null) return false;
if (bjpcfu != null ? !bjpcfu.equals(sdbankpd.bjpcfu) : sdbankpd.bjpcfu != null) return false;
if (bjpeyd != null ? !bjpeyd.equals(sdbankpd.bjpeyd) : sdbankpd.bjpeyd != null) return false;
if (bjrdnb != null ? !bjrdnb.equals(sdbankpd.bjrdnb) : sdbankpd.bjrdnb != null) return false;
if (bjsbrc != null ? !bjsbrc.equals(sdbankpd.bjsbrc) : sdbankpd.bjsbrc != null) return false;
if (bjslcd != null ? !bjslcd.equals(sdbankpd.bjslcd) : sdbankpd.bjslcd != null) return false;
if (bjsuc != null ? !bjsuc.equals(sdbankpd.bjsuc) : sdbankpd.bjsuc != null) return false;
if (bjtylc != null ? !bjtylc.equals(sdbankpd.bjtylc) : sdbankpd.bjtylc != null) return false;
if (bjurpt != null ? !bjurpt.equals(sdbankpd.bjurpt) : sdbankpd.bjurpt != null) return false;
if (bjzone != null ? !bjzone.equals(sdbankpd.bjzone) : sdbankpd.bjzone != null) return false;
return true;
}
Обработка резальтов селекта
+86
public void type(char character) {
switch (character) {
case 'a': doType(VK_A); break;
case 'b': doType(VK_B); break;
case 'c': doType(VK_C); break;
case 'd': doType(VK_D); break;
case 'e': doType(VK_E); break;
case 'f': doType(VK_F); break;
case 'g': doType(VK_G); break;
case 'h': doType(VK_H); break;
case 'i': doType(VK_I); break;
case 'j': doType(VK_J); break;
case 'k': doType(VK_K); break;
case 'l': doType(VK_L); break;
case 'm': doType(VK_M); break;
case 'n': doType(VK_N); break;
case 'o': doType(VK_O); break;
case 'p': doType(VK_P); break;
case 'q': doType(VK_Q); break;
case 'r': doType(VK_R); break;
case 's': doType(VK_S); break;
case 't': doType(VK_T); break;
case 'u': doType(VK_U); break;
case 'v': doType(VK_V); break;
case 'w': doType(VK_W); break;
case 'x': doType(VK_X); break;
case 'y': doType(VK_Y); break;
case 'z': doType(VK_Z); break;
case 'A': doType(VK_SHIFT, VK_A); break;
case 'B': doType(VK_SHIFT, VK_B); break;
case 'C': doType(VK_SHIFT, VK_C); break;
case 'D': doType(VK_SHIFT, VK_D); break;
case 'E': doType(VK_SHIFT, VK_E); break;
<...>
case '$': doType(VK_DOLLAR); break;
case '%': doType(VK_SHIFT, VK_5); break;
case '^': doType(VK_CIRCUMFLEX); break;
case '&': doType(VK_AMPERSAND); break;
case '*': doType(VK_ASTERISK); break;
case '(': doType(VK_LEFT_PARENTHESIS); break;
case ')': doType(VK_RIGHT_PARENTHESIS); break;
case '_': doType(VK_UNDERSCORE); break;
case '+': doType(VK_PLUS); break;
case '\t': doType(VK_TAB); break;
case '\n': doType(VK_ENTER); break;
case '[': doType(VK_OPEN_BRACKET); break;
case ']': doType(VK_CLOSE_BRACKET); break;
case '\\': doType(VK_BACK_SLASH); break;
case '{': doType(VK_SHIFT, VK_OPEN_BRACKET); break;
case '}': doType(VK_SHIFT, VK_CLOSE_BRACKET); break;
case '|': doType(VK_SHIFT, VK_BACK_SLASH); break;
case ';': doType(VK_SEMICOLON); break;
case ':': doType(VK_COLON); break;
case '\'': doType(VK_QUOTE); break;
case '"': doType(VK_QUOTEDBL); break;
case ',': doType(VK_COMMA); break;
case '<': doType(VK_LESS); break;
case '.': doType(VK_PERIOD); break;
case '>': doType(VK_GREATER); break;
case '/': doType(VK_SLASH); break;
case '?': doType(VK_SHIFT, VK_SLASH); break;
case ' ': doType(VK_SPACE); break;
default:
http://stackoverflow.com/questions/1248510/convert-string-to-keyevents
Конвертируем символы в клавиши.
Боян, да. Но теперь на джаве. Кстати, автор забыл про toLower и toUpper.
+86
private static void slowDownABit() {
for (int i = 0; i < 100; i++) {
new Thread() {
@Override
public void run() {
for (int i = 0; i < 10000000; i++) {
double d1 = Math.random() + 1;
double d2 = Math.random() + 1;
double d3 = Math.random() + 1;
double d4 = Math.random() + 1;
double d = d1 * d2 / d3 / d4 * Math.sin(Math.random());
}
}
}.start();
}
}