purebasic.info

PureBasic forum
Текущее время: Ср дек 19, 2018 12:34 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Atoms
СообщениеДобавлено: Чт дек 27, 2007 8:16 am 
Не в сети
GameC@Soft
Аватар пользователя

Зарегистрирован: Сб сен 22, 2007 12:45 pm
Сообщений: 1084
Откуда: Я из лесу вышел, и сразу зашел, в босоножках дырявых и взлядом ночным.
Благодарил (а): 1 раз.
Поблагодарили: 2 раз.
Пункты репутации: 0
Загорелся идеей сделать модели...))
/////////////////
Управление: :idea:
\\\\\\\\\\\\\\\\\
пробел убирает надписи)

Для построения модели, сначало добовляйте старшие атомы (с большой массой)
Масса завсит вплотную от магнитных свойств

тесть если масса старшего атома будет 31213 а.е.m., а младший 3 a.e.m. то вы его не увидите(

:?: Внимание :?:

На моём компьютере программа иногода зависала( :oops: , но после я код подрихтовал, и вроде я этот глюк не замечал)))

Код сырой!

Кто может переделайте код сравнение атомов))


Код:
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
InitSprite()
InitKeyboard()
InitMouse()
 
 
OpenScreen(1024,768,32,"")
 
CreateSprite(0,8,8)
StartDrawing(SpriteOutput(0))
Circle(4,4,4,RGB(255,0,0))
StopDrawing()
 
Structure atom
x.f
y.f
sx.f
sy.f
mass.q
ang.f
EndStructure
 
Global NewList atom.atom()
 
Procedure addatom(x.f,y.f,mass)
AddElement(atom())
atom()\x=x
atom()\y=y
atom()\mass=mass
atom()\sx=1
atom()\sy=1
atom()\ang
EndProcedure
 
Repeat
FlipBuffers()
ClearScreen(0)
ExamineKeyboard()
ExamineMouse()
a.f+0.03
StartDrawing(ScreenOutput())
DrawingMode(1)
LineXY(MouseX(),MouseY(),MouseX()+6,MouseY()+6,RGB(255,0,0))
key$=KeyboardInkey()
If key$="1" Or key$="2"Or key$="3"Or key$="4"Or key$="5"Or key$="6"Or key$="7"Or key$="8"Or key$="9"Or key$="0"
mass$+key$
EndIf
If KeyboardReleased(#PB_Key_Back)
mass$=Left(mass$,Len(mass$)-1)
EndIf
DrawText(0,700,"Новая масса: "+mass$+ " a.e.m",RGB(0,255,0))
StopDrawing()
 
If MouseButton(1)
If mass$<>""
addatom(MouseX()-2,MouseY()-2,Val(mass$))
mass$=""
EndIf
EndIf
 
If KeyboardReleased(#PB_Key_Space)
mode+1
If mode>1
mode=0
EndIf
EndIf
 
ResetList(atom())
While NextElement(atom())
StartDrawing(ScreenOutput())
DrawingMode(1)
If mode=0
DrawText(atom()\x+6,atom()\y-16,"масса: "+Str(atom()\mass),RGB(0,255,0))
EndIf
StopDrawing()
DisplayTransparentSprite(0,atom()\x,atom()\y)
atom()\ang+0.1
Wend
 
ResetList(atom())
While NextElement(atom())
ax.f=atom()\x
ay.f=atom()\y
mass=atom()\mass
NextElement(atom())
ax2.f=atom()\x
ay2.f=atom()\y
mass2=atom()\mass
If mass<mass2
PreviousElement(atom())
StartDrawing(ScreenOutput())
DrawingMode(1)
LineXY(ax+2,ay+2,ax2+2,ay2+2,RGB(0,0,255))
StopDrawing()
If ax> ax2
atom()\x-1
EndIf
If ax< ax2
atom()\x+1
EndIf
If ay> ay2
atom()\y-1
EndIf
If ay< ay2
atom()\y+1
EndIf
;---
atom()\x+Cos(atom()\ang)*(mass2-mass)
atom()\y+Sin(atom()\ang)*(mass2-mass)
 
EndIf
Wend
 
ResetList(atom())
While PreviousElement(atom())
ax.f=atom()\x
ay.f=atom()\y
mass=atom()\mass
PreviousElement(atom())
ax2.f=atom()\x
ay2.f=atom()\y
mass2=atom()\mass
If mass<mass2
NextElement(atom())
StartDrawing(ScreenOutput())
DrawingMode(1)
LineXY(ax+2,ay+2,ax2+2,ay2+2,RGB(0,0,255))
StopDrawing()
If ax> ax2
atom()\x-3
EndIf
If ax< ax2
atom()\x+3
EndIf
If ay> ay2
atom()\y-3
EndIf
If ay< ay2
atom()\y+3
EndIf
;---
atom()\x+Cos(atom()\ang)*3
atom()\y+Sin(atom()\ang)*3
 
EndIf
Wend
 
 
Until KeyboardPushed(#PB_Key_Escape)
End


_________________
"Самый большой глюк в PureBasic - это твоя голова...." (с) Артем
Мой сайт: http://feelzone.org.ua/


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB