Структура проекта

Artemsikk

Здравствуйте, не закидывайте, около недели назад начал в пассивно-агрессивном режиме изучать ООП, чтобы решить задачу на PHP, это единственный язык где я хоть 3 строчки могу написать, остальные я вообще не знаю.

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

Проект поставил себе задачу запилить где-то за год, сейчас столкнулся с проблемой организации симулятора боёвки. Ответьте если есть возможность на мои новичковые вопросы))

1) У меня есть класс атак, возможно ли в констракте как-то не переписывать все $this и свойства, а как-то разом скопировать их оттуда где я их объявляю? То есть хочу избавиться от этой трёхэтажности:

PHP:
  1.             $this->name = $name;
  2.             $this->type = $type;
  3.             $this->power = $power;
  4.             $this->accuracy = $accuracy;
  5.                         $this->special = $special;// и т д

2) Организация боёвки сделана циклом:

PHP:
  1. $i=0;
  2.  
  3. while (true){

И если покемон умирает, бой закончен цикл брейкается по brake;
Вопрос — не словлю ли я проблем со скоростью загрузки в будущем при таком подходе?

Скрины с кодом тоже дал
Screenshot_3.png

Screenshot_4.png

 

mkramer

В конце ноября станет можно, как php 8 выйдет. Будет синтаксис как в Typescript:

PHP:
  1. class A {
  2.     // До php 8 даст ошибку
  3.     public function __construct(public $a, public $b, public $c) {}
  4. }
  5.  
  6. $a = new A(12, 13, 14);
  7. echo $a->a; // 12

По поводу боёвок — без понятия. Учтите, что традиционный php, вызванный через веб-сервер, должен умереть за 30 (настраивается) секунд иначе упадёт с ошибкой. Возможно вам нужны будут очереди для просчёта или даже библиотеки для асинхронного php типа Swoole, ReactPHP и других.

Скринами больше код никогда не выгладывайте. Единственное место, где это допустимо — обсуждение неверного отображения в IDE.

Нейросети в блокнотике писать — глупость, поставьте хотя бы бесплатный Netbeans или Visual Studio Code, а лучше PHP Storm.
— Добавлено —
Да, и миллион пропертей — это не серьёзно, надо подумать над организацией кода.

 

twim32

Отвечу исходя из собственного опыта : не стоит начинать ООП с пэт-проектов. Потому что из-за отсутствия опыта, я не смог построить что-то хорошее сразу и каждые 6 месяцев я переписывал проект, базируясь на новых знаниях.

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

 

mkramer

MouseZver

o_O
Те кто пишут нейросетки, уже хорошо. А те кто пишут хоть то на бумаге, в 10 раз лучше понимают свою нейросеть.

 

mkramer

Я имел в виду не бумажный блокнот, а Notepad++, который ТС на скринах выложил

 

MouseZver

суть не изменилась, пустая трата писанины o_O

 

mkramer

@MouseZver То есть ты считаешь нормальным программировать сложную систему в Notepad++?

 

Алекс8

notepad++ отлично память тренирует)) помнишь где что находится)) я на ИДЕшку перешел года два назад)) до этого по какой то никому неведомой причине в блокнотике с плагинами все фигачил))

 

MouseZver

Чисто для себя — это буст для мозга. Для работы конечно нет. Что за вопросы…

 

Bit99

Можно убрать вообще все переменные перед construct и объявить один пустой массив. А в construct передавать тоже массив и в цикле заполнять первый массив

 

Taktreba

я что то упустил в своем само обучени? почему люди не зная языка сразу пишут игру на ООП для НЕЙРОСЕТИ КАРЛ!?!?! чего я не понимаю?

 

Bit99

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

 

Taktreba

борьба с несправедливостью в интернетте дело благорожное но глупое.

 

Artemsikk

Ахах!) Прорвёмся!

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *