Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.94/35: Рейтинг темы: голосов - 35, средняя оценка - 4.94
 Аватар для ROG1993
0 / 0 / 2
Регистрация: 27.01.2013
Сообщений: 94

Шахматная доска цвета

21.03.2013, 22:47. Показов 7116. Ответов 55
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
ребят есть 64 пикчербокс они все в массиве ВИЗУАЛ БЕЙСИК 6.0
индекс начинается с 1 до 64
как реализоват код чтобы все клетки выли закрашены (черно-белый)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.03.2013, 22:47
Ответы с готовыми решениями:

Создать приложение «Шахматная доска». Исправить код
Создать приложение «Шахматная доска» для рисования квадратного поля, покрытого клетками с чередующимися, как на шахматной доске, цветами....

Шахматная доска. Выяснить, являются ли поля (k, l) и (m, n) полями одного цвета
Поле шахматной доски определяется парой натуральных чисел, первое из которых задает номер вертикали, а второе - номер горизонтали. Даны...

Шахматная доска: определить являются ли поля (к, l) и (m, n) полями одного цвета
Поле шахматной доски определяется парой натуральных чисел: первое число - номер вертикали (при счете слева направо), второе - номер...

55
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
21.03.2013, 23:23
А расположены уже как надо?

Добавлено через 20 минут
Visual Basic
1
2
3
4
5
6
7
    For i = 1 To 8
      For j = 1 To 8
         If (i + j) Mod 2 = 0 Then col = vbBlack Else col = vbWhite
              k = k + 1
              Picture1(k).BackColor = col
      Next j
    Next i
0
 Аватар для ROG1993
0 / 0 / 2
Регистрация: 27.01.2013
Сообщений: 94
22.03.2013, 15:10  [ТС]
не получается пишет control array element "64" doesnt exist
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
22.03.2013, 15:23
Ну значит у Вас пикчербоксы не с 1 по 64, а с 0 по 63. Добавьте ещё один с 64 индексом.
0
 Аватар для ROG1993
0 / 0 / 2
Регистрация: 27.01.2013
Сообщений: 94
22.03.2013, 15:27  [ТС]
добажил на все равно эту ошибку выдает и желтым подчеркивает Picture1(k).BackColor = Col
имя у всех Picture1
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
22.03.2013, 15:30
Можешь выложить проект, я подправлю?
0
 Аватар для ROG1993
0 / 0 / 2
Регистрация: 27.01.2013
Сообщений: 94
22.03.2013, 15:41  [ТС]
вот
Вложения
Тип файла: rar chess.rar (1.5 Кб, 55 просмотров)
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
22.03.2013, 15:54
Удивительно, но у меня Ваш проект заработал сразу без ошибок. Только в первом ряду клетки были закрашены со сдвигом.

Прикладываю проект с динамической загрузкой пикчербоксов.
Вот код:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Form_Load()
    Dim i As Integer, j As Integer, k As Integer, col As Long
    For i = 1 To 8
       For j = 1 To 8
           If (i + j) Mod 2 = 0 Then col = vbBlack Else col = vbWhite
           k = k + 1
           Load Picture1(k)
           Picture1(k).Left = Picture1(0).Width * (j - 1) + Picture1(0).Left
           Picture1(k).Top = Picture1(0).Height * (i - 1) + Picture1(0).Top
           Picture1(k).BackColor = col
           Picture1(k).Visible = True
       Next j
    Next i
End Sub
У меня ноут, поэтому не все клетки помещаются
Миниатюры
Шахматная доска цвета  
Вложения
Тип файла: rar chess.rar (1.2 Кб, 58 просмотров)
2
 Аватар для ROG1993
0 / 0 / 2
Регистрация: 27.01.2013
Сообщений: 94
22.03.2013, 15:59  [ТС]
спасибо !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
0
Заблокирован
18.07.2016, 13:40
Цитата Сообщение от SoftIce Посмотреть сообщение
Удивительно, но у меня Ваш проект заработал сразу без ошибок
SoftIce!
Бэйсик подневольный! Телепатия бессильна! Вы пропустили самый важный оператор: Option Base 1

А народ живёт впотьмах, поэтому все мучаются. Просвет там: прочтите про Option Base 1, ведёт свой подсчёт индексов с единицы!

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Option Base 1
Private Sub Form_Load()
    Dim i As Integer, j As Integer, k As Integer, col As Long
    For i = 1 To 8
       For j = 1 To 8
           If (i + j) Mod 2 = 0 Then col = vbBlack Else col = vbWhite
           k = k + 1
           Load Picture1(k)
           Picture1(k).Left = Picture1(0).Width * (j - 1) + Picture1(0).Left
           Picture1(k).Top = Picture1(0).Height * (i - 1) + Picture1(0).Top
           Picture1(k).BackColor = col
           Picture1(k).Visible = True
       Next j
    Next i
End Sub
1
Заблокирован
18.07.2016, 14:03
Всё равно что-то не так? Картинки ниже. Ошибка "13".
Миниатюры
Шахматная доска цвета   Шахматная доска цвета  
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
18.07.2016, 16:15
Infinity20_5, а проект из 8-го поста скачать и посмотреть слабО?
1
42 / 20 / 9
Регистрация: 15.01.2015
Сообщений: 95
18.07.2016, 16:27
Infinity20_5, у вас пикчер без индекса... вот он и ругается, а индекс должен равняться 0
И без Option Base 1 работает... пикчер просто закрасить надо в черный цвет.
0
Заблокирован
18.07.2016, 16:46
Цитата Сообщение от SoftIce Посмотреть сообщение
Infinity20_5, а проект из 8-го поста скачать и посмотреть слабО?
SoftIce!
У меня вредный характер, поэтому себе не доверяю. Стараюсь всё делать скрупулёзно, чтобы найти причины неудач. Мне стыдно быть нахлебником.

Время загрузки ниже. У меня 13:04 и 13:05 (мск).

Цитата Сообщение от paau Посмотреть сообщение
Infinity20_5, у вас пикчер без индекса
paau!
Не хочется тратить время на игру в "пятнашки". Кто Вам мешает указать точное место, где не хватает индекса? Приведите, пожалуйста, скрин.

У многих интерес к этой теме, поэтому сэкономим общественное время.
Миниатюры
Шахматная доска цвета  
0
42 / 20 / 9
Регистрация: 15.01.2015
Сообщений: 95
18.07.2016, 17:40
На форме 1 пикчерс с индексом 0, а у вас там по видимому вообще ничего нет.
Миниатюры
Шахматная доска цвета  
1
Заблокирован
18.07.2016, 18:38
Цитата Сообщение от paau Посмотреть сообщение
а у вас там по видимому вообще ничего нет
paau!
Пишу про этот код:
Visual Basic
1
2
3
4
5
6
7
8
9
10
Private Sub Form_Load()
    Dim i As Integer, j As Integer, k As Integer, col As Long
    For i = 1 To 8
       For j = 1 To 8
           If (i + j) Mod 2 = 0 Then col = vbBlack Else col = vbWhite
              k = k + 1
              Picture1(k).BackColor = col
       Next j
    Next i
End Sub
Мне интересно: почему у SoftIce код сработал по его словам, ниже. А у меня: Ошибка — 340?
Цитата Сообщение от SoftIce Посмотреть сообщение
Удивительно, но у меня Ваш проект заработал сразу без ошибок. Только в первом ряду клетки были закрашены со сдвигом.
С индексом всё в порядке стоит = 0, картинка ниже.

Сомнения замучили. Мысли разные, например: может у меня Бэйсик — тупой, как и хозяин?
Рыбак рыбака видят издалека. Мой Бэйсик упёрся как ишак и ни в какую сторону, ни с места — ничего признавать не хочет.
Миниатюры
Шахматная доска цвета   Шахматная доска цвета  
0
42 / 20 / 9
Регистрация: 15.01.2015
Сообщений: 95
18.07.2016, 21:31
Этот код - рабочий
Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub Form_Load()
 For i = 1 To 8
      For j = 1 To 8
         If (i + j) Mod 2 = 0 Then col = vbBlack Else col = vbWhite
              k = k + 1
              Picture1(k).BackColor = col
      Next j
    Next i
End Sub
На форме пикчербоксы с индексами от 1 до 64
1
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
18.07.2016, 21:34
Цитата Сообщение от paau Посмотреть сообщение
На форме пикчербоксы с индексами от 1 до 64
Ему бесполезно объяснять, он, похоже не читает что люди пишут.
Первое сообщение:
Цитата Сообщение от ROG1993 Посмотреть сообщение
ребят есть 64 пикчербокс они все в массиве ВИЗУАЛ БЕЙСИК 6.0
индекс начинается с 1 до 64
0
42 / 20 / 9
Регистрация: 15.01.2015
Сообщений: 95
18.07.2016, 21:47
вот...
Миниатюры
Шахматная доска цвета  
0
42 / 20 / 9
Регистрация: 15.01.2015
Сообщений: 95
18.07.2016, 22:03
В проекте, который прикрепил ROG1993 в 7 сообщении необходимо расположить пикчеры с 1 по 64, а не так как там было ... с 0 по 63, поэтому и сдвиг был в первой колонке... А так - оба кода рабочие... и кодSoftIce тоже работает.
Если из-за чего то не работает - то только из за косяков в пикчерах.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.07.2016, 22:03
Помогаю со студенческими работами здесь

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

Шахматная доска
Здесь программа строит шахматную доску. Мне нужно инвертировать цвета, каждые 2-5 секунд. У меня есть идея, но не получается её...

Шахматная доска
Шахматная доска содержит 8x8 клеток. Горизонтали и вертикали обозначаются цифрами 1-8. Написать программу, проверяющую, можно ли с первой...

Шахматная доска
Шахматная доска Напишите программу, которая на вход принимает одно цело число n в диапазоне от 1 до 100, а на выход подаёт квадрат - типа...

Шахматная доска
Добрый день! Задача: Дана шахматная доска размером nn клеток. Верхняя левая клетка доски черная и имеет номер (1, 1). 1.для...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru