- 1
Эмуляторы
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−5
Эмуляторы
Объясните пожалуйста, почему пишут эмуляторы всяких там GBA, но нет ни одного транслятора в самодостаточную программу? И почему все заботься о том, что бы эмулятор работал с такой же скоростью, как и настоящий процессор?
0
// ==UserScript==
// @name syomaGKignore
// @description x-cross to ban GK users for syoma
// @version 0
// @match http://govnokod.ru/*
// @match http://www.govnokod.ru/*
// @grant none
// ==/UserScript==
window.addEventListener('load', function() {
localStorage.setItem('banned', localStorage.getItem('banned') || JSON.stringify([]));
var banned = JSON.parse(localStorage.getItem('banned'));
for (var i = 0; i < banned.length; i++) {
var hide = document.querySelectorAll('.entry-author a[href$="/' + banned[i] + '"]');
for (var j = 0; j < hide.length; j++) {
hide[j].parentNode.parentNode.parentNode.style.display = 'none';
}
}
var count = document.querySelector('.enrty-comments-count');
count.style.cursor = 'pointer';
count.addEventListener('click', function() {
localStorage.setItem('banned', JSON.stringify([]));
location.reload();
});
var votes = document.querySelectorAll('.comment-vote');
for (var i = 0; i < votes.length; i++) {
var cross = document.createElement('div');
cross.innerHTML = '☓';
cross.style.display = 'inline-block';
cross.style.color = 'black';
cross.style.marginLeft = '10px';
cross.style.cursor = 'pointer';
cross.addEventListener('click', function() {
var id = this.parentNode.querySelector('.entry-author a').href.replace(/^.*\//, '');
var banned = JSON.parse(localStorage.getItem('banned'));
if (banned.indexOf(id) < 0)
banned.push(id);
localStorage.setItem('banned', JSON.stringify(banned));
location.reload();
});
votes[i].parentNode.insertBefore(cross, votes[i]);
}
});
Крестик для Сёмы на чистейшем JS, без $ и сложных евентов на аяксы. Работает только на страницах конкретных постов (другие и не нужны, с бормандстока кликнул по ссылке — попал куда надо), и только после полной загрузки страницы. Разбанить всех — это клик по цифре с общим количеством комментариев под постом, рядом со ссылкой на RSS.
0
import java.io.*;
class Player {
String name;
int ch;
}
class PlayerTestDrive{
public static void main(String[] args) throws Exception{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int count = 0;
int count1 = 0;
Player p1 = new Player();
Player p2 = new Player();
System.out.print("Введите имя первого игрока: ");
p1.name = reader.readLine();
System.out.print("Введите имя второго игрока: ");
p2.name = reader.readLine();
System.out.print(p1.name + ", введите число: ");
p1.ch = Integer.parseInt(reader.readLine());
System.out.print(p2.name + ", введите число: ");
p2.ch = Integer.parseInt(reader.readLine());
int[] a = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int aL = a.length;
int rand = (int)(Math.random() * aL);
if (rand == p1.ch){
count = 1;
}
if (rand == p2.ch){
count1 = 1;
}
if (count > count1){
System.out.println(p1.name + ", вы победили!");
}else if(count < count1){
System.out.println(p2.name + ", вы победили!");
}else{
System.out.println("Ничья, попробуйте еще раз!");
}
}
}
Игра! Два игрока вводят числа с клавиатуры от 1 до 10 , если введенное число какого-либо игрока совпадает с рандомным числом, то он становится победителем, если нет, то игра начинается еще раз! ПРОШУ СТРОГОЙ КРИТИКИ!
+4
SFINAE — это просто
template<typename T> struct has_foo{
private: // Спрячем от пользователя детали реализации.
static int detect(...); // Статическую функцию и вызывать проще.
template<typename U> static decltype(std::declval<U>().foo(42)) detect(const U&);
public:
static constexpr bool value = std::is_same<void, decltype(detect(std::declval<T>()))>::value; // Вот видите, готово.
};
Программирование на "Modern C++" всё больше и больше становится похожим на отчаянную попытку выебать козла плазменным телевизором.
via h/205772
−16
char *cat2(char *str1, char *str2)
{
int len;
char *ret;
/* malloc new string */
len = strlen(str1) + strlen(str2) + 1;
ret = (char *) malloc(len*sizeof(char));
/* copy the strings */
strcpy(ret, str1);
strcat(ret, str2);
/* free old strings */
free(str1);
free(str2);
return ret;
}
char *cat3(char *str1, char *str2, char *str3)
{
return cat2(cat2(str1, str2), str3);
}
char *cat4(char *str1, char *str2, char *str3, char *str4)
{
return cat2(cat2(str1, str2), cat2(str3, str4));
}
char *cat5(char *str1, char *str2, char *str3, char *str4,
char *str5)
{
return cat3(cat2(str1, str2), cat2(str3, str4), str5);
}
char *cat6(char *str1, char *str2, char *str3, char *str4,
char *str5, char *str6)
{
return cat3(cat2(str1, str2), cat2(str3, str4), cat2(str5, str6));
}
char *cat7(char *str1, char *str2, char *str3, char *str4,
char *str5, char *str6, char *str7)
{
return cat4(cat2(str1, str2), cat2(str3, str4), cat2(str5, str6), str7);
}
char *cat8(char *str1, char *str2, char *str3, char *str4,
char *str5, char *str6, char *str7, char *str8)
{
return cat4(cat2(str1, str2), cat2(str3, str4),
cat2(str5, str6), cat2(str7, str8));
}
char *cat9(char *str1, char *str2, char *str3, char *str4,
char *str5, char *str6, char *str7, char *str8,
char *str9)
{
return cat5(cat2(str1, str2), cat2(str3, str4), cat2(str5, str6),
cat2(str7, str8), str9);
}
−1
"WCT" или "ебанутым нет покоя" - уже на главной Швабра!
http://habrahabr.ru/post/271519/
+1
class CBaseEntity {
// ...
void (CBaseEntity ::*m_pfnThink)(void);
virtual void Think( void ) { if (m_pfnThink) (this->*m_pfnThink)(); };
// ...
// Ugly code to lookup all functions to make sure they are exported when set.
#ifdef _DEBUG
void FunctionCheck( void *pFunction, char *name )
{
if (pFunction && !NAME_FOR_FUNCTION((uint32)pFunction) )
ALERT( at_error, "No EXPORT: %s:%s (%08lx)\n", STRING(pev->classname), name, (uint32)pFunction );
}
BASEPTR ThinkSet( BASEPTR func, char *name )
{
m_pfnThink = func;
FunctionCheck( (void *)*((int *)((char *)this + ( offsetof(CBaseEntity,m_pfnThink)))), name );
return func;
}
// ...
};
// Ugly technique to override base member functions
// Normally it's illegal to cast a pointer to a member function of a derived class to a pointer to a
// member function of a base class. static_cast is a sleezy way around that problem.
#ifdef _DEBUG
#define SetThink( a ) ThinkSet( static_cast <void (CBaseEntity::*)(void)> (a), #a )
// ...
#else
#define SetThink( a ) m_pfnThink = static_cast <void (CBaseEntity::*)(void)> (a)
// ...
#endif
https://github.com/ValveSoftware/halflife/blob/5d761709a31ce1e71488f2668321de05f791b405/dlls/cbase.h
> it's illegal
В крестах всё легально, главное - попросить прощения в комментах...
−114
def days(index)
((15662003>>(2*(index-1)))&3) + 28
end
Вычисление количества дней в месяце по индексу.
+159
mov eax, "allahu akbar"
push eax
Короче слушай сюда, петушок, я буду объяснять тебе доступными словами, что бы ты понял.
Вот попадаешь ты на зону, тебя встречает DHCP, он говорит тебе какая у тебя камера(Маска подсети), койка(ip адрес) и разъясняет порядок на хате(параметры области). Как только тебя определяют, то об этом узнает местная крыса(DNS), этот ушлый чухан вообще всё обо всех знает и сливает инфу по первому стуку в ебало(nslookup). Поэтому как только попадаешь в хату, представься что ты мужик(nsname), однако этот хуй может всем пиздеть что ты хуйло, или вообще идти в несознанку, поэтому лучше знать несколько крыс. Так вот, сидишь ты такой на своей койке и тебе нужно написать маляву(пакет) корешу, малявы передают через чуханов(маршрутизаторы, концентраторы, коммутаторы). Если ты передашь через чухана-концентратора, то знай, этот олень настолько тупой, что тут же забывает кто ему передал маляву и кому ее надо отдать, поэтому что бы не получить пизды, раздает ее всем, даже тебе. Если ты передаешь через чухана-коммутатора, то знай, он куда смышленей и передаст маляву куда надо, но только в пределах своей хаты, ибо связей не имеет. А вот маршрутизатора уже чуханом назвать сложно, этот тип может доставить маляву куда угодно, даже в соседнюю хату и даже в соседнюю зону, ибо связи решают.
+133
if (textBox[0].Text == "" && textBox[1].Text == "" && textBox[2].Text == "" && textBox[3].Text == "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("");
else if (textBox[0].Text != "" && textBox[1].Text == "" && textBox[2].Text == "" && textBox[3].Text == "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[surname] LIKE '%{0}%'", textBox[0].Text);
else if (textBox[0].Text == "" && textBox[1].Text != "" && textBox[2].Text == "" && textBox[3].Text == "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[name] LIKE '%{0}%'", textBox[1].Text);
else if (textBox[0].Text == "" && textBox[1].Text == "" && textBox[2].Text != "" && textBox[3].Text == "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[midname] LIKE '%{0}%'", textBox[2].Text);
else if (textBox[0].Text == "" && textBox[1].Text == "" && textBox[2].Text == "" && textBox[3].Text != "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("course={0}", textBox[3].Text);
else if (textBox[0].Text == "" && textBox[1].Text == "" && textBox[2].Text == "" && textBox[3].Text == "" && textBox[4].Text != "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("group={0}", textBox[4].Text);
else if (textBox[0].Text != "" && textBox[1].Text != "" && textBox[2].Text == "" && textBox[3].Text == "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[surname] LIKE '%{0}%' and [name] LIKE '%{1}%'", textBox[0].Text, textBox[1].Text);
else if (textBox[0].Text == "" && textBox[1].Text != "" && textBox[2].Text != "" && textBox[3].Text == "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[name] LIKE '%{0}%' and [midname] LIKE '%{1}%'", textBox[1].Text, textBox[2].Text);
else if (textBox[0].Text == "" && textBox[1].Text == "" && textBox[2].Text != "" && textBox[3].Text != "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[midname] LIKE '%{0}%' and course={1}", textBox[2].Text, textBox[3].Text);
else if (textBox[0].Text == "" && textBox[1].Text == "" && textBox[2].Text == "" && textBox[3].Text != "" && textBox[4].Text != "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("course={0} and group={1}", textBox[3].Text, textBox[4].Text);
else if (textBox[0].Text != "" && textBox[1].Text != "" && textBox[2].Text != "" && textBox[3].Text == "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[surname] LIKE '%{0}%' and [name] LIKE '%{1}%' and [midname] LIKE '%{2}%'", textBox[0].Text, textBox[1].Text, textBox[2].Text);
else if (textBox[0].Text == "" && textBox[1].Text != "" && textBox[2].Text != "" && textBox[3].Text != "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[name] LIKE '%{0}%' and [midname] LIKE '%{1}%' and course={2}", textBox[1].Text, textBox[2].Text, textBox[3].Text);
else if (textBox[0].Text == "" && textBox[1].Text == "" && textBox[2].Text != "" && textBox[3].Text != "" && textBox[4].Text != "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[midname] LIKE '%{0}%' and course={1} and group={2}", textBox[2].Text, textBox[3].Text, textBox[4].Text);
else if (textBox[0].Text != "" && textBox[1].Text != "" && textBox[2].Text != "" && textBox[3].Text != "" && textBox[4].Text == "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[surname] LIKE '%{0}%' and [name] LIKE '%{1}%' and [midname] LIKE '%{2}%' and course={3}", textBox[0].Text, textBox[1].Text, textBox[2].Text, textBox[3].Text);
else if (textBox[0].Text == "" && textBox[1].Text != "" && textBox[2].Text != "" && textBox[3].Text != "" && textBox[4].Text != "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[name] LIKE '%{0}%' and [midname] LIKE '%{1}%' and course={2} and group={3}", textBox[1].Text, textBox[2].Text, textBox[3].Text, textBox[4].Text);
else if (textBox[0].Text != "" && textBox[1].Text != "" && textBox[2].Text != "" && textBox[3].Text != "" && textBox[4].Text != "")
myViewStudentsTable.DefaultView.RowFilter = string.Format("[surname] LIKE '%{0}%' and [name] LIKE '%{1}%' and [midname] LIKE '%{2}%' and course={3} and group={4}", textBox[0].Text, textBox[1].Text, textBox[2].Text, textBox[3].Text, textBox[4].Text);
"Есть 5 текстовых полей и желание понять, как можно в зависимости от пустоты или заполненности этих полей, одного или нескольких создать малое количество операторов if else"
Порадовало "малое количество"