Artemsikk
Здравствуйте, не закидывайте, около недели назад начал в пассивно-агрессивном режиме изучать ООП, чтобы решить задачу на PHP, это единственный язык где я хоть 3 строчки могу написать, остальные я вообще не знаю.
Задача стоит такая, написать боёвку браузерной игры, а потом эту боёвку влепить в какую-нибудь минимальную нейросетку, чтобы она примерно продумывала шансы выигрыша при том или ином ходе. Производственные мощности чужих компов для обучения нейросетки найдём.
Проект поставил себе задачу запилить где-то за год, сейчас столкнулся с проблемой организации симулятора боёвки. Ответьте если есть возможность на мои новичковые вопросы))
1) У меня есть класс атак, возможно ли в констракте как-то не переписывать все $this и свойства, а как-то разом скопировать их оттуда где я их объявляю? То есть хочу избавиться от этой трёхэтажности:
PHP:
$this->name = $name; $this->type = $type; $this->power = $power; $this->accuracy = $accuracy; $this->special = $special;// и т д2) Организация боёвки сделана циклом:
PHP:
$i=0; while (true){И если покемон умирает, бой закончен цикл брейкается по brake;
Вопрос — не словлю ли я проблем со скоростью загрузки в будущем при таком подходе?Скрины с кодом тоже дал
mkramer
В конце ноября станет можно, как php 8 выйдет. Будет синтаксис как в Typescript:
PHP:
class A { // До php 8 даст ошибку public function __construct(public $a, public $b, public $c) {} } $a = new A(12, 13, 14); echo $a->a; // 12По поводу боёвок — без понятия. Учтите, что традиционный php, вызванный через веб-сервер, должен умереть за 30 (настраивается) секунд иначе упадёт с ошибкой. Возможно вам нужны будут очереди для просчёта или даже библиотеки для асинхронного php типа Swoole, ReactPHP и других.
Скринами больше код никогда не выгладывайте. Единственное место, где это допустимо — обсуждение неверного отображения в IDE.
Нейросети в блокнотике писать — глупость, поставьте хотя бы бесплатный Netbeans или Visual Studio Code, а лучше PHP Storm.
— Добавлено —
Да, и миллион пропертей — это не серьёзно, надо подумать над организацией кода.
twim32
Отвечу исходя из собственного опыта : не стоит начинать ООП с пэт-проектов. Потому что из-за отсутствия опыта, я не смог построить что-то хорошее сразу и каждые 6 месяцев я переписывал проект, базируясь на новых знаниях.
Если бы была возможность начать с нуля, я бы ограничился книгами, мелкими задачками и изучением чужих проектов, и не терял время зря.
mkramer
О. И видно, что мыслите процедурно. Прочитайте что-то про ООП. Хотя бы https://www.ozon.ru/context/detail/id/148737571/
MouseZver
Те кто пишут нейросетки, уже хорошо. А те кто пишут хоть то на бумаге, в 10 раз лучше понимают свою нейросеть.
mkramer
Я имел в виду не бумажный блокнот, а Notepad++, который ТС на скринах выложил
MouseZver
суть не изменилась, пустая трата писанины
mkramer
@MouseZver То есть ты считаешь нормальным программировать сложную систему в Notepad++?
Алекс8
notepad++ отлично память тренирует)) помнишь где что находится)) я на ИДЕшку перешел года два назад)) до этого по какой то никому неведомой причине в блокнотике с плагинами все фигачил))
MouseZver
Чисто для себя — это буст для мозга. Для работы конечно нет. Что за вопросы…
Bit99
Можно убрать вообще все переменные перед construct и объявить один пустой массив. А в construct передавать тоже массив и в цикле заполнять первый массив
Taktreba
я что то упустил в своем само обучени? почему люди не зная языка сразу пишут игру на ООП для НЕЙРОСЕТИ КАРЛ!?!?! чего я не понимаю?
Bit99
Никто не спорит, что не надо писать сложные проекты, не зная хорошо язык программирования. Но автор задал конкретные вопросы и хочет конкретные ответы, а не размышления на тему, что ему делать и как быть в этой жизни.
Taktreba
борьба с несправедливостью в интернетте дело благорожное но глупое.
Artemsikk
Ахах!) Прорвёмся!