Почему

Вопрос армянскому радио:
— В ЛГБТ половина букв совпадают с ГБ, почему?
— Дык там половина членов совпадают!

Дурак 6.2

Разбирая старые архивы на сервере нашел прикольную карточную мультиигру.

Дурак

— Албанский дурак
— Армянский дурак
— Безкозырный дурак
— Большой дурак
— Верю не верю
— Двухкозырной дурак
— Дорожный дурак
— Занудный дурак
— Козырной дурак
— Королевский дурак
— Круговой дурак
— Магаданский дурак
— Наваленный дурак
— Невидимый дурак
— Оборотный дурак
— Отбойный дурак
— Очковый дурак
— Переводной дурак
— Переводной дурак 2
— Погонный дурак
— Подкидной дурак
— Покерный дурак
— Простой дурак
— Пустой дурак
— Трешка
— Чешский дурак
— Чукотский дурак
— Японский дурак

Пасьянсы

— Баян
— Дважды два
— Джокер
— Елочки
— Желание
— Карлтон
— Коко
— Колодец
— Короли
— Косынка
— Лабиринт
— Монте-Карло
— Основание
— Паганини
— Память
— Парад
— Пары
— Паук
— Перекресток
— Пирамида
— Платок
— Секрет
— Солитер
— Старый друг
— Тройка
— Узник
— Улица
— Улицы
— Часы
— Чередование
— Шестерки

Другие игры

— Безик
— Бура
— Восьмерки
— Девятка
— Деберц
— Домино
— Кинг
— Лото
— Марьяж
— Осел
— Очко
— Пикет
— Покер
— Полиньяк
— Пропущенка
— Пьяница
— Сапер
— Терц
— Тузату
— Ураган
— Червы
— 31

Гадания

— Пирамидка
— Дюжина
— Ближайшая судьба
— Чатарунга

Прочее

— Множественные параметры настроек, количество, стиль и интеллект игроков
— Возможность играть с реальными игроками по сети.
— Лекарство (есть в комплекте, 00.REG+любой код для регистрации)
— Лицензия: SHAREWARE, но автор исчез, так что удовольствия никто не испортит.

Скачать

RAR-архив с Mega.Nz

C#: Учебное задание. Конвертер температур Кельвин — Цельсий — Фаренгейт

Скриншоты



Как синхронизировать три поля ввода, так чтоб в одном был ввод, а в других отображался результат

1. Создаем три поля ввода типа InputDigitControl Поля надо назвать соответственно idcC, idcK и idcF для значений в цельсиях, кельвинах и фаренгейтах.

2. Создаем три переменных в коде формы, они будут флагами, показывющими в каком поле происходит ввод:
bool enC = false; bool enK = false; bool enF = false;

3. Для всех полей прописываем общее событие типа Enter idc_Enter

4. В обработчике события захватываем текущий контрол в отдельную переменную:
InputDigitControl idc = (InputDigitControl)sender;

5. Вытаскиваем последний символ в имени контрола:
string fldID = idc.Name.Substring(3, 1);

6. Организуем switch, устанавливающий флаги

switch (fldID)
{
    case "C":
        {
            enC = true;
            enK = false;
            enF = false;
        }; break;
    case "K":
        {
            enC = false;
            enK = true;
            enF = false;
        }; break;
    case "F":
        {
            enC = false;
            enK = false;
            enF = true;
        }; break;
}

Копия функции целиком на PasteBin

7. Событие типа Changed тоже назначаем одно для всех контролов.

8 Внутри обработчика события анализируем флаги, производим расчеты и выводим результаты.
Копия функции целиком на PasteBin

Ввод чисел

С помощью моего компонента InputDigitControl

Формулы для перевода температур

C2K:
K = C + 273.15

C2F:
F = C * 9.0 / 5.0 + 32.0

K2C:
C = K - 273.15

K2F:
F = (K - 273.15) * 9.0 / 5.0 + 32.0

F2C:
C = (F - 32.0) * 5.0 / 9.0

F2K:
K = (F - 32.0) * 5.0 / 9.0 + 273.15

Скомпилированный файл

На GitHub

Исходники проекта

На GitHub