0 / 0 / 0
Регистрация: 03.11.2014
Сообщений: 2

Заполнение формы шарами

04.11.2014, 22:37. Показов 1424. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!!! Не так давно начал изучать программировании, выбрал для себя VB 6.0, сегодня целый день мучаюсь как заполнить форму шарами. Вот код, но тут одна полоска из шаров, а я хочу чтоб шарики заполняли половину формы .И сразу вопрос, можно ли использовать такую схему для создания игры там где внизу появляется шарик рандомного цвета и им нужно стрелять по шарикам которые находятся на верху и тоже разных цветов. Спасибо
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub Form_Click()
x = 250
y = 250
z = 250
 
 
For i = 0 To 9
Circle (x + 500, y), z
x = x + 500
Next
End Sub
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.11.2014, 22:37
Ответы с готовыми решениями:

Заполнение формы
Подскажите пожалуйста есть ли способы произвольного заполнения формы точками и обратно исчезновения их. Что то вроде рассвет-закат.

Заполнение Web-формы
задача следующая есть www.site.com у него есть 2 поля login, pass надо, чтобы при нажатии на command1 1,открывался дэфалтный...

Заполнение формы Word
Хочу поделиться с Вами своим горем)))))) Пишу програмку для облегчения своей работы уже примерно неделю, суть программы для облегчения...

2
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
05.11.2014, 07:14
Лучший ответ Сообщение было отмечено Пирог66 как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub Комманда1_Click()
z = 250
 Randomize
For j = 1 To 10
        For i = 1 To 10
                Me.FillColor = QBColor(Int(16 * Rnd))
                Circle ( j * 500,  i * 500), z
Next: Next
End Sub
1
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
05.11.2014, 13:04
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Цитата Сообщение от Пирог66 Посмотреть сообщение
схему для создания игры там где внизу появляется шарик рандомного цвета и им нужно стрелять по шарикам которые находятся на верху и тоже разных цветов.
Вот, поиграйся
Visual Basic
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Dim cc(5) As Long, i As Integer, j As Integer, d As Integer
Const n As Integer = 10, m As Integer = 5
Dim Ball(1 To n, 1 To m) As VB.Shape, myBall As VB.Shape
 
Private Sub Form_Activate()
    d = Me.ScaleWidth \ n
    Load_Balls
    Set_Balls
    Set_MyBall
    Change_Balls_Color
    Change_myBall_Color
End Sub
 
Private Sub Set_Balls(Optional ByVal R As Integer = 1)
     For i = 1 To n
         For j = 1 To m
           Ball(i, j).Top = (j - R) * d: Ball(i, j).Left = (i - 1) * d
           Ball(i, j).Visible = True
           Ball(i, j).Width = d: Ball(i, j).Height = d
           Ball(i, j).BackStyle = 1: Ball(i, j).BorderStyle = 1: Ball(i, j).BorderWidth = 3
           Ball(i, j).Shape = 3
         Next j
    Next i
End Sub
 
Private Sub Set_MyBall()
    myBall.Top = Me.ScaleHeight - d * 2: myBall.Left = Me.ScaleWidth / 2 - d / 2
    myBall.Visible = True
    myBall.Width = d: myBall.Height = d
    myBall.BackStyle = 1: myBall.BorderStyle = 1: myBall.BorderWidth = 3
    myBall.Shape = 3
End Sub
 
Private Sub Load_Balls()
     For i = 1 To n
         For j = 1 To m
           Set Ball(i, j) = Controls.Add("VB.Shape", "B" & i & j, Me)
         Next j
    Next i
    Set myBall = Controls.Add("VB.Shape", "myB", Me)
End Sub
 
Private Sub Change_myBall_Color()
            myBall.BackColor = cc(Int(Rnd * 5))
End Sub
 
Private Sub Change_Balls_Color()
    For i = 1 To n
        For j = 1 To m
            Ball(i, j).BackColor = cc(Int(Rnd * 5))
        Next j
    Next i
End Sub
 
Private Sub Form_Load()
    Me.ScaleMode = 3
    cc(0) = vbRed: cc(1) = vbGreen: cc(2) = vbWhite: cc(3) = vbYellow: cc(4) = vbBlue: cc(5) = vbMagenta
    Randomize
    Me.Width = 6500: Me.Height = 7500
End Sub
 
Private Sub Move_MyBall(ByVal X As Single, Y As Single)
    Dim Dx As Single, Dy As Single, Dxx As Single, Dyy As Single ', R As Single
    Dx = 0.3
    Dx = Dx * Sgn(X - (myBall.Left + d))
    Dy = Dx * ((Y - (myBall.Top + d)) / (X - (myBall.Left + d)))
    Timer1.Enabled = True
    'If Dy >= 0 Then Dy = -Dy 'Exit Sub
    Do Until myBall.Left > Me.ScaleWidth + 100 Or myBall.Left < -100 Or myBall.Top > Me.ScaleWidth + 100 Or myBall.Top < -100
       myBall.Move myBall.Left + Dx, myBall.Top + Dy
       If Crash(myBall.Left, myBall.Top) <> "0:0" Then
            If Crash(myBall.Left, myBall.Top) = "1" Then
               'MsgBox Crash(myBall.Left, myBall.Top) & " Совпало"
               GoTo m1
            Else
               'MsgBox Crash(myBall.Left, myBall.Top) & " Несовпало"
               Dx = Dx: Dy = -Dy
            End If
       End If
       DoEvents
    Loop
    Sleep 500
m1:
    Game_Over
    Set_MyBall
    Change_myBall_Color
End Sub
 
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
     Move_MyBall X, Y
End Sub
 
Private Function Crash(ByVal X As Single, Y As Single) As String
    Crash = "0:0"
    For i = 1 To n
        For j = 1 To m
            If (Abs(Ball(i, j).Left - X) < d / 1.5 And Abs(Ball(i, j).Top - Y) < d / 1.5) And Ball(i, j).Visible = True And myBall.Visible = True Then
                If myBall.BackColor = Ball(i, j).BackColor Then
                      Crash = "1"
                      Ball(i, j).Visible = False
                      myBall.Visible = False
                      Exit Function
                Else
                      Crash = "0"
                End If
            End If
        Next j
    Next i
End Function
 
Private Function Game_Over() As Boolean
    Game_Over = True
    For i = 1 To n
        For j = 1 To m
            If Ball(i, j).Visible = True Then Game_Over = False: Exit For
        Next j
    Next i
    If Game_Over Then
       MsgBox "Game Over"
       Set_Balls
       Set_MyBall
       Change_Balls_Color
       Change_myBall_Color
    End If
End Function
Миниатюры
Заполнение формы шарами  
Вложения
Тип файла: rar Balls.rar (2.1 Кб, 10 просмотров)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.11.2014, 13:04
Помогаю со студенческими работами здесь

Как сделать чтобы Заполнение одного значения формы вызывало заполнение множества других
Народ помогите чтобы при выставлении значения в ячейке формы КПКНазв (основана на табл.Договора) в форму проставлялись значения из таблицы...

При загрузке формы происходит заполнение DataSet, но заполнение происходит не вполне корректно
Есть строго типизированные DataSet и TableAdapter. При загрузке формы происходит заполнение DataSet, но заполнение происходит не вполне...

задача с шарами
Есть такая задача: Семь шаров раскладывают случайным образом по 7 ящикам. Како-ва вероятность, что в каждом ящике окажется по одному...

Урна с шарами
Из урны, содерж. 5 белых и 7 черных шаров, вытаскивают с возвращением по одному шару. Найти вероятность события : на вытаскивании №9 в...

Проблема с шарами на 2х машинах
Здравствуйте. В одноранговой подсети нашего предприятия возникла проблема с доступом к общим ресурсам следующего характера. ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru