LINUX.ORG.RU

Сообщения snake266

 

Хочу начать писать игру

Здравствуйте, я тут задумал написать игру, про карантин, про одиночество, про общежитие, в общем то что меня сейчас окружает и окружало. Хочу передать свои раздумья, атмосферу, мне кажется это можно было бы завернуть в интересный формат.

Во-первых, сценарий. У меня есть пару идей, но мне кажется эти идеи надо подкрепить профессиональной литературой, для лучшего эффекта. Посоветуйте легкую книгу в этом направлении.

Во-вторых, картинка. В плане пискельности, пропорций должно выглядеть как Dead cells, так же вид сбоку, но проходить должно в антураже условной хрущевки. И так как рисовать я не умею и друзей художников у меня нет, придется какую то часть ассетов накалякать самому, для другой части искать бесплатные ассеты. Порекомендуйте сайтик где есть большой выбор.

В-третьих, музыка. Тут все легче: у меня много друзей, которые играют на музыкальных инструментах. У меня есть представление что должно играть. Тут вопросов, вроде, нет.

В-четвертых, геймплей, жанр и механики. Пока это мое слабое место, я еще не придумал как в мир без магии, фентези и прочего добавить каких-то геймплейных механик. Днем герой мог бы ходить по общежитию, взаимодействовать с объектами и изучать их, выполнять задания, но потом я задумался:«А как еще можно разнообразить геймплей». Вспомнил, что была такая игра Catherine. Подумал, что тоже можно добавить некую мини-игру, которая бы происходила в конце игрового дня и влияла на героя в его реальности. Но, мне кажется что, эта мини-игра должна быть драйвовая, динамичная, чтобы щекотать игроку нервы, чтобы он понимал, что если он тут провалится, то это повлияет на персонажа.

В-пятых, яп. У меня есть пара требований к языку:

  • Без GC, чтобы картинка не лагала. Хотя, у меня есть ощущение, что у меня картинка будет не сильно сложная.
  • Удобная поддержка юникода и в Linux и в Windows. Все таки сценарий будет написан на русском.

И что у нас остается:

  • С. SDL2. (скорее всего придется крутить велосипед для юникода(?))

  • C++. SDL2, SFML.

  • Rust. биндинги к sdl2, sfml или же чисто растовсикй piston.

На самом деле, в какой-то степени в голове я уже сделал выбор(но колеблюсь), но вы сами знаете, хочется необычного. ;)

 

snake266 ()

Экзамен или ЕГЭ

В общем, учусь на первом курсе, поэтому эмоции от ЕГЭ постепенно угасают как вдруг нам в беседу группы скидывают эту прелесть. Вот видос.

Для ъ: Сервис применяет какие то автоматические алгоритма распознавания лиц, чтобы анализировать на «угрозы проведенияя экзамена». Также те же алгоритмы распознавания лиц используются для идентификации студента, также идентификация может осуществляться по электронному почерку, экг и другим биометрическим параметрам. По веб камере следят за тем чтобы студент не отводил взгляд, не было посторонних голосов и тд. Также есть возможность следить за сменой вкладок и окон студентом.

 ,

snake266 ()

Графические библиотеки для C (3D, 2D)

В общем, что на сегодняшний день релевантно в области графических библиотек (3D, 2D) для C? На данный момент щупаю OpenGL. Может стоит сначала разобраться в OpenGL, а потом переходить на какой-нибудь SDL2 (для 2D, а для 3D оставить OpenGL)

 , ,

snake266 ()

В Konsole странные полосы

В Konsole появляются странные полосы, которые видно только если их выделить или пока до полос не дойдет приглашение для ввода. Видеокарта: Intel UHD 620. Скриншот раз, Скриншот два. Что делать?

UPD. Стриница с багом https://bugs.kde.org/show_bug.cgi?id=373232

 ,

snake266 ()

Grub unknown filesystem

Начал накатывать линь на ноут с UEFI. Разметил диск (btrfs) на /boot, /, /home. Установил grub по арчвики, сделал grub-mkconfig -o /boot/grub/grub.cfg. Перезагружаюсь, вылетает в обычный шелл граба, ls выдаёт:

(hd0,gpt4)....(hd0,gpt1)

Пробовал ставить prefix и root ставить на все разделы ничего не срабатывает. Решил попробовать зайти с live при загрузке с флешки выдаёт падает в rescue Mode с unknown filesystem. ls выдаёт

(hd0) (hd1)

Тут, на попытки insmod’od выдаёт unknown filesystem

Что делать?

Правило загрузки из меню UEFI imgur

 , ,

snake266 ()

Заранее положить пакет в образ

В общем, я довольно большой промежуток времени в поисках своего, поэтому прыгаю по дистрибутивам (недавно еще в сторону freebsd и openbsd начал смотреть), все бы ничего, но есть одна проблема: много где нет нужного драйвера для моей сетевой карты, где то даже в livecd (сетевая карта BCM43142). Есть какой то способ заранее положить нужный драйвер в образ? К примеру, как взять образ с фряхой и закинуть туда драйвер (любой, главное чтобы можно было подключиться к сети и все сделать классно)?

P.S. Да можно подключаться по проводу, но добираться до него лень и сложновато.

 , , , ,

snake266 ()

Выбор ноутбука тред

Вообщем, нужен ноут. Какие требования:

  • 13-ти дюймовый хороший экран, чтобы не портить глаза
  • Вес около килограмма, не больше 1,4кг, чтобы было удобно носить
  • Хорошая сборка и качественный корпус
  • Время работы от батареи где то от 8 часов, хотя чем больше тем лучше

Бюджет до 100к. Знаю про макбук, но хочется чего-то подешевле.

 

snake266 ()

Как программно выбрать пункт в html теге <select>

В общем, сразу к делу. Есть html страница, есть на ней пункт выбора группы, сделанный через тег <select>, и ниже есть <div>, который изначально пустой, но после выбора группы этот див заполняется таблицей с расписанием. Посмотрел какой запрос отправляется (POST) и решил попробовать отправлять такой же запрос сам. Запрос выглядит как обычный хедер + в теле group=%группа%. К сожалению мне приходит все тот же html с пустым <div>, в котором должно быть расписание. Собственно, как мне выставить значение и прочитать уже обновленную html-страницу?

Из HTML

<select class="group select2-hidden-accessible" tabindex="-1" aria-hidden="true" style="">
<option>%Группа-11%</option>
<option>%Группа-12%</option>
....
</select>
<div class="schedule"></div><!--Вот тут появляется таблица -->

Как изменяется страница при выборе группы

<select class="group select2-hidden-accessible" tabindex="-1" aria-hidden="true" style="">
<option>%Группа-11%</option>
<option>%Группа-12%</option>
....
</select>

<div class="schedule">
    <table> <!-- Оп, таблица подъехала -->
    ....
    ....
    </table>
</div>

Мой запрос (Java)

HttpClient client = HttpClient.newBuilder()
                    .followRedirects(HttpClient.Redirect.NORMAL)
                    .build();
            HttpRequest request = HttpRequest.newBuilder()
                    .uri(URI.create("%Сайт с расписанием%"))
                    .headers("Content-Type", "application/x-www-form-urlencoded") // Тут сделал как в хедере в запросе
                    .POST(HttpRequest.BodyPublishers.ofString(group))
                    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.headers());
System.out.println(response.body());
System.out.println(response.request());

 ,

snake266 ()

Область видимости для цикла loop в perl6.

Решил попробовать что за зверь такой этот Perl6.

Начал писать циклы и обратил внимание, что на такой момент когда я использую $i в двух разных циклах компилятор ругается на переопределение:

sub test() {
    loop (my Int $i = 0; $i < 10; $i++) { print "$i "}
    print "\n";
    loop (my Int $i = 0; $i < 10; $i++) { 
        print "$i ";
    }
}

test();
Potential difficulties:
    Redeclaration of symbol '$i'
    at C:\Users\batur\work\perl6/.\test.p6:4
    ------>     loop (my Int $i<HERE> = 0; $i < 10; $i++) {
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9

То есть по сути, если я правильно понял, в первом и втором цикле одинаковые $i. Почему так сделали? Почему не сузили область видимости этой переменной до цикла loop, в котором она объявляется? Я вот не могу прикинуть такой use-case, в котором бы от такой области видимости была польза

 

snake266 ()

Обратная совместимость в плюсах

Как вы думаете, возможно ли такое что, стандарт, в какой-то момент, сломает обратную совместимость в угоду удобства, красоты кода и т.д.? Что бы вы улучшили, пожертвовав обратной совместимостью? Ну и ваше отношение к такому пристальному соблюдению обратной совместимости.

 , ,

snake266 ()

А как слиноковать boost?

Поставил boost с репозитерии арча. Написал простецкий пример из туториала к boost.asio:

#include <iostream>
#include <boost/asio.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>

int main()
{
    boost::asio::io_service io;
    boost::asio::deadline_timer t(io, boost::posix_time::seconds(5));
    t.wait();
    std::cout << "Hello world!" << std::endl;
    return 0;
}
Решил сначала скопилить пример через g++:
g++ main.cpp \
-lboost # вот тут я пробовал -lboost-(_)asio, еще побовал -I /usr/lib, , но везде линкеру чего-то не нравится
Прошу тыкнуть носом туда, где я что-то делаю не так

 ,

snake266 ()

Rust 1.35

Команда разработчиков Rust рада представить новую версию своего языка: 1.35. Rust - это язык программирования, который позволяет писать надёжные и эффективные программы.

Если у вас уже установлен Rust через rustup,то можно обновиться командой: $ rustup update stable

Главное в обновлении - это реализиция трейтов замыкания Fn, FnOnce, FnMut, для Box<dyn Fn>, Box<dyn FnOnce>, Box<dyn FnMut>, соответственно. Добавлении возможности приводить замыкания к указателям на небезопасные функции, вызов макроса dbg!() теперь возможен без аргументов, была проведена стабилизация стандартной библиотеки.

К деталям:

  • В новой версии добавили реализации трейтов Fn, FnOnce, FnMut, для Box<dyn Fn>, Box<dyn FnOnce>, Box<dyn FnMut>, соответственно.
    Теперь такой код будет работать:
    fn foo(x: Box<dyn Fn(u8) -> u8>) -> Vec<u8> {
        vec![1, 2, 3, 4].into_iter().map(x).collect()
    }
    
    Также, можно вызывать замыкание прямо из Box<dyn FnOnce>:
    fn foo(x: Box<dyn FnOnce()>) {
        x()
    }
    

  • Теперь замыкания можно приводить к указателям на unsafe fn Теперь можно делать вот так:
    /// The safety invariants are those of the `unsafe fn` pointer passed.
    unsafe fn call_unsafe_fn_ptr(f: unsafe fn()) {
        f()
    }
    
    fn main() {
        // SAFETY: There are no invariants.
        // The closure is statically prevented from doing unsafe things.
        unsafe {
            call_unsafe_fn_ptr(|| {
                dbg!();
            });
        }
    }
    

  • Добавлена возможность вызова макроса dbg!() без аргументов Если передать этому макросу какое-то выражение то, макрос выведет его результат. Пример:
    fn main() {
        let mut x = 0;
    
        if dbg!(x == 1) {
            x += 1;
        }
    
        dbg!(x);
    }
    
    При запуске такого кода вы увидите:
    [src/main.rs:4] x == 1 = false
    [src/main.rs:8] x = 0
    
    Сейчас вы можете написать вот так:
    fn main() {
        let condition = true;
    
        if condition {
            dbg!();
        }
    }
    
    При выполнении такого кода вы увидите: [src/main.rs:5]
  • Были стабилизированы некоторые части стандартной библиотеки
    • Новые методы для f32 и f64:
      • f32::copysign
      • f64::copysign
      Собственно, функции копируют знак у другого числа. Пример:
      fn main() {
          assert_eq!(3.5_f32.copysign(-0.42), -3.5);
      }
      
    • Добавлены новые методы для Range типов
      • Range::contains
      • RangeFrom::contains
      • RangeTo::contains
      • RangeInclusive::contains
      • RangeToInclusive::contains
      С этим можно легко проверить есть ли определенное значение в последовательности:
      fn main() {
          if (0..=10).contains(&5) {
              println!("Five is included in zero to ten.");
          }
      }
      

Подробнее

Перемещено jollheef из development

 

snake266 ()

Ubuntu 19.04 зависает экране блокировки.

Здравствуйте, столкнулся с такой проблемой: после ввода верного пароля убунта что-то там думает, а потом откидывает опять вводить пароль, но при этом если выбрать запуск через Wayland, то тогда все нормально проходит. Поискал в интернете что делать: файла .Xauthority у меня нет, права на /tmp менял - ничего не помогло. До этого (18.10) через иксы все круто запускалось. Ноутбук: Acer aspire e5-571g - запускаюсь через биос.

И да через Wayland полет нормальный, но хотелось бы использовать именно иксы.

 , , ,

snake266 ()

Чем вообще занимаются программисты?

Здравствуйте, случилось такое что в 11 классе я понял, что хочу заниматься программированием не только как хобби, а как работой. Но я совершенно не представляю чем занимаются взрослые программисты. Хотелось бы услышать свои будни от людей, которые именно получают деньги за работу в данной сфере. Сам пишу на С/C++. Ну и было бы очень круто если бы пришла Iron_Bug. Заранее большее спасибо!

 , , ,

snake266 ()

RSS подписка на новые темы