- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
void Foo::singleShot()
{
QTime delay = QTime::currentTime().addMSecs(50);
while(QTime::currentTime() < delay ) {
QCoreApplication::processEvents(QEventLoop::AllEvents, 5;
}
// do something
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
void Foo::singleShot()
{
QTime delay = QTime::currentTime().addMSecs(50);
while(QTime::currentTime() < delay ) {
QCoreApplication::processEvents(QEventLoop::AllEvents, 5;
}
// do something
}
Вот такой бриллиант инженерной мысли, написанный с использованием фреймворка Qt.
Товарисч ещё спрашивал, чем его реализация хуже чем QTimer::singleShot() :D
−2
Какой есть аналог класса для данных?
class Record():
pass
r = Record()
r. asd = 1
Заебало класс объявлять, неужели для такого элементарного случая ничего не придумали?
−2
static func == (lhs: Card, rhs: Card) -> Bool {
return (lhs.color == rhs.color &&
lhs.number == rhs.number &&
lhs.shading == rhs.shading &&
lhs.symbol == rhs.symbol) ||
(lhs.color == rhs.color &&
lhs.number != rhs.number &&
lhs.shading != rhs.shading &&
lhs.symbol != rhs.symbol) ||
(lhs.color != rhs.color &&
lhs.number == rhs.number &&
lhs.shading != rhs.shading &&
lhs.symbol != rhs.symbol) ||
(lhs.color != rhs.color &&
lhs.number != rhs.number &&
lhs.shading == rhs.shading &&
lhs.symbol != rhs.symbol) ||
(lhs.color != rhs.color &&
lhs.number != rhs.number &&
lhs.shading != rhs.shading &&
lhs.symbol == rhs.symbol) ||
(lhs.color != rhs.color &&
lhs.number != rhs.number &&
lhs.shading != rhs.shading &&
lhs.symbol != rhs.symbol)
}
Пытаюсь реализовать правила игры в Set протоколом Equatable. Говнокод?
−3
from random import choice
noun = ['пони', 'анус', 'синхрофазатрон', 'погромист', 'хуй', 'шланг', 'гцц', 'соснолька', 'хуита', 'говно', 'питушня', 'лалка', 'питон', 'енот', 'ватник', 'пидорашка', 'шиндос', 'линупс', 'жопа', 'дед мороз']
verb = ['срёт', 'падает', 'бесит', 'пиздит', 'летает', 'сосёт', 'бегает']
adj = ['сраный', 'ёбаный', 'розовый', 'коричневый', 'охуенный', 'пиздатый', 'тупой', 'ебучий', '']
templates = [
[adj, noun, verb],
[adj, noun],
[noun, ['говно']],
[['У тебя'], adj, noun, verb],
[['У тебя'], adj, noun],
[['Какого хуя'], adj, noun, verb, ['\b?']],
[['Почему'], noun, verb, ['\b?']],
[['Что такое'], noun, ['\b?']],
[adj, noun, verb, 'и', verb],
[noun, verb, ['\b, a'], noun, verb],
]
bububu = lambda: (lambda s: s[0].capitalize() + s[1:] + (choice('.!?') if s[-1] not in '.!?' else ''))(' '.join(i for i in map(choice, choice(templates)) if i))
for _ in range(30):
print(bububu())
https://ideone.com/oOwyzI
Просто от неча делать...
0
Серьёзный вопрос к местным игроделам:
А есть ли какое-нибудь универсальное исследование, которое говорит, как должны быть устроены формулки в rpg/mmorpg?
Типа что номер уровня должен зависеть как корень степени 2.8 от количества exp, hp -- линейно от str и int, а дамаг -- как среднее геометрическое дамага перса и дамага его оружия.
Пробовал гуглить/читать геймдев -- нашёл только пространственные рассуждения "начни делать хоть как-то, а потом с помощью говна и палок отбалансируй".
P.S. Да, я хочу написать игру и сидеть в неё играть.
0
list.forEach((element1) => {
if (element1.parent_id == null){
output.push(element1);
list.forEach((element2) => {
if (element2.parent_id == element1.id) {
output.push(element2);
list.forEach((element3) => {
if (element3.parent_id == element2.id) {
output.push(element3);
list.forEach((element4) => {
if (element4.parent_id == element3.id) {
output.push(element4);
}
})
}
})
}
})
}
})
Super forEach
0
Прыщеговно
Explanation: The issue stemmed from two issues one in normpath and the other in os.path.join. It turns out that when normpath (or abspath) gets an absolute path starting with a single slash or 3+ slashes, the result would have a single slash. However, if the input had exactly two leading slashes the output will retain them. This behavior conforms to an obscore passage in the POSIX standard (last paragraph):
A pathname that begins with two successive slashes may be interpreted in an implementation-defined manner, although more than two leading slashes shall be treated as a single slash.
normpath и abspath из os.path
+1
In [42]: os.path.join(r'c:\asd', r'c:\www')
Out[42]: 'c:\\www'
Нахуя???
+2
https://habr.com/post/358974/
"Как обновление Rust 1.26 ускорило мой код в три с лишним раза"
Яркий пример того, как человек не понимает как работает его код.
И кое-то говорит, что Си - говно
0
def sql_select_filter(sql, flt, order=None, limit=None, offset=None, group_by=None, lock=None, withSelectWrapper=True):
if withSelectWrapper and group_by is None:
if re.search(r'^\s*select\s+', sql, flags=re.IGNORECASE | re.MULTILINE):
sql = "SELECT * FROM ( " + sql + " ) as z99 "
else:
sql = "SELECT * FROM " + sql + " "
sql = sql.replace("%", '%%')
where, vals = _make_where_conditions(flt)
if where is not None:
sql += " WHERE " + where
if group_by is not None and len(group_by):
sql += " GROUP BY " + ",".join(group_by)
if order is not None and len(order):
order_fields = []
for field, direction in order.items():
order_fields.append(field + " " + direction)
sql += " ORDER BY " + ",".join(order_fields)
if limit is not None:
sql += " LIMIT %s"
vals.append(limit)
if offset is not None:
sql += " OFFSET %s"
vals.append(offset)
if lock is not None:
sql += " FOR " + lock
return sql, vals
Конструктор SQL запроосов, все очень секурно!