Forums Logo

Здравствуйте Гость ( Вход | Регистрация )

Reply to this topicStart new topicStart Poll

Каскадный · [ Стандартный ] · Линейный

> РПГ текстовый файтинг, Закрытый бета тест

Alexander87
post Среда, 31 октября 2018, 14:34
Отправлено #1


Продвинутый
**

Группа: Пользователи
Сообщений: 45
Регистрация: 31 мар. 2016
Пользователь №: 55 050





Пройдите по ссылке, нажмите кнопку Run
Вытяните экран мышкой снизу вверх и наслаждайтесь.

Игра на двоих.
1) Введите имена игроков.
2) Подберите класс, оружие и броню.
3) Выберете рандомные доп. характеристики.
4) Вступайте в бою друг с другом.



https://onlinegdb.com/Hy9iKBP27

Категорически прошу всячески указывать на все кривости, ничтожности и косяки игры.
Так-же прошу Вас подбросить идей по поводу классовых умений и умений за манну. Каких умений не хватает.
Подскажите если баланс кривой.
Без Вас мне не справиться!!!

Сообщение отредактировал Alexander87 - Среда, 31 октября 2018, 18:26


--------------------
Слава Богу за всё и за скорбь и за радость!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Oreanor
post Среда, 31 октября 2018, 14:44
Отправлено #2


старая тусовка
*******

Группа: Пользователи
Сообщений: 2 820
Регистрация: 15 мая. 2008
Из: Москва
Пользователь №: 26 741





user posted image

на этом месте я сдался )


ps: "не" с глаголами пишется раздельно

Сообщение отредактировал Oreanor - Среда, 31 октября 2018, 14:45


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Alexander87
post Среда, 31 октября 2018, 14:46
Отправлено #3


Продвинутый
**

Группа: Пользователи
Сообщений: 45
Регистрация: 31 мар. 2016
Пользователь №: 55 050





QUOTE (Oreanor @ Среда, 31 октября 2018, 14:44)

user posted image

на этом месте я сдался )
*


Заменю на просто Enter
надо 1 нажать просто.


--------------------
Слава Богу за всё и за скорбь и за радость!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Nik1
post Среда, 31 октября 2018, 15:29
Отправлено #4


Флудер
*******

Группа: Пользователи
Сообщений: 4 377
Регистрация: 01 дек. 2014
Пользователь №: 51 382





Alexander87, сорян. Дропнул на выборе брони. Ты хоть картинки туда вставь что ли. Пока совсем не весело(.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Ol_
post Среда, 31 октября 2018, 15:39
Отправлено #5


Билли Бой Торнтон
*******

Группа: Пользователи
Сообщений: 6 171
Регистрация: 04 янв. 2017
Из: У-У
Пользователь №: 57 411





QUOTE (Nik1 @ Сегодня, 15:29)

Дропнул на выборе брони.
*

Зря, там на втором уровне фаталити делать можно lol2.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Oreanor
post Среда, 31 октября 2018, 15:42
Отправлено #6


старая тусовка
*******

Группа: Пользователи
Сообщений: 2 820
Регистрация: 15 мая. 2008
Из: Москва
Пользователь №: 26 741





QUOTE (oldOK @ Среда, 31 октября 2018, 15:39)

Зря, там на втором уровне фаталити делать можно lol2.gif
*


а аскишный мультик в конце есть?


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Alexander87
post Среда, 31 октября 2018, 15:57
Отправлено #7


Продвинутый
**

Группа: Пользователи
Сообщений: 45
Регистрация: 31 мар. 2016
Пользователь №: 55 050





QUOTE (Nik1 @ Среда, 31 октября 2018, 15:29)

Alexander87, сорян. Дропнул на выборе брони. Ты хоть картинки туда вставь что ли. Пока совсем не весело(.
*


Так текстовая игра ведь))


--------------------
Слава Богу за всё и за скорбь и за радость!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Nik1
post Среда, 31 октября 2018, 15:58
Отправлено #8


Флудер
*******

Группа: Пользователи
Сообщений: 4 377
Регистрация: 01 дек. 2014
Пользователь №: 51 382





QUOTE (Alexander87 @ Среда, 31 октября 2018, 15:57)

Так текстовая игра ведь))
*

Ну набей картинку символами тогда. clover.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Ol_
post Среда, 31 октября 2018, 16:00
Отправлено #9


Билли Бой Торнтон
*******

Группа: Пользователи
Сообщений: 6 171
Регистрация: 04 янв. 2017
Из: У-У
Пользователь №: 57 411





QUOTE (Oreanor @ Среда, 31 октября 2018, 15:42)

а аскишный мультик в конце есть?
*

Не знаю, я еще до конца не дошел. На 4-м уровне вообще жесть начинается crazy.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Landis
post Среда, 31 октября 2018, 16:21
Отправлено #10


Спорт это сила.
******

Группа: Пользователи
Сообщений: 1 316
Регистрация: 16 янв. 2017
Из: Замкадландия
Пользователь №: 57 601





Как вы в это играете, вообще ?))
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Ol_
post Среда, 31 октября 2018, 16:33
Отправлено #11


Билли Бой Торнтон
*******

Группа: Пользователи
Сообщений: 6 171
Регистрация: 04 янв. 2017
Из: У-У
Пользователь №: 57 411





QUOTE (Landis @ Среда, 31 октября 2018, 16:21)

Как вы в это играете, вообще ?))
*

Не играл, но осуждаю lol.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Landis
post Среда, 31 октября 2018, 16:38
Отправлено #12


Спорт это сила.
******

Группа: Пользователи
Сообщений: 1 316
Регистрация: 16 янв. 2017
Из: Замкадландия
Пользователь №: 57 601





QUOTE (oldOK @ Среда, 31 октября 2018, 16:33)

Не играл, но осуждаю lol.gif
*


Так я не осуждаю. Я справшиваю-играете как.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Nik1
post Среда, 31 октября 2018, 17:04
Отправлено #13


Флудер
*******

Группа: Пользователи
Сообщений: 4 377
Регистрация: 01 дек. 2014
Пользователь №: 51 382





QUOTE (Landis @ Среда, 31 октября 2018, 16:38)

Так я не осуждаю. Я справшиваю-играете как.
*

Игра на выносливость. Кто дольше в ней пробыл, тот победил. lol.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Alexander87
post Среда, 31 октября 2018, 18:10
Отправлено #14


Продвинутый
**

Группа: Пользователи
Сообщений: 45
Регистрация: 31 мар. 2016
Пользователь №: 55 050





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


--------------------
Слава Богу за всё и за скорбь и за радость!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Nik1
post Среда, 31 октября 2018, 18:24
Отправлено #15


Флудер
*******

Группа: Пользователи
Сообщений: 4 377
Регистрация: 01 дек. 2014
Пользователь №: 51 382





QUOTE (Alexander87 @ Среда, 31 октября 2018, 18:10)

Я понимаю что игра кривая, не красивая и ужасно оптимизированна, я просто пытался хоть-что-то написать, я старался но первый блин ... комом. Я понимаю что Вы пытаетесь обосрать игру и это заслуженно.
Но прошу хотя бы указывать на конкретные косяки.
2 месяца назад я впервые начал серьезно увлекаться программированием ... и это плоды моего познания. Они ничтожны, но я стараюсь.
Возможно я когда нибуть и смогу создать игру от которой Вы не захотите блевать, но это не сейчас.
Поэтому постарайтесь хотя-бы попробовать и немного уделить времени моему детещу. И указать на явные и самые жесткие недостатки.
А программистов прошу указать где код слишком кривой, ведь даже Вы когда-то были очень слабы в програмировании.
*

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

Сообщение отредактировал Nik1 - Среда, 31 октября 2018, 18:24
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Alexander87
post Среда, 31 октября 2018, 18:30
Отправлено #16


Продвинутый
**

Группа: Пользователи
Сообщений: 45
Регистрация: 31 мар. 2016
Пользователь №: 55 050





QUOTE (Nik1 @ Среда, 31 октября 2018, 18:24)

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


Спасибо!, хорошая идея!


--------------------
Слава Богу за всё и за скорбь и за радость!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Oreanor
post Среда, 31 октября 2018, 18:55
Отправлено #17


старая тусовка
*******

Группа: Пользователи
Сообщений: 2 820
Регистрация: 15 мая. 2008
Из: Москва
Пользователь №: 26 741





Не отчаивайся, первые блины они всегда такие.


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
УльтраБлокС
post Среда, 31 октября 2018, 19:21
Отправлено #18


Очень скорая помощь
******

Группа: Пользователи
Сообщений: 1 664
Регистрация: 17 июня 2009
Из: Москва
Пользователь №: 32 448





Огромная гора вложенных списков, то, что можно было вынести в классы почему-то на функциях сделано. Выглядит код как какой-то монструозный код на C, только на 3-ю минуту я понял, что это таки Python. Не надо так.


--------------------
user posted imageuser posted imageuser posted imageuser posted imageuser posted image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Akell
post Среда, 31 октября 2018, 19:27
Отправлено #19


Фанат
***

Группа: Пользователи
Сообщений: 113
Регистрация: 21 апр. 2017
Пользователь №: 58 733





касательно кода. слишком он спутанный и непонятный. это плохо и лишние сложности.

предлагаю:
0) pep8
1) почитать про enum и вдобавок придумать там нормальные структуры данных, чтобы с ними было легко и приятно работать. а то у тебя всё через хардкоженные индексы в двумерных массивах.
2) т.к. тебе нужно обрабатывать ввод, то тебе нужны методы (функции или процедуры, как угодно эт называй) для обработки ввода и проверки его на ошибки. очень стоит вычленить это в отдельное что-то. например в модуль назвать это utils и туда пихать.
3) тоже самое что с п2, только касательно вывода информации.
4) очень много фактически одинаковых строк, прям 1 к 1. почитай про DRY (don't repeat yourself) и постарайся применять.
5) касательно общей архитектуры и структуры проекта и вообще. начинай думать и двигаться в направлении вычленения модулей, сущностей (классов/обьектов) и их аспектов/свойств и прочего, ищи что там у них есть общего и что можно вытащить в отдельные сущности. и переделай всё в направлении обьектно-ориентированного подхода. это позволит проще вносить изменения, улучшать, исправлять, тестировать код. просто сейчас у тебя всё в кашу смешано.
поясню о чем речь. в идеале как должно быть: ты хочешь добавить какую-то новую возможность. например в нового игребального персонажа или механику. и ты сам себя спрашиваешь, в скольких местах нужно переделывать? в идеале таких мест должно быть меньше чем пальцев на руке. (в самом недостижимом идеале - в 1одном месте)
у тебя просто сейчас очень сильно связанный код, с ним сложно работать и непродуктивно. от этого надо избавляться.
6) после того как появится куча модулей и прочего, можно приделать например юнит-тестики, и прочие тесты. это позволит иметь хоть какую-то уверенность в констистенстности вносимых изменений в код.
7) и замечинание про чрезмерное увлечение операторов ветвление (условным оператором). я понимаю что ты хочешь сделать, но вввидимо ввиду недостаточного опыта и навыков, ты используешь не те инструменты.
тебе бы очень подошло обьектно-ориентированное что-то.
тогда бы вместо перебирания вручную всех вариаций в if-else ты бы просто писал Player.takes_damage_from(Another_player) или Player.attacks(Another_player) и всё. Не нужно было бы для каждого отдельного вида бойца перебирать всё это через if. Вся конкретика происходящего была бы внутри бойца встроена уже. Сейчас фактически ты на себя взял всю ту низкоуровневую работу и те нюансы работы кода, которые бы не пришлось вручную делать при ООП. Т.е. ты вручную некие аналоги виртуальных фукнций к неким обьектам маппишь. Т.е. ты изобретаешь некое отдаленое подобие ООП с кучей лишних недостатков, вместо напрямую применения ООП. Что тебе мешает делать это явно? ты просто делаешь лишнюю рутинную работу, в которой легко наделать ошибок.
8) Не привязывайся к коду (в смысле симпатий), будь готов выкинуть его и переделать в любой момент.

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

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

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

если конкретика интересует, то например вот: 734-738
CODE
       player_inoy = warrior[(warrior.index(player))-1]
       if player_inoy[7][0]<player_inoy[7][2]:
           player_inoy[7][0]=player_inoy[7][0]+player_inoy[7][1]
           if player_inoy[7][0]>player_inoy[7][2]:
               player_inoy[7][0]=player_inoy[7][2]



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

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

в следующих строках происходит неведомо что. цифровые индексы не несут смысловой нагрузки (уверен, что ты сам не вспомнишь что скрывается за каждой цифрой). вот тут как раз enum будет в тему.

таких аналогичных проблем ещё много в коде.

можно ещё долго и упорно искать недостатки, в целом, ещё кроме наименования переменных и общего стиля особых дефектов нет (если принять во внимание уровень твоих навыков).

по итогам: код конечно не production ready, требуется значительная проработка архитектуры и структуры и дизайна проекта.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Alexander87
post Среда, 31 октября 2018, 19:52
Отправлено #20


Продвинутый
**

Группа: Пользователи
Сообщений: 45
Регистрация: 31 мар. 2016
Пользователь №: 55 050





QUOTE (Akell @ Среда, 31 октября 2018, 19:27)

касательно кода. слишком он спутанный и непонятный. это плохо и лишние сложности.

предлагаю:
0) pep8
1) почитать про enum и вдобавок придумать там нормальные структуры данных, чтобы с ними было легко и приятно работать. а то у тебя всё через хардкоженные индексы в двумерных массивах.
2) т.к. тебе нужно обрабатывать ввод, то тебе нужны методы (функции или процедуры, как угодно эт называй) для обработки ввода и проверки его на ошибки. очень стоит вычленить это в отдельное что-то. например в модуль назвать это utils и туда пихать.
3) тоже самое что с п2, только касательно вывода информации.
4) очень много фактически одинаковых строк, прям 1 к 1. почитай про DRY (don't repeat yourself) и постарайся применять.
5) касательно общей архитектуры и структуры проекта и вообще. начинай думать и двигаться в направлении вычленения модулей, сущностей (классов/обьектов) и их аспектов/свойств и прочего, ищи что там у них есть общего и что можно вытащить в отдельные сущности. и переделай всё в направлении обьектно-ориентированного подхода. это позволит проще вносить изменения, улучшать, исправлять, тестировать код. просто сейчас у тебя всё в кашу смешано.
поясню о чем речь. в идеале как должно быть: ты хочешь добавить какую-то новую возможность. например в нового игребального персонажа или механику. и ты сам себя спрашиваешь, в скольких местах нужно переделывать? в идеале таких мест должно быть меньше чем пальцев на руке. (в самом недостижимом идеале - в 1одном месте)
у тебя просто сейчас очень сильно связанный код, с ним сложно работать и непродуктивно. от этого надо избавляться.
6) после того как появится куча модулей и прочего, можно приделать например юнит-тестики, и прочие тесты. это позволит иметь хоть какую-то уверенность в констистенстности вносимых изменений в код.
7) и замечинание про чрезмерное увлечение операторов ветвление (условным оператором). я понимаю что ты хочешь сделать, но вввидимо ввиду недостаточного опыта и навыков, ты используешь не те инструменты.
тебе бы очень подошло обьектно-ориентированное что-то.
тогда бы вместо перебирания вручную всех вариаций в if-else ты бы просто писал Player.takes_damage_from(Another_player) или Player.attacks(Another_player) и всё. Не нужно было бы для каждого отдельного вида бойца перебирать всё это через if. Вся конкретика происходящего была бы внутри бойца встроена уже. Сейчас фактически ты на себя взял всю ту низкоуровневую работу и те нюансы работы кода, которые бы не пришлось вручную делать при ООП. Т.е. ты вручную некие аналоги виртуальных фукнций к неким обьектам маппишь. Т.е. ты изобретаешь некое отдаленое подобие ООП с кучей лишних недостатков, вместо напрямую применения ООП. Что тебе мешает делать это явно? ты просто делаешь лишнюю рутинную работу, в которой легко наделать ошибок.
8) Не привязывайся к коду (в смысле симпатий), будь готов выкинуть его и переделать в любой момент.

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

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

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

если конкретика интересует, то например вот: 734-738
CODE
       player_inoy = warrior[(warrior.index(player))-1]
       if player_inoy[7][0]<player_inoy[7][2]:
           player_inoy[7][0]=player_inoy[7][0]+player_inoy[7][1]
           if player_inoy[7][0]>player_inoy[7][2]:
               player_inoy[7][0]=player_inoy[7][2]

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

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

в следующих строках происходит неведомо что. цифровые индексы не несут смысловой нагрузки (уверен, что ты сам не вспомнишь что скрывается за каждой цифрой). вот тут как раз enum будет в тему.

таких аналогичных проблем ещё много в коде.

можно ещё долго и упорно искать недостатки, в целом, ещё кроме наименования переменных и общего стиля особых дефектов нет (если принять во внимание уровень твоих навыков).

по итогам: код конечно не production ready, требуется значительная проработка архитектуры и структуры и дизайна проекта.
*


Спасибо большое!!! Вы указали куда двигаться и что для этого использовать. Вы мне очень помогли. Буду искать и учить новые методы реализации. Вы верно подметили что я использовал самые базовые неэффективные способы для реализации задуманного. Буду учить ООП и новые библиотеки что могут мне помочь в упращении кода. Завтра разберусь подробно в Вашей оценке и начну изучать неведомые мне вещи, что были Вами описаны.


--------------------
Слава Богу за всё и за скорбь и за радость!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
 

Упрощённая версия Сейчас: Вс., 06 июля 2025, 11:04
Skin Designed (c) by Rooq.net, All Rights Reserved.