Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Герои Войны - микс стратегии и РПГ. Собери лучшую армию и победи всех врагов. В игре 7 различных режимов - как для любителей PvE, так и PvP.

Герои Войны

Стратегии, Мидкорные, Экшены

Играть

Топ прошлой недели

  • Rahlkan Rahlkan 1 пост
  • Tannhauser9 Tannhauser9 4 поста
  • alex.carrier alex.carrier 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
16
androidKot
androidKot
7 месяцев назад
Лига программистов

Процедурная анимация фона в стиле Матрицы⁠⁠

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

Сделал для своего приложения такую красоту, внизу код на Kotlin (Android+Compose), пользуйтесь кто желает (нейросетью можете перевести на свой язык под свою платформу). Сразу после списка символов идут переменные управления потоками, вынес их вместе, чтобы регулировать скорость, частоту и прочее.



import androidx.compose.foundation.background

import androidx.compose.foundation.layout.*

import androidx.compose.material3.Text

import androidx.compose.runtime.*

import androidx.compose.ui.Modifier

import androidx.compose.ui.graphics.Color

import androidx.compose.ui.platform.LocalConfiguration

import androidx.compose.ui.platform.LocalDensity

import androidx.compose.ui.unit.dp

import androidx.compose.ui.unit.sp

import kotlinx.coroutines.delay

import kotlinx.coroutines.isActive

import kotlin.random.Random

object MatrixAnimationSettings {

val symbols = listOf(

'ア', 'ィ', 'イ', 'ゥ', 'ウ', 'ェ', 'エ', 'ォ', 'オ', 'カ', 'ガ', 'キ', 'ギ', 'ク', 'グ', 'ケ', 'ゲ', 'コ', 'ゴ',

'サ', 'ザ', 'シ', 'ジ', 'ス', 'ズ', 'セ', 'ゼ', 'ソ', 'ゾ', 'タ', 'ダ', 'チ', 'ヂ', 'ッ', 'ツ', 'ヅ', 'テ', 'デ',

'ト', 'ド', 'ナ', 'ニ', 'ヌ', 'ネ', 'ノ', 'ハ', 'バ', 'パ', 'ヒ', 'ビ', 'ピ', 'フ', 'ブ', 'プ', 'ヘ', 'ベ', 'ペ',

'ホ', 'ボ', 'ポ', 'マ', 'ミ', 'ム', 'メ', 'モ', 'ャ', 'ヤ', 'ュ', 'ユ', 'ョ', 'ヨ', 'ラ', 'リ', 'ル', 'レ', 'ロ',

'ヮ', 'ワ', 'ヰ', 'ヱ', 'ヲ', 'ン', 'ヴ', 'ヵ', 'ヶ', 'ヷ', 'ヸ', 'ヹ', 'ヺ', '・', 'ー', 'ヽ', 'ヾ'

)

const val rows = 15 // количество дорожек с символами

const val maxVisibleSymbols = 70 // Максимальное количество видимых символов

const val symbolDelay = 200L // Задержка между появлениями символов

const val fadeStep = 0.1f // Шаг уменьшения альфы

const val alphaStart = 1f // Начальное значение альфы

const val maxYOffset = 100 // Максимальное вертикальное смещение

const val maxXOffset = 10 // Максимальное горизонтальное смещение

const val maxDelay = 10000L // Макс задержка

const val fontSize = 12 // Размер шрифта

var symbolPadding = 1.dp // Вертикальный отступ между символами

}

@Composable

fun MatrixBackground() {

Box(

modifier = Modifier.fillMaxSize().background(Color.Black)

) {

for (i in 0 until MatrixAnimationSettings.rows) {

MatrixColumn(MatrixAnimationSettings.symbols, i, MatrixAnimationSettings.fontSize)

}

}

}

@Composable

fun MatrixColumn(symbols: List<Char>, columnIndex: Int, fontSize: Int) {

var symbolList by remember { mutableStateOf(listOf<MatrixSymbol>()) }

var animationRunning by remember { mutableStateOf(true) }

val screenWidth = LocalConfiguration.current.screenWidthDp

val screenWidthPx = with(LocalDensity.current) { screenWidth.toInt() }

val randomXOffset = (Random.nextInt(1, 21) * 20)

val randomStartDelay = Random.nextLong(100L, MatrixAnimationSettings.maxDelay)

LaunchedEffect(Unit) {

delay(randomStartDelay)

while (animationRunning && isActive) {

delay(MatrixAnimationSettings.symbolDelay)

val newSymbol = MatrixSymbol(

symbol = symbols.random(),

index = Random.nextInt(0, 1000),

alpha = MatrixAnimationSettings.alphaStart,

yOffset = symbolList.size * 20,

xOffset = randomXOffset

)

symbolList = symbolList + newSymbol

symbolList = symbolList.mapIndexed { index, symbol ->

symbol.copy(alpha = symbol.alpha - MatrixAnimationSettings.fadeStep)

}

if (symbolList.size > MatrixAnimationSettings.maxVisibleSymbols) {

symbolList = symbolList.drop(1)

}

if (symbolList.all { it.alpha <= 0f }) {

animationRunning = false

symbolList = emptyList()

}

}

}

symbolList.forEach { symbol ->

Text(

text = symbol.symbol.toString(),

color = Color.Green.copy(alpha = symbol.alpha),

fontSize = fontSize.sp,

modifier = Modifier

.padding(MatrixAnimationSettings.symbolPadding)

.offset(x = symbol.xOffset.dp, y = symbol.yOffset.dp)

)

}

}

data class MatrixSymbol(

val symbol: Char,

val index: Int,

val alpha: Float,

val yOffset: Int,

val xOffset: Int

)

Показать полностью
[моё] Программирование Код Процедурная генерация Kotlin Видео Вертикальное видео Длиннопост Матрица (фильм)
0
5
Zheludock
Zheludock
8 месяцев назад
Пикабушники Кыргызстана
Серия Вкатываемся в IT

Пятый пост о моем пути в айти⁠⁠

Всем привет! Я учусь на android-разработчика на курсах в тырнете. Да-да, таких, как я пятьтыщстопицот и я не вольюсь. Но я очень стараюсь, а эти посты пишу, как некий дневник, поэтому без рейтинга.


Котлин - это весело, говорили они. Котлин - это просто, говорили они. А по факту на сегодня кажется, что Котлин - это Джава засыпанная синтаксическим сахаром, отчего иногда нихера не понятно, откуда и что там взялось. Но в целом - как будто бы не критично сложно. Опять же пока что. Анонимные классы, интерфейсы и прочие основные отличия от Java дались не без труда, но дались. Отдельно порадовало, что появилась, наконец-то некая сложность и необходимость подумать над тем, что делаешь и зачем. Но не хватило опять какой-то объемной домашней работы.

Поэтому начал потихоньку пилить пет-проект - переношу в андроид-приложение настольную игру "Гарри Поттер: Битва за Хогвартс". Выбрал именно ее, потому что наиграл в нее достаточно часов, чтобы понимать как она работает. Сначала старался писать сухо, чисто, аккуратно. Но получалось медленно и непродуктивно. Всё время что-то переделывал, вечно мне всё не нравилось. Что логично, ведь это мой первый проект в программировании, навыков архитектуры ноль. Потом друг посоветовал "Херачь говнокод, потом будешь рефачить", и за пару дней я накидал говна вполне себе рабочую логику приложения. Потом на неделю сел читать как создается визуал в андроид. Решил сразу писать на jetpack compose, ибо за ним вроде как будущее и все такое. Вроде бы написал, но теперь сижу и ковыряю настройки, ибо не получается запустить приложение. Кривое, косое, но хочется потестить, ручками потрогать.


Бонус: Произошла некоторая деградация и за 2 недели было выпито 12 литров пенного, что явно больше, чем за прошлый такой же период. Результат неудовлетворительный, будем исправляться.

[моё] Приложение на Android Kotlin Курсы IT Без рейтинга Текст
6
0
Вопрос из ленты «Эксперты»
Аноним
Аноним
8 месяцев назад

Здравствуйте! Не могли бы вы мне помочь с моей маленькой программой на kotlin?⁠⁠

Привет всем! Я был бы рад, если бы вы помогли мне с моей маленькой программой kotlin. Это небольшой генератор паролей. Проблема у меня в том, что когда я перезапускаю программу, пароли перестают копироваться, а если нет, то все нормально. Я думаю, проблема в сохранности. Подскажите, как исправить эту ошибку?

https://onecompiler.com/kotlin/42xn9xbyd - Залил код сюда. В целом он работает помимо того момента, что я описал выше.

[моё] Проблема Спроси Пикабу Вопрос Ошибка Нужен совет Приложение на Android Android Kotlin Программирование Текст
0
1
Вопрос из ленты «Эксперты»
Hush.s
Hush.s
8 месяцев назад
Лига программистов

Здравствуйте! Не могли бы вы мне помочь с моей маленькой программой на kotlin?⁠⁠

Привет всем! Я был бы рад, если бы вы помогли мне с моей маленькой программой kotlin. Это небольшой генератор паролей. Проблема у меня в том, что когда я перезапускаю программу, пароли перестают копироваться, а если нет, то все нормально. Я думаю, проблема в сохранности. Подскажите, как исправить эту ошибку?

https://onecompiler.com/kotlin/42xn9xbyd - Залил код сюда. В целом он работает помимо того момента, что я описал выше.

[моё] Приложение на Android Программирование Kotlin IT Разработка Программа Вопрос Спроси Пикабу Текст
7
Zheludock
Zheludock
8 месяцев назад
Серия Вкатываемся в IT

Четвертый пост о пути в айти, или до свидания, Java⁠⁠

Прошло еще 2 недели. Закончили с Java. Ну как закончили, прошли лямбды, дженерики, анонимные классы. Дальше будет Kotlin. пока группа еще 2 недели будет мучить джаву, я уже начал читать "Kotlin in action". Может быть поможет, книги по джаве сильно помогли. Теории было мало, самостоятельная работа очень простая и скучная. Если бы не книги, задачи, статьи на хабре - я бы уже заскучал и думал бросить эти курсы. В целом стало появляться некоторое разочарование - курсы заточены (по крайней мере то, что я прошел на данный момент) на то, что люди не самого большого ума будут дрючить их по 2-3 часа в день. В моем случае - 4-5 часов изучаю теорию, потом 40 минут практика и все. Ждите еще 2 недели, с вас 7500. Посмотрим, что будет с началом Kotlin...

Апдейт по алкашке: за 2 недели - 5 литров пива (два присеста). Уже не так много, как будто бы раз в неделю, но все еще есть к чему стремиться

[моё] Java Android IT Kotlin Курсы Текст
5
50
nickolaym
nickolaym
9 месяцев назад

Щоб не як у петербуржцевь⁠⁠

Изумительный по своей русофобии (в смысле боязни русского) тикет KT-71605 в багтрекере больше-не-русской программерской конторы ЖетБрейнс.

Rename Kotlin to something else to distance from Russia

I want to bring up an issue with the name “Kotlin.” After IntelliJ distanced itself from Russia following the 2022 invasion of Ukraine, I think the association with Russia persists because of the name. While I understand that the decision to distance from Russia was likely necessary due to sanctions, it might feel disingenuous to some users, especially considering how many Russian companies did the same thing for similar reasons. As long as Kotlin keeps the same name and branding, the ideological connection with Russia remains.

“Kotlin” is still linked to Russia through the island it’s named after, and this might make some users, especially those affected by the war, uncomfortable. For some, seeing that name could be a reminder of deeply traumatic events.

I’m suggesting that the team consider renaming the language to something that doesn’t carry that baggage. It could help in presenting a more neutral, global image for the project moving forward.

Переименуйте Kotlin во что-нибудь другое, чтобы дистанцироваться от России

Я хочу поднять вопрос, связанный с названием «Kotlin». После того, как IntelliJ дистанцировалась от России после вторжения в Украину в 2022 году, я думаю, что ассоциация с Россией сохраняется из-за названия. Хотя я понимаю, что решение дистанцироваться от России, вероятно, было необходимо из-за санкций, некоторым пользователям это может показаться неискренним, особенно учитывая, сколько российских компаний сделали то же самое по схожим причинам. Пока Kotlin сохраняет то же название и бренд, сохраняется идеологическая связь с Россией.

«Котлин» по-прежнему связан с Россией через остров, в честь которого он назван, и это может вызывать дискомфорт у некоторых пользователей, особенно у тех, кто пострадал от войны. Для некоторых это название может напоминать о тяжёлых событиях.

И это, заметьте, не лихой 2022 год, а 19 сентября 2024. У человека кипело-кипело и накипело.

(К чести компании, ему там вежливо сказали wont fix и посоветовали сходить к врачу).

Штош! Открываю соревнование по спецолимпиаде: как можно было бы назвать язык Котлин?

Моё предложение: прямо по названию тикета, KT-71605. Есть же всякие FTN77 или C99. Ну вот будет кировский трактор пятизначный. Трудно запомнить и невозможно забыть!

Показать полностью
[моё] Политика Русофобия Jetbrains Kotlin Языки программирования Багтрекинг IT юмор Текст
25
1
Zheludock
Zheludock
9 месяцев назад
Серия Вкатываемся в IT

Продолжаю путь в айти (и ограничению спиртного)⁠⁠

Предыдущий пост Начало пути в айти
Продолжаю учиться на разработчика андроид в онлайн курсах.
Штош. Открылась вторая часть обучения, было не так просто, как с первой, но, в целом, довольно быстро (часов за 8) управился с объёмом, рассчитанным на 2 недели . Параллельно лопачу кучу литературы, решаю задачки, стараюсь, в общем, не выключаться из процесса.
В комментах к предыдущему посту мне говна накидали "надо самому", "выбрал сложное" итд. Спасибо, это придаёт мне мотивации утереть вам нос :) тем, кто поддержал - спасибо, это придаёт мне мотивации не подвести вас.

Бонус: как и обещал обновляю статус по количеству выпитого алкоголя. С момента последнего поста (11 дней вроде) выпито 9 литров пенных напитков, что вдвое меньше, чем за аналогичный период до начала курсов. Этого недостаточно. Будем стремиться к еще большему сокращению.

Авада кедавра, алкоголь!
Оживи, мозг!

[моё] Айтишники Обучение IT Текст Java Kotlin Android
17
Партнёрский материал Реклама
specials
specials

Камень-ножницы-бумага! Раз-два-три!⁠⁠

Приглашаем вспомнить детство, а заодно проверить свою удачу. Победителям — промокод на скидку и награда в профиль.

Игры Удача Пицца
0
Zheludock
Zheludock
9 месяцев назад
Серия Вкатываемся в IT

Начало пути в айти⁠⁠

Исходные данные: мальчик, 36 годиков, высшее техническое образование (химическая технология), жена, 2 детей, не самая плохая работа (зп около 120к), маленький городок сильно восточнее Уральских гор, IQ > 130 (данные разнятся, но в целом умный я, но не гений), желание иметь подработку/полноценную работу в айти сфере.

Пытался я несколько раз заниматься самостоятельно, но получилось, как и с шахматами. Без структуры, дедлайнов и менторства уперся в потолок и забросил. Давеча энтузиазм возродился, и, обстоятельно поговорив с женой, оплатил курсы "Андроид-разработчик" одной онлайн школы.

Это либо самое дерьмовое, либо самое лучшее решение в моей жизни. Но оно уже принято. За два дня прошел часть, на которую отводилось 2 недели. Ну там совсем для новичков, а я же хоть и слабой, но базой владею. Так что переменные, циклы, функции итд не вызвали затруднений... Через 2 недели (или, может раньше) откроется следующая часть. Буду держать в курсе.

Блог без рейтинга, чисто для себя, как дневник.

Ну и бонус: так как теперь доп нагрузка на семейный бюджет - решил сократить количество потребляемого спиртного. За прошлые 2 недели вышло около 30 литров пенного + закуски (+- 20 тыщ как с куста). Чтобы "выровнять" количество затрат, за эти 2 недели нужно потребить не более 7 литров.

[моё] IT Программирование Обучение Android Java Kotlin Без рейтинга Текст
42
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии