Форум программистов, компьютерный форум, киберфорум
React/ReactJS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для Clyga_Xaocy
0 / 0 / 0
Регистрация: 30.01.2019
Сообщений: 20

Морской бой на react

04.11.2021, 10:53. Показов 2473. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Решил сделать Морской бой на реакте. Была данная тема или нет. Но я не нашел(
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.11.2021, 10:53
Ответы с готовыми решениями:

Посоветуйте практический курс на React redux/ react
Всем привет. Столкнулся с тем, что мне не хватает практики. Подскажите какой практический курс по реакту. типо...

Разница между React и React native
Я хочу начать освоение React для фрондента, но при этом хотел бы иметь возможность писать мобильные приложения. И поэтому у меня вопрос:...

Несовместимость React-Router и React-Bootstrap
Добрый день, Пишу маленький проект и в качестве дизайна решил использовать React-Bootstrap. При создании Навигации сайта использовал...

8
 Аватар для bodynar
345 / 307 / 135
Регистрация: 14.03.2015
Сообщений: 1,158
Записей в блоге: 1
04.11.2021, 14:20
Clyga_Xaocy, Рекомендую следующее свое приложение описать на функциональных компонентах

И, по возможности, выносить обработку \ бизнес-логику в отдельные файлы, чтобы не нагружать компоненты
По стилям - рекомендую ознакомиться с БЭМ

Цитата Сообщение от Clyga_Xaocy Посмотреть сообщение
Решил сделать Морской бой на реакте
Каким образом? С компьютером\игроком или заранее заданным конфигом попаданий?
0
 Аватар для Clyga_Xaocy
0 / 0 / 0
Регистрация: 30.01.2019
Сообщений: 20
04.11.2021, 17:31  [ТС]
bodynar,
С компьютером, с перетаскивание кораблей на поле. А в компютера рандом растановка и т.д.
0
 Аватар для bodynar
345 / 307 / 135
Регистрация: 14.03.2015
Сообщений: 1,158
Записей в блоге: 1
05.11.2021, 04:30
Clyga_Xaocy, А компьютер - это будет также на клиенте или уже работа с сервером?

Рекомендую для начала описать часть с "выстрелами" по вражеским кораблям через нажатие по элементам некой матрицы (визуальной)
0
 Аватар для Clyga_Xaocy
0 / 0 / 0
Регистрация: 30.01.2019
Сообщений: 20
08.11.2021, 10:26  [ТС]
bodynar,
Да по двухмерной матрицы. Вот код поля компютера(пока изучаю Drag and drop, думаю он мне поможет):
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import { Component } from "react";
 
import "./battlefieldComp.scss"
 
const BattlefieldComp = () => {
    const horizont = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',''];
    const vertical = ['', 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
    const item = vertical.map(lett => {
        var id = [];
 
        return (
            <div key={`0${lett}`} className='fieldHorizont'>
                {horizont.map(numb => {
                    id = `${lett}${numb}`;
                    return (
                        <BattlefieldItem key={id}
                        text={`${lett}${numb}`} />
                    )
                })}
            </div>
        )
    })
 
    return (
        <>
            {item}
        </>
    )
}
 
class BattlefieldItem extends Component {
    
    render() {
        const text = (this.props.text.length===1||this.props.text==='10')?this.props.text:'';
        const styleText = (this.props.text.length<=1||this.props.text==='10')?"styleText":'';
        return (
            <button className={`fieldItem ${styleText}`}>{text}</button>
        )
    }
}
 
export default BattlefieldComp;
0
 Аватар для bodynar
345 / 307 / 135
Регистрация: 14.03.2015
Сообщений: 1,158
Записей в блоге: 1
08.11.2021, 10:42
Clyga_Xaocy, рекомендую разметку размещать только в return ФК, чтобы как-то соблюсти сегрегацию функциональности и разметки.

А также использовать только ФК.

И да, повторюсь, рекомендую расписать задачу по пунктам, где в самом начале реализовать тривиальное - построение поля и возможность "выстрелить" в клетку и получить результат (пока что рандомно) в виде изменения клетки. Далее - уже наращивать функционал в виде создания своей флотилии, перетаскивания и т.д. Это если вы начинаете осваивать react, как вы ранее писали

Не по теме:

И может создать отдельную тему?

0
 Аватар для Clyga_Xaocy
0 / 0 / 0
Регистрация: 30.01.2019
Сообщений: 20
08.11.2021, 11:43  [ТС]
bodynar,
Извините за глупый вопрос, ФК?
0
 Аватар для bodynar
345 / 307 / 135
Регистрация: 14.03.2015
Сообщений: 1,158
Записей в блоге: 1
08.11.2021, 13:14
Clyga_Xaocy, ФК - Функциональный компонент, как у вас BattlefieldComp описан
0
22 / 15 / 8
Регистрация: 20.02.2019
Сообщений: 128
08.11.2021, 13:16
ФК - функциональный компонент.

В "React js" два вида компонентов: "функциональные", "классовые".

Если коротко, то отличия в работе с "состоянием(ями)" в текущем компоненте(т. е. "классовые" предлагают более продвинутую работу с состояниями, "функциональные" предоставят вам "хуки"(перехватчики) для работы с ними(состояниями)).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.11.2021, 13:16
Помогаю со студенческими работами здесь

морской бой
#include &lt;iostream&gt; // cin, cout #include &lt;clocale&gt; // поддержка русского языка #include &lt;conio.h&gt; // _getch() #include...

Морской бой
Здравствуйте. Помогите пожалуйста.Нашла испанскую версию Морского боя с технологии NFC.Код испанской версии есть,хочу его переделать, но...

Морской бой
Товарищи, не осталось ли ни у кого самого простецкого морского боя на андройд? Пусть на всяких gamemaker или Construct2 , хоть на чем. ...

Морской бой С++
Помогите пожалуйста.Нужно сделать так,чтобы обрисовало выстрелами все(вокруг убитого корабля) #include &lt;iostream&gt; #include...

C++ Морской бой
Недавно начал изучать c++ и вот решил написать консольный морской бой, но вот в чём возникли проблемы: 1.Как сделать стрельбу для игрока...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru