За последние 24 часа нас посетили 22756 программистов и 1080 роботов. Сейчас ищут 811 программистов ...

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

Тема в разделе "PHP для новичков", создана пользователем Artemsikk, 26 окт 2020.

  1. Artemsikk

    Artemsikk Новичок

    С нами с:
    26 окт 2020
    Сообщения:
    2
    Симпатии:
    0
    Здравствуйте, не закидывайте, около недели назад начал в пассивно-агрессивном режиме изучать ООП, чтобы решить задачу на 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
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.554
    Симпатии:
    1.754
    В конце ноября станет можно, как 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.
    --- Добавлено ---
    Да, и миллион пропертей - это не серьёзно, надо подумать над организацией кода.
     
    Artemsikk нравится это.
  3. twim32

    twim32 Активный пользователь

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

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

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.554
    Симпатии:
    1.754
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.751
    Симпатии:
    1.322
    Адрес:
    Лень
    o_O
    Те кто пишут нейросетки, уже хорошо. А те кто пишут хоть то на бумаге, в 10 раз лучше понимают свою нейросеть.
     
  6. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.554
    Симпатии:
    1.754
    Я имел в виду не бумажный блокнот, а Notepad++, который ТС на скринах выложил
     
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.751
    Симпатии:
    1.322
    Адрес:
    Лень
    суть не изменилась, пустая трата писанины o_O
     
  8. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.554
    Симпатии:
    1.754
    @MouseZver То есть ты считаешь нормальным программировать сложную систему в Notepad++?
     
  9. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    notepad++ отлично память тренирует)) помнишь где что находится)) я на ИДЕшку перешел года два назад)) до этого по какой то никому неведомой причине в блокнотике с плагинами все фигачил))
     
  10. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.751
    Симпатии:
    1.322
    Адрес:
    Лень
    Чисто для себя - это буст для мозга. Для работы конечно нет. Что за вопросы...
     
  11. Bit99

    Bit99 Новичок

    С нами с:
    14 окт 2020
    Сообщения:
    53
    Симпатии:
    4
    Можно убрать вообще все переменные перед construct и объявить один пустой массив. А в construct передавать тоже массив и в цикле заполнять первый массив
     
  12. Taktreba

    Taktreba Активный пользователь

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

    Bit99 Новичок

    С нами с:
    14 окт 2020
    Сообщения:
    53
    Симпатии:
    4
    Никто не спорит, что не надо писать сложные проекты, не зная хорошо язык программирования. Но автор задал конкретные вопросы и хочет конкретные ответы, а не размышления на тему, что ему делать и как быть в этой жизни.
     
    Taktreba нравится это.
  14. Taktreba

    Taktreba Активный пользователь

    С нами с:
    11 янв 2017
    Сообщения:
    543
    Симпатии:
    132
    борьба с несправедливостью в интернетте дело благорожное но глупое.
     
  15. Artemsikk

    Artemsikk Новичок

    С нами с:
    26 окт 2020
    Сообщения:
    2
    Симпатии:
    0
    Ахах!) Прорвёмся!