Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 2
Регистрация: 20.04.2012
Сообщений: 35

Один из методов рандомного расположения Image

25.05.2012, 22:47. Показов 1099. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем. Хочу сделать рандомное, и в то-же время контролируемое расположение Image. У меня есть к примеру 12 положений, которые указываются значениями Top и Left, и в эти положения мне нужно случайным образом растусовать изображения. Делаю это так:
C++
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
  int lefft[4] = {808,824,808,824};
  int top[4] = {16,32,238,254};
  int a[4];
  int b[4];
 
  Randomize();
 
  for (int j=0;j<=4;j++) {
 
     a[j] = lefft[random(4)];
 
      for (int i=0;i<=4;i++) {
       if (a[j] == lefft[i]) {
       b[j] = top[i];
      // break;
       }
       }
       }
 
   Image1->Left = a[0];
   Image1->Top = b[0];
   Image1->Width = 200;
   Image1->Height = 200;
   Image1->Visible = true;
 
   Image2->Left = a[1];
   Image2->Top = b[1];
   Image2->Width = 200;
   Image2->Height = 200;
   Image2->Visible = true;
 
   Image3->Left = a[2];
   Image3->Top = b[2];
   Image3->Width = 200;
   Image3->Height = 200;
   Image3->Visible = true;
 
   Image4->Left = a[3];
   Image4->Top = b[3];
   Image4->Width = 200;
   Image4->Height = 200;
   Image4->Visible = true;
Номера позиций значений массиве Left соответствуют массиву Top. Т.е. lefft[1] и top[1] - это соответственно координаты, они должны обязательно быть связаны, чтобы все стало так как нужно. Вроде все и правильно описано, и работать должно, но распихивает их абы как. Помогите, если кто заметил недочет или неточность. Буду очень благодарен.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.05.2012, 22:47
Ответы с готовыми решениями:

При передаче рандомного значения в switch всегда выполняется один и тот же case
Добрый день! У меня возникла небольшая проблема в процессе написания части кода, в которой рандомное значение v должно передаваться в...

Рандомно взять один из методов
как зделать чтоб метод рандомно выберал из 4 методов (причем рандомное количество раз?)

Запуск методов один за другим
Есть два метода A и B Как сделать так, что бы методы работали поочередно. Т.есть метод A завершил свою работу, заработал метод B. И...

3
35 / 35 / 10
Регистрация: 24.11.2011
Сообщений: 309
25.05.2012, 23:37
Цитата Сообщение от Str. Посмотреть сообщение
lefft[1] и top[1] - это соответственно координаты, они должны обязательно быть связаны
т.е 4 варианта размещений или 16 нужно?

Добавлено через 6 минут
Цитата Сообщение от Str. Посмотреть сообщение
for (int j=0;j<=4;j++)
Т.к j<=4 то идет обращение к 5му элементу массива
0
0 / 0 / 2
Регистрация: 20.04.2012
Сообщений: 35
25.05.2012, 23:44  [ТС]
Цитата Сообщение от Sor Посмотреть сообщение
т.е 4 варианта размещений или 16 нужно?

Добавлено через 6 минут

Т.к j<=4 то идет обращение к 5му элементу массива
нужно 12) но пробую на 4-х)
____
т.е. следует указать j==4?
0
35 / 35 / 10
Регистрация: 24.11.2011
Сообщений: 309
25.05.2012, 23:55
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int mas[4][2] = { {808,16}, {824,32} ,{808,238}, {824,254}};
  int a[4];
  int b[4];
Randomize();
 
for (size_t t = 0; t <4; t++)
{
   a[t]=mas[random(4)][0];
   for (size_t k = 0; k <4; k++)
   {
     if (a[t]==mas[k][0])
     {
       b[t]=mas[k][1];
     }
   }
}
Добавлено через 1 минуту
тут получается у тебя 4 варианта расположения картинки {808,16}, {824,32} ,{808,238}, {824,254} такие вот. но нет условия, что они не могут на одно и то же место упасть
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.05.2012, 23:55
Помогаю со студенческими работами здесь

Один backgroundworker и много методов
Здравствуйте!!!! Такой вопрос: Есть много разных методов, довольно длительных по времени выполнения, которые желательно запускать в...

Aspectj не срезает один из методов
есть класс class ToCut { @CutHere(&quot;1&quot;) public MyObject method1(args) {} @CutHere(&quot;2&quot;) public MyObject method2(args) {} ...

Работа с файлами: не работает один из методов
не работает метод show, выскакивает ошибка если ввести в консоле 4. По идее он должен сортировать баллы студентов учащихся в BSUIR и...

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

Один из методов численного решения нелинейного уравнения
Функция y = f(x) задана неявно уравнением F(x,y) = 0. На отрезке построить таблицу значений функции y=f(x) с шагом h=0.5, применяя один из...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через 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-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru