<MyRusakov.ru />

Программирование на C++ в Unreal Engine 5

Программирование на C++ в Unreal Engine 5

Данный курс научит Вас созданию игр на C++ в Unreal Engine 5. Курс состоит из 12 разделов, в которых Вас ждёт теория и практика. Причём, в качестве практики будет создан весьма крупный проект объёмом свыше 5000 строк качественного кода, который уже на практике познакомит Вас с принципами создания игр на C++ в Unreal Engine 5.

Параллельно с курсом Вы также будете получать домашние задания, результатом которых станет, в том числе, полноценная серьёзная работа для портфолио.

Помимо самого курса Вас ждёт ещё и очень ценный Бонус: «Тестирование Unreal-проектов на Python», в рамках которого Вы научитесь писать очень полезные тесты для тестирования самых разных аспектов разработки игр.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Форум сайта MyRusakov.ru

Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0
25.02.2019 14:09:47 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #1
Chechelsk

Chechelsk

Новичок

Новичок

Дата регистрации:
27.10.2018 18:17:18

Сообщений: 4

Привет. Скажи как с тобой можно связаться (email, скайп, viber)?
или напиши мне пожалуйста [email protected]
Спасибо.
Профиль
25.02.2019 14:11:06 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #2
Chechelsk

Chechelsk

Новичок

Новичок

Дата регистрации:
27.10.2018 18:17:18

Сообщений: 4

Привет. Скажи как с тобой можно связаться (email, скайп, viber)?
или напиши мне пожалуйста [email protected]
Профиль
24.04.2019 00:22:45 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #3
John Doe

John Doe

Продвинутый

Продвинутый

Дата регистрации:
14.01.2019 19:23:31

Сообщений: 42

Мое решение задачи 2_03:
$staffList = [
[
'name' => 'Igor',
'age' => '26'
],
[
'name' => 'Petr',
'age' => '34'
],
[
'name' => 'Valen',
'age' => '46'
],
[
'name' => 'Seva',
'age' => '16'
]
];

function age_sort($a, $b)
{
$a = $a['age'];
$b = $b['age'];
return $a <=> $b;
}

uasort( $staffList, 'age_sort' );

print_r($staffList);
Профиль
29.05.2019 00:05:02 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #4
John Doe

John Doe

Продвинутый

Продвинутый

Дата регистрации:
14.01.2019 19:23:31

Сообщений: 42

2_04

<?php

echo '<h3>1:</h3>';
$start = microtime(true);

for ($i = 0; $i < 10 ** 7; $i++);

$end = microtime(true);

$scriptTime = $end - $start;

echo $scriptTime;
///////////////////////////////////

echo '<h3>2:</h3>';

$time = time();
$ourTime = $time + mt_rand(1, 10) * 10000;
$date = date('d.m.Y H:i:s', $time);
$ourDate = date('d.m.Y H:i:s', $ourTime);

echo 'Текущее время: ' . $date . '<br>';
echo 'Наше время: ' . $ourDate;
///////////////////////////////////

echo '<h3>3:</h3>';

$remainingTime = $ourTime - $time;
echo 'До ' . $ourDate . ' осталось ' . date('H:i:s', $remainingTime);
///////////////////////////////////////////////////////////////////////////
?>

<h3>4 and 5:</h3>
<form action="" method="post">
<select name="userOffset" id="userOffset">
<option value="2">+2</option>
<option value="3">+3</option>
<option value="4">+4</option>
</select>
<input type="submit" value="Отправить">
</form>

<?php

if (isset($_POST['userOffset'])) {
$userOffset = $_POST['userOffset'] * 3600;
} else {
$userOffset = 0;
}

$serverTime = $_SERVER['REQUEST_TIME'];
$grinTime = $serverTime - date( 'Z' );
$userTime = $grinTime + $userOffset;
$dateFormat = 'd.m.Y H:i:s';

echo 'Время на сервере: ' . date($dateFormat, $serverTime);
echo '<br>Время по Гринвичу: ' . date($dateFormat, $grinTime);
echo '<br>Время пользователя: ' . date($dateFormat, $userTime);
Профиль
31.05.2019 14:23:36 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #5
John Doe

John Doe

Продвинутый

Продвинутый

Дата регистрации:
14.01.2019 19:23:31

Сообщений: 42

2_05

<?php

$file = 'file.txt';
$message = '';
$fieldText = '';

if ($_POST['submit'] == 'Сохранить' ) {
if (!empty($_POST['text'])) {
$text = $_POST['text'];

file_put_contents($file, $text);

$message = '<p style="color: lightgreen">Сохранение прошло успешно</p>';
} else {
$message = '<p style="color: red">Введите текст</p>';
}

}

if ($_POST['submit'] == 'Загрузить' ) {
if(is_file($file)) {
$fieldText = file_get_contents($file);
} else {
$message = '<p style="color: red">Файл не существует</p>';
}
}

if ($_POST['submit'] == 'Удалить' ) {
if(is_file($file)) {
unlink($file);

$message = '<p style="color: cornflowerblue">Файл успешно удалён</p>';
} else {
$message = '<p style="color: red">Файл не существует</p>';
}
}
?>

<?=$message?>
<form action="" method="post">
<textarea name="text" id="text" cols="30" rows="10" placeholder="Ваш текст"><?=$fieldText?></textarea>
<hr>
<input type="submit" value="Сохранить" name="submit">
<input type="submit" value="Загрузить" name="submit">
<input type="submit" value="Удалить" name="submit">
</form>





Профиль
31.05.2019 22:24:36 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #6
John Doe

John Doe

Продвинутый

Продвинутый

Дата регистрации:
14.01.2019 19:23:31

Сообщений: 42

2_06_01

Содержание text_style.ini :
[Text]
color = "green"
font-size = "22px"

Содержание файла с разметкой:
<?php
$textStyle = parse_ini_file( 'text_style.ini' );
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>ParseIni</title>
<style>
p {
color: <?=$textStyle['color']?>;
font-size: <?=$textStyle['font-size']?>;
}
</style>
</head>
<body>

<p> Lorem ipsum dolor sit amet. </p>

<p> Lorem ipsum.</p>

</body>
</html>
Профиль
31.05.2019 22:28:34 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #7
John Doe

John Doe

Продвинутый

Продвинутый

Дата регистрации:
14.01.2019 19:23:31

Сообщений: 42

2_06_02(*)

ru.ini :
TITLE = "Русская страница"
en.ini :
TITLE = "English page"
index.php :
<?php

define( 'DEFAULT_LANG', 'ru' );

// Достаём требуемый язык
if (isset($_GET['lang'])) {
$lang = $_GET['lang'];
} else {
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
}

// Определяем название ini-файла
$file = $lang . '.ini';

// Проверяем существование нужного ini-файла
if (is_file($file)) {
// Если существует, то парсим его
$langIni = parse_ini_file($file);
} else {
// Если не существует, то парсим файл дефолтного языка
$langIni = parse_ini_file( DEFAULT_LANG . '.ini' );
}

echo $langIni['TITLE'];
Профиль
04.06.2019 21:51:27 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #8
John Doe

John Doe

Продвинутый

Продвинутый

Дата регистрации:
14.01.2019 19:23:31

Сообщений: 42

2_08


<?php
# Подготовка

// Описываем нужные функции

/**
* Создает $count случайных директорий
* @param $count - количество создаваемых директорий
*/
function makeRandDirs($count) : void
{
for ($i = 1; $i <= $count; $i++) {
mkdir(uniqid( 'dir_' ));
}
}


/**
* Возвращает массив только с директориями
* @param $folder - папка, в которой ищем директории
* @return array
*/
function getDirs($folder) : array
{
$list = scandir($folder);
$dirs = [];
foreach ($list as $dir) {
if ( $dir == '.' || $dir == '..' ) {
continue;
}

if (is_file($dir)) {
continue;
}

$dirs[] = $dir;
}

return $dirs;
}

/**
* Распечатывает папки и файлы в $folder
* @param $folder - путь
* @param string $space - отступ
*/
function printDir( $folder, $space = ' ' ) : void
{
$files = scandir($folder);
foreach ($files as $file) {
if ( $file == '.' || $file == '..' ) {
continue;
}
$f = $folder . '/' . $file;
echo $space . $file . '<br>';
if (is_dir($f)) printDir( $f, $space . '--' );
}
}


# Сам скрипт

// Получаем список директорий в текущей директории
$dirs = getDirs(__DIR__);

if (count($dirs) < 5) {
// Если папок меньше 5
// Создаём недостающие директории со случайным названием
makeRandDirs(5 - count($dirs));
header( "Refresh: 0" );
exit;
}

// Выбираем случайную директорию
$k = array_rand($dirs);
$dir = $dirs[$k];

// Формируем случайное название файла
$file = uniqid( 'f_' ) . '.txt';

// создаём файл в случайно выбранной директории
file_put_contents( $dir . '/' . $file, ' ' );

echo 'Список файлов и папок <b>до</b> удаления: <br>';
printDir(__DIR__);

// удаляем файл
unlink($dir . '/' . $file);

// удаляем директории
for ($i = 0; $i < count($dirs); $i++) {
rmdir($dirs[$i]);
}

echo 'Список файлов и папок <b>после</b> удаления: <br>';
printDir(__DIR__);
Профиль
04.06.2019 22:25:48 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #9
John Doe

John Doe

Продвинутый

Продвинутый

Дата регистрации:
14.01.2019 19:23:31

Сообщений: 42

2_09

<?php
$ip = gethostbyname( 'google.ru' );
echo $ip;

echo '<br>';

$host = gethostbyaddr($ip);
echo $host;
Профиль
04.06.2019 23:46:51 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #10
John Doe

John Doe

Продвинутый

Продвинутый

Дата регистрации:
14.01.2019 19:23:31

Сообщений: 42

2_10

<?php

// Если не пустой путь
if(isset($_POST['path'])) {
$path = $_POST['path'];

// Если файл с расширением .txt
if(substr($path, -3) == 'txt' {
// Открываем файл
$error = false;
exec($path);

} else {
// Иначе пишем ошибку
$error = 'Файл должен иметь расширение ".txt"';
}
}

?>

<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Открытие текстового файла</title>
<style>
@keyframes hiding {
from {width: 100%; opacity: 1}
50% {width: 100%; opacity: .5}
to {width: 0; opacity: 0}
}

.message {
color: red;
opacity: 1;
transition: opacity 1s, visibility 0s;
}

.message--hiding {
color: red;
opacity: 0;
display: none;
transition: opacity 2s;
}
</style>
</head>
<body onload="hiding('message'">
<?php if ($error): ?>
<p class="message" id="mess"><?=$error?></p>
<?php endif ?>
<!--Форма-->
<form action="" method="post">
<div>
<input type="text" name="path">
</div>
<div>
<input type="submit" name="submit" value="Открыть">
</div>
</form>
<script>
setTimeout(function hiding(x) {
x = document.getElementById('mess';
x.classList.remove('message';
x.classList.add('message--hiding';
}, 2000);
</script>
</body>
</html>
Профиль