Вы можете найти код здесь: github.com/Yasmin-A95/tictactoe

Третья неделя моего погружения в программную инженерию: разработка программы для игры в крестики-нолики с нуля. Никакого HTML или CSS, наш первый проект с нуля. Иисус помоги мне.

День 1: Яростно пишу заметки из своего кабинета в гостиной; класс сегодня в Zoom для «Digital Nomad Monday». План: сделать MVP как можно скорее и с наименьшими заминками, которые я могу сделать, чтобы я мог остановить злые голоса, утверждающие, что я никогда не смогу закончить его и что я совершил ужасную ошибку, подписавшись на Генеральная Ассамблея.

День 2: Я проснулся от тумана беспокойного планирования после двух дней в море разорванной бумаги для рисования с головной болью и ужасной болью в шее из-за того, что я сидел на корточках среди моих драгоценных бумаг и шипел на курьеров, которые пришли ко мне. убедись, что я не заболею цингой. Сегодня снова Zoom, так как моему классу пришлось быстро изменить планы с «Digital Nomad Monday» обратно в класс ко вторнику на «Все Zoom All Time!!» когда одноклассник заболел Covid.

День 3: пора приложить пальцы к клавиатуре и оторвать эту штуку от земли.

День 3 (2 ч 2 м): Плакать, потому что ничего не работает; Я даже не могу войти в консоль. Что же такое происходит?

День 3 (4 часа 30 минут): О, да, я завернул всю свою программу в функцию рендеринга, а затем никогда не вызывал эту функцию. Гах! Почему я такой?

День 4: Ура! Готово, работает, жизнь удалась! Что делать дальше? Я мог бы пока пропустить все дополнительные CSS, так как я сосредоточился на этом в предыдущем домашнем задании и чувствую себя довольно комфортно с ним. Давайте примем непревзойденный алгоритм.

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

Мой инструктор посмотрел на мой код и удивился тому, как красиво я его делаю, что было хорошим способом сказать, что я слишком усложнил то, что могло бы быть довольно простым. Поскольку я все равно делаю что-то сложное, говорит он, мне следует попробовать реализовать минимаксный алгоритм. Я посмотрел на это на 4-й день и отмахнулся от него как от запутанного, но я сказал ему, что посмотрю еще раз. «Это сложно реализовать, не сердитесь, если это не сработает. Попробуй повеселиться!» (перефразируя). Спойлер, я был зол.

День 5 (6 ч 6 м 6 с): Я снова в море заметок. Я готов приступить к реализации этой штуки.

День 5 (9 часов): это не работает, я злюсь, вернемся к ведению заметок.

День 5 (12 часов 12 минут): пора спать. Не получилось, мне грустно. Важно, однако, то, что я впервые поражен тем, как красиво может быть разработан код, и вместо того, чтобы чувствовать себя ошеломленным и сбитым с толку после долгого утомительного бесконечного исправления ошибок и ухода на пенсию, чтобы залечить свои раны, я чувствую себя свежим и бодрым. Это была самая приятная неудача в моей жизни, и я думаю, что со временем и под руководством я смогу успешно реализовать ее теперь, когда я понимаю ее гораздо глубже. Галактический мозг Ясмин совсем рядом, я это чувствую.