Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Моделирование движения зарядов [D7, XP]


Страницы:   1 2

Stella ©   (2007-10-21 21:41:00) 

Подскажите, пожалуйста, как можно реализовать при помощи делфи, программу движение зарядов (движутся хаоически) при p-n переходе, я что не пробывала ничего не получается, помогите плиз. Я девочка, учусь на программиста, 1 курс.


Stella   (2007-10-23 14:56:00) [21]

Мне не кто не хочет помочь не потому, что я страшилка, просто они такие, что ещё у меня написать им программу попросят, я же не прошу у вас программу целиком, хотя бы наброски, я сама не соображу, а помочь мне не кто не хочет даже вы


@!!ex   (2007-10-22 20:37:00) [22]

> [12] vpbar ©   (22.10.07 20:26)

Может и нет.


vpbar   (2007-10-22 20:26:00) [23]

Стелла, вы девочка, надеюсь симпатичная, что у вас на первом курсе нет парней более-менее соображающих. Задачто то не сложная, просто писать некогда. Так вы подойдите к кому-нибудь из них, мило улыбнитесь и попросите. Думаю что не откажут.


@!!ex   (2007-10-22 20:24:00) [24]

> [9] Stella ©   (22.10.07 20:19)

постучись мне в асю:
228305662
и объясни толком двигаются они навстречу друг другу или все таки хаотично??


Anatoly Podgoretsky   (2007-10-22 20:20:00) [25]

> Stella  (22.10.2007 20:19:09)  [9]

Хаотично что, путь или скорость?
Но и то и другое реализуется через Random


Stella   (2007-10-22 20:19:00) [26]

В одной стороне окна сконценрированы положительные заряды, в другой отрицательные, при нажатии на кнопку пуск они начинают хаотически двигаться на встречу, и именно сделать хаотическое движение у меня не получается, они вообще двигаться не хотят, напишите плиз как это можно реализовать


Рамиль   (2007-10-22 11:22:00) [27]

И не надо никаких image array ов, храните в списке (массиве) координаты, в OnPaint рисуйте все по координатам, при измении вызывайте Invalidate.
И зачем сдались TImage? есть вероятность мерцания, достаточно простой канвы и Bitmap ов (выводить на канву API TransparentBlt)


Рамиль   (2007-10-22 11:17:00) [28]


> Stella ©   (22.10.07 10:58) [6]

Объясните, что происходит в p-n переходе для начала. Я физику процесса не представляю, например. Если хаотически, то как он вообще работает? Отобразить процесс визуально это самое простое в этой задаче.


Stella   (2007-10-22 10:58:00) [29]

Помогите мне, а то если вы не поможете, то никто не поможет, пожалейте меня


Stella   (2007-10-22 10:57:00) [30]

А, что вы вообще не знаете как такое запрограммировать, код, только там совсем мало:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ExtCtrls, StdCtrls, Buttons, ImgList;

type
 img=^TImage;
 TForm1 = class(TForm)
   BitBtn1: TBitBtn;
   BitBtn2: TBitBtn;
   Image1: TImage;
   Timer1: TTimer;
   procedure FormActivate(Sender: TObject);
   procedure BitBtn2Click(Sender: TObject);
   procedure BitBtn1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

const n=20;//высота поля картинки
size=20;//размер одного эемента поля в пкселях

var
 Form1: TForm1;
 New       : TControl;
 image:array[1..2*n,1..n] of img;

implementation

{$R *.dfm}

procedure draw;
var i,j:integer;
TypeClass : TControlClass;
begin
for I := 0 to n*2-1 do
begin
for j := 0 to n-1 do
begin
TypeClass:=TImage;
New:=TypeClass.Create(Form1);

if (i<=10)or(j<=10) then New.Name:='img'+'0'+IntTostr(i)+'0'+IntTostr(j)
else New.Name:=New.ClassName+IntTostr(i)+IntTostr(j);
image[i+1,j+1]:=@New;
if (i<20) and (i>10) then TImage(New).Picture.LoadFromFile('plus.bmp')
else TImage(New).Picture.LoadFromFile('minus.bmp');

TImage(New).Transparent:=true;
TImage(New).AutoSize:=true;
TImage(New).Left:=i*size;
TImage(New).Top:=j*size;
New.Parent:=Form1;
end;
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Timer1.Enabled:=true;
TImage(image[3,3]).Visible:=false;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Timer1.Enabled:=false;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
draw;
end;

end.


Аноним   (2007-10-22 09:37:00) [31]

Удалено модератором


Jump   (2007-10-21 23:22:00) [32]

А!!! Караул! Орешник слетел! Только первую страницу показывает! А!!! Там же был пример задачи падающих шаров. А тут движущиеся заряды. Собственно, одно и то же. А орешник взял да слетел... :(

P.S. ДелфиМастер разваливается... анкеты... орешник... каюк.


@!!ex   (2007-10-21 22:08:00) [33]

> [0] Stella ©   (21.10.07 21:41)

Код того, что не получилось - в студию!


DVM   (2007-10-21 21:55:00) [34]


> я что не пробывала ничего не получается

если ничего не пробовать то и не получится.


> Я девочка, учусь на программиста, 1 курс.

учтем.

Конкретно, что не получается?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо