Войти
С++ ПрограммированиеФорум

[C++ Консоль] ТЕТРИС на коленке. (комментарии) (2 стр)

Страницы: 1 2 3 4 5 6 Следующая »
#15
(Правка: 12:33) 8:38, 14 июня 2023

gudleifr
> Читал. Но уже не советую
японские авторы хорошие люди...

помните историю в Японии с созданием компов 5+ поколения и на базе этого исследование ИИ?
так вот на это дело было выделена огромная куча бабла.
и это бабло было успешно освоено.

https://ru.wikipedia.org/wiki/Компьютеры_пятого_поколения

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

тут бла-бла-бла ...

итого,
обозримое информационное поле человека просто уже засрано мусорными знаниями.

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

тут бла-бла-бла ...

gudleifr
> Даже не советую свой форум...
предлагаете мне запостить какой-нить мой мануал на вашем форуме?

#16
(Правка: 10:06) 9:54, 14 июня 2023

xlat-code
> предлагаете мне запостить какой-нить мой мануал на вашем форуме?
Не запрещаю. Даже уже хотел сам выложить там работу над Вашими ошибками. Но, не смог придумать, чем и кому это было бы полезным.

P.S. Что-то я расписался. Правда, в Питере до сих пор не сняты коронавирусные ограничения, так что имею право. Но, опять же, какой смысл?

#17
10:44, 14 июня 2023

gudleifr
> Что-то я расписался.

+ Показать

gudleifr
> Не запрещаю.
никогда не писал мануалы,
по текущему тетрису я понял, что писать мануал с разжевываниями тяжелая рутинная штука,
если всё разжевывать, то получится текста на книгу,
поэтому я сразу предупредил, что мануал не про язык,
тут у мя уже нужно чуть-чуть уметь читать код.

gudleifr
> Но, не смог придумать, чем и кому это было бы полезным.
я слышал, есть группы разрабов в > 200 челов,
которые пишут одну программу(каждая группа свою одну),
которую будет юзать ВСЕГДА только 1(или около этого) человек.

некоторые вещи не для всех,
но в итоге через проводника эти вещи влияют на всех.

gudleifr
> хотел сам выложить там работу над Вашими ошибками
я всё собираюсь, но стесняюсь спросить:
gudleifr
> исправьте те три грубейшие ошибки, что я указал

в чем суть ошибок?

gudleifr
> какой смысл?
смысл всегда существует только внутри системы,
за пределами которой он исчезает.

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

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

#18
11:00, 14 июня 2023

xlat-code
> в чем суть ошибок?

1:
> есть два способа начать писать прогу:
> 1. снизу вверх.(не гуд)
> 2. сверху вниз.(гуд)
По Кнуту, это не два способа, а этапы одной разработки (см. первый том "Искусства" #1.4.1). По сути, это баланс индуктивного и дедуктивного рассуждений. (Не буду спамить ссылкой). Но для задачи столь малого размера это абсолютно не нужно. Да и Вы просто пишете методом тыка - пытаетесь применить подряд те парадигмы, которые применяете обычно, невзирая на их полезность в данном случае. Поэтому эта Ваша "ссылка на теорию" вредна.

2:
> 1. снизу вверх.(не гуд)
> ...
> поэтому проще начать с него.
Тут голая логика. Зачем применять то что "не гуд" в учебнике? Затем Вы усугубили. "Берем C++ конкретной версии" но "не будем его учить". Мораль: сначала решите кого и чему будете учить, и только затем - составляйте учебный план.

3:
> с другой стороны, если эту отдельную часть обобщить,
> то она автоматом мигрирует во второй способ и становится отдельным прожектом.
> вокак.
Это не Ваша ошибка. Это общая проблема "современных программистов".
https://gamedev.ru/flame/forum/?id=226833&page=30&m=4526996#m435
https://gamedev.ru/flame/forum/?id=214631&page=10&m=4211427#m143

#19
12:17, 14 июня 2023

gudleifr
большое спасибо за внятный ответ,
ваше мнение мне понятно.

"Моя мудрость настолько велика, что простому смертному она незаметна!"
(Конфуций)

> Зачем применять то что "не гуд" в учебнике?
1.
пример данный Биллгайтсу является отдельной задачей с глубокой абстракцией
и не привязан к какому то одному проекту.

в своём роде это движкописательство на пальцах.

ОН САМ ПО СЕБЕ УЖЕ ЗАКОНЧЕННЫЙ ПРОЕКТ!!!

это нужно усвоить.

2.

Ну, вы должны знать про рекурсию в цикле разработки ПО:

1. пишем план
2. по плану код
3. усложняем план - гоуту к 2

изначально нельзя(даже если и можно то не нужно) составить ПОЛНЫЙ план кодинга проекта.
Вы же знаете, что сначала нужно просто и быстро сделать простейшую демку
лол)))

gudleifr
> Но для задачи столь малого размера это абсолютно не нужно.
это спорно.
задачи малого размера мне не интересны если их нельзя масштабировать.
тут основная суть: БОЛЬШАЯ ЗАДАЧА СВОДИТСЯ К МАЛОЙ и решается эта малая,
но сводится так, чтобы можно вернуться к большой задаче.

например,
генератор расстановки лодок Морского Боя превращается в генератор карт "островов в океане"
легко и просто при задании соответствующих входных аргументов.

gudleifr
> Это общая проблема "современных программистов".
Изображение
пофик на Кнута и всех остальных процедурщиков:
основная изюминка:
Писать код для тетриса так, чтобы он подходил и для и арканоида и для змейки.
да - это сложно.
я не утверждаю что я это умею, но хочу уметь,
поэтому, признаюсь, что этот  мануал просто экспа самому себе.

помните рекомендательный рецепт? хочешь научиться - начинай учить других)

#20
(Правка: 12:51) 12:43, 14 июня 2023

xlat-code
> рекурсию в цикле разработки ПО:
Это просто "испорченный телефон". Цитата Кнута, ставшая молитвой Святой Омниссии.

xlat-code
> в своём роде это движкописательство на пальцах.
Это дорога под откос:
https://gamedev.ru/flame/forum/?id=231752&page=15&m=4855490#m222

xlat-code
> Писать код для тетриса так, чтобы он подходил и для и арканоида и для змейки.
Это плохо.

Сначала решите, для чего вообще пишете.
https://gamedev.ru/gamedesign/forum/?id=226064&m=4492819#m2

Решите о чем Вы собираетесь писать, какие там проблемы:

О программировании:
https://gamedev.ru/flame/forum/?id=236906&m=4777693#m0

О C++:
https://gamedev.ru/projects/forum/?id=258707&m=5340111#m1

Даже о Тетрисе:
https://gamedev.ru/flame/forum/?id=239823&m=4858902#m0

(Это без спама).

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

#21
14:26, 14 июня 2023

gudleifr
> А начинать решение программистской задачи с поиска подходящего контейнера STL -
> это прямой путь к превращению решения на один вечер в мировую проблему.
в бейсике и вариантов нет среди которых можно искать.
а в форте  ещё подходящий контейнер нужно писать неделю - в форте же нет контейнеров?

Красотище:

#include <iostream>
#include <vector>
#include <string>

using namespace std;

struct  mat2D_t : public std::vector<std::string>
{       mat2D_t (        std::initializer_list<std::string> d)
                :        std::vector          <std::string>(d){}

    std::string name{"I am matrix"};
};

int main()
{

    mat2D_t mat{"qwe", "123", "ghj"};

    cout << mat.name << endl;

    for(const auto& s : mat) { cout << s << endl; } cout << endl;

    cout << (int*)&mat[0][0] << endl;

    std::swap(mat[0], mat[1]);

    cout << (int*)&mat[0][0] << endl;

    for(const auto& s : mat) { cout << s << endl; } cout << endl;
}

мне нравится,
вот так должен работать настоящий ооп)

https://rextester.com/YMQFX38856

gudleifr
> Приходит новичок...
дайте ссыль как правильно нужно объяснять нубу кодить?

gudleifr
> Сначала решите, для чего вообще пишете.
нет.
это пусть решает сам тот кто читает - зачем он это читает!

gudleifr
> Аксиома 1: Программистов не бывает. Есть только системщики и пользователи.
> Системщики бывают математиками
вы не в курсе?
математики пишут безобразный код.
хороший( а хороший код - это читабельный код) пишут лингвисты.

gudleifr
> О C++:
дайте ссыль на вашу программу на С++,
только так мне будут понятны все ваши рассуждения о С++.

С++ решает прежде всего вопросы оптимизации с минимальными проблемами для проектирования.

gudleifr
> Какая глубина у Тетриса?
можно измерить кол-вом скачиваний в гуглплее:

рандомные ссылки:
https://habr.com/ru/news/679182/
https://topster.plus/list/top-10-samyh-prodavaemyh-igr-v-mire

рандомного разраба:
Изображение
https://play.google.com/store/apps/details?id=com.n3twork.tetris&hl=ru&pli=1

#22
(Правка: 14:48) 14:35, 14 июня 2023

xlat-code
> а в форте  ещё подходящий контейнер нужно писать неделю - в форте же нет
> контейнеров?
Обычно хватает пяти минут.

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

P.S. Пожалуйста, задавайте по вопросу за раз.

#23
(Правка: 15:14) 15:11, 14 июня 2023

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

в этом примере исследуется  два вопроса:
1. как работает наследование для стл.
2. и для задачи оптимизации -  избегание копирования данных.

gudleifr
> посчитайте, сколько символов ушло на решение задачи
про самодокументирование что-нибудь слышали?
или предпочитаете птичий язык?

как в https://rosettacode.org/wiki/Category:K
Изображение

gudleifr
> P.S. Пожалуйста, задавайте по вопросу за раз.
вопросы часто риторические...

отвечать сначала себе, а потом на ваше усмотрение)

gudleifr
> Обычно хватает пяти минут.
нет - за 5 минут вы не напишите в фоте такой контейнер, который уже идёт в стандарте крестов.

#24
(Правка: 15:23) 15:12, 14 июня 2023

xlat-code
> мне проще сделать гипотезу и провести эксперимент,
> который либо подтвердит, либо опровергнет её.
Да, Вы уже говорили, что из этих экспериментов рождаются "проекты". Это болезнь свойственна C++.

xlat-code
> про самодокументирование что-нибудь слышали?
Вы думаете, что если Вы раскатали строчку в елочку, она волшебным способом самодокументировалась?

#25
15:20, 14 июня 2023

gudleifr
> Вы думаете, что если Вы раскатали строчку в елочку, она волшебным способом
> самодокументировалась?
а в чём подвох?

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

для русского, индуса и китайца код внутри абсолютно ясен и не требует пояснений.

ну а сверху над кодом, ещё, конешъ, нужно добавить коммент,
но вы же против "много символов",
поэтому и так сойдет)

#26
(Правка: 15:25) 15:22, 14 июня 2023

xlat-code
> все имена стандартизованы,
Т.е. не нужны. В K их просто выбросили.

xlat-code
> нет - за 5 минут вы не напишите в фоте такой контейнер, который уже идёт в
> стандарте крестов.
Дык, в том-то и дело, что "стандартные" контейнеры писать не нужно. Нужно писать то, что годится для данной задачи.

xlat-code
> вопросы часто риторические...
Нет. Это для Вас - это заученные ката. А в программировании - это ошибки, требующие Вашего переучивания практически с нуля.

#27
15:25, 14 июня 2023

gudleifr
> Дык, в том-то и дело, что "стандартные" контейнеры писать не нужно. Нужно
> писать то, что годится для данной задачи.
поэтому индустрия в упадке,

потому что все(ну, это бы вам так хотелось) погроммисты пишут свои велосипеды.

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

#28
15:27, 14 июня 2023

gudleifr
> переучивания практически с нуля.

1.
xlat-code
> дайте ссыль как правильно нужно объяснять нубу кодить?

2.
xlat-code
> дайте ссыль на вашу программу на С++,

#29
(Правка: 15:34) 15:31, 14 июня 2023

xlat-code
> ну, это бы вам так хотелось
Нет никакого "хотения". Есть практическая проблема что-то запрограммировать. И есть "стандартные решения", которые эту потребность ни разу не удовлетворяют.
https://gamedev.ru/flame/forum/?id=246126&page=8&m=5026039#m119

xlat-code
> дайте ссыль как правильно нужно объяснять нубу кодить?

>> Следствие 23: Сначала научись что-то делать и только потом учись это программировать.

Страницы: 1 2 3 4 5 6 Следующая »
С++ ПрограммированиеФорум