- 1
- 2
- 3
https://github.com/VKCOM/bot-example-php/blob/master/html/bot/bot.php
В великом и недосягаемом "ВКонтакте" переменные в текст по-прежнему включают с помощью фигурных скобок.
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
https://github.com/VKCOM/bot-example-php/blob/master/html/bot/bot.php
В великом и недосягаемом "ВКонтакте" переменные в текст по-прежнему включают с помощью фигурных скобок.
+1
#define SPLICE(a,b) a##b
#define LL(a,b) SPLICE(a,b)
#define M(name) LL(NS,name)
#define NS ns1_
void M(somefunction)(){
}
#undef NS
#define NS ns2_
void M(somefunction)(){
}
#undef NS
#define NS ns3_
void M(somefunction)(){
}
#undef NS
неймспейсы в Си на препроцессоре
+2
#include <iostream>
#include <Windows.h>
#define OCT_1 0
#define OCT_2 12
#define OCT_3 24
#define OCT_4 36
#define OCT_5 48
#define OCT_6 60
#define OCT_7 72
#define OCT_8 84
#define OCT_9 96
#define NOTE_C 0
#define NOTE_Ch 1
#define NOTE_Db 1
#define NOTE_D 2
#define NOTE_Dh 3
#define NOTE_Eb 3
#define NOTE_E 4
#define NOTE_F 5
#define NOTE_Fh 6
#define NOTE_Gb 6
#define NOTE_G 7
#define NOTE_Gh 8
#define NOTE_Ab 8
#define NOTE_A 9
#define NOTE_Ah 10
#define NOTE_Bb 10
#define NOTE_B 11
long double notes[200];
#define TEMPO 100
#define LEN1 (120000 / TEMPO)
#define LEN2 (LEN1 / 2)
#define LEN4 (LEN1 / 4)
#define LEN8 (LEN1 / 8)
#define LEN16 (LEN1 / 16)
#define melody_len 28
struct s {
int key, len;
s(int key, int len) {
this->key = key;
this->len = len;
}
} melody[melody_len] = {
s(OCT_4 + NOTE_E, LEN8),
s(OCT_4 + NOTE_E, LEN8),
s(OCT_5 + NOTE_C, LEN4),
s(OCT_4 + NOTE_E, LEN8),
s(OCT_4 + NOTE_E, LEN8),
s(OCT_5 + NOTE_C, LEN4),
s(OCT_5 + NOTE_C, LEN8),
s(OCT_5 + NOTE_C, LEN8),
s(OCT_4 + NOTE_B, LEN8),
s(OCT_4 + NOTE_B, LEN8),
s(OCT_5 + NOTE_C, LEN8),
s(OCT_5 + NOTE_C, LEN8),
s(OCT_4 + NOTE_E, LEN4),
s(OCT_5 + NOTE_E, LEN8),
s(OCT_5 + NOTE_E, LEN8),
s(OCT_4 + NOTE_D, LEN8),
s(OCT_4 + NOTE_D, LEN8),
s(OCT_5 + NOTE_E, LEN8),
s(OCT_5 + NOTE_E, LEN8),
s(OCT_4 + NOTE_B, LEN8),
s(OCT_4 + NOTE_B, LEN8),
s(OCT_5 + NOTE_C, LEN8),
s(OCT_5 + NOTE_C, LEN8),
s(OCT_4 + NOTE_B, LEN8),
s(OCT_4 + NOTE_B, LEN8),
s(OCT_5 + NOTE_C, LEN8),
s(OCT_5 + NOTE_C, LEN8),
s(OCT_4 + NOTE_E, LEN4),
};
int main(int argc, char** argv) {
notes[0] = 32.7032;
for(int i = 1; i < 200; ++i)
notes[i] = notes[i - 1] * 1.05946309436;
for(int i = 0; i < melody_len; ++i) {
int key = melody[i].key;
int len = melody[i].len;
if(key < 0) Sleep(len);
else Beep(notes[key], len);
}
return 0;
}
Дохуя мелодия... с 1 класса музыкалки...
0
#include "hex.h"
#include "aes.h"
#include <stdio.h>
#define KEY (0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c)
#define DATA (0x32, 0x43, 0xf6, 0xa8, 0x88, 0x5a, 0x30, 0x8d, 0x31, 0x31, 0x98, 0xa2, 0xe0, 0x37, 0x07, 0x34)
unsigned char enc[] = { BPP_AES_ENCRYPT_ARRAY(KEY, DATA) };
int main() {
for (int i=0; i<sizeof(enc); ++i) {
printf("%02X ", enc[i]);
}
printf("\n");
return 0;
−18
А ведь и так можно обойти таблицу значений, если подойти к задаче творчески!
Счетчик=0;
Пока 1=1 Цикл
Если Счетчик>=Табл.Количество() Тогда
Прервать;
КонецЕсли;
Стр=Табл[Счетчик];
//.....
//Здесь лютый говнокод,
//не имеющий отношения к этому фееричному паттерну "Итератор"!
// .....
КонецЕсли;
Паттерн "Итератор" для 1С 8.
+3
//Функция возвращает упорядоченную строку значений параметров POST-запроса
function getReqParams(){
$reqparams = "";
ksort($_POST);
foreach ($_POST as $param => $valuep) {
$reqparams = "$reqparams|$valuep";
}
return substr($reqparams,1);
}
//Извлечение цифровой подписи из заголовков запроса
function getSign(){
$HEADERS = getallheaders();
foreach ($HEADERS as $header => $value) {
if ($header == 'X-Api-Signature') {
$SIGN_REQ = $value;
}
}
return $SIGN_REQ;
}
QIWI Official Documentation
Псс… посоны, у нас тут есть кусок из оф. документации QIWI. Зацените ))
+5
static public function Current()
{
return mktime(date('H', time()),date('i', time()), 0, date('m', time()), date('d', time()), date('Y', time()));
}
static public function CurrentDate()
{
return mktime(0, 0, 0, date('m', time()), date('d', time()), date('Y', time()));
}
static public function YesterdayDate()
{
$time = time()-86400;
return mktime(0, 0, 0, date('m', $time), date('d', $time), date('Y', $time));
}
Класс для работы с датой. Тяжелый случай...
+5
Ура, WCT
https://habrahabr.ru/post/305190/
+2
https://whydoesitsuck.com/cpp-sucks-for-a-reason/
0
...
scr[6][0] = '\\'; scr[6][1] = '\\';//прорисовка корабля
scr[7][0] = '3'; scr[7][1] = '='; scr[7][2] = '=';
scr[8][0] = '/'; scr[8][1] = '/';
...
if (_kbhit())//если клавиша была нажата
{
control = _getch();//переменная примет ее значение
if (control == 224)
control = _getch();
}
if (control == 72)//при движении корабля вверх
if (scr[2][0] == '\\' || scr[3][0] == '\\' && scr[2][0] == '¤' || scr[3][1] == '\\' && scr[2][1] == '¤')//если корабль врезался в верхнее поле - игра окончена
if (lifes > 1)
{
cout << '\a';
lifes--;
weaponPos = 7;
GameStart(scr, lifes, &timer);
Sleep(1000);
}
else
GameOver(odometer);
else
{
for (int i = 2; i < 13; i++)//корабль смещается на элемент выше
for (int j = 0; j < 49; j++)
if (scr[i][j] == '3' || scr[i][j] == '\\' || scr[i][j] == '=' || scr[i][j] == '/')
{
scr[i - 1][j] = scr[i][j];
scr[i][j] = ' ';
}
weaponPos--;
}
if (control == 80)//при движении корабля вниз
if (scr[12][0] == '/' || scr[11][0] == '/' && scr[12][0] == '¤' || scr[11][1] == '/' && scr[12][1] == '¤')//если корабль врезался в нижнее поле - игра окончена
if (lifes > 1)
{
cout << '\a';
lifes--;
weaponPos = 7;
GameStart(scr, lifes, &timer);
Sleep(1000);
}
else
GameOver(odometer);
else
{
for (int i = 12; i >= 2; i--)//корабль смещается на элемент вниз
for (int j = 0; j < 49; j++)
if (scr[i][j] == '3' || scr[i][j] == '\\' || scr[i][j] == '=' || scr[i][j] == '/')
{
scr[i + 1][j] = scr[i][j];
scr[i][j] = ' ';
}
weaponPos++;
}
...
И многое другое на https://habrahabr.ru/post/304448/