var MyForm: TclForm; DevrePanel: TCLProPanel; ImgBakirTel, DevreGorsel, ImgTahta, ImgCivi, ImgLastik: TCLImage; SecilenMalzeme: String; BtnKontrol: TCLProButton; SuruklenenMalzeme: TCLImage;
void SuruklemeBaslatBakirTel; { SuruklenenMalzeme = ImgBakirTel; SecilenMalzeme = 'BakirTel'; }
{ SuruklenenMalzeme = ImgTahta; SecilenMalzeme = 'Tahta'; }
{ SuruklenenMalzeme = ImgCivi; SecilenMalzeme = 'Civi'; }
void SuruklemeBaslatLastik; { SuruklenenMalzeme = ImgLastik; SecilenMalzeme = 'Lastik'; }
void SuruklemeSirasinda; { if (SuruklenenMalzeme <> nil) { SuruklenenMalzeme.Position.X = MyForm.clSenderMousePosX - 25; SuruklenenMalzeme.Position.Y = MyForm.clSenderMousePosY - 25; } }
void SuruklemeBitti; { SuruklenenMalzeme = nil; }
void KontrolEt; var malzemeMerkezX, malzemeMerkezY: Integer; mesafe: Integer; devreMerkezX, devreMerkezY: Integer; { devreMerkezX = DevreGorsel.Position.X + (DevreGorsel.Width div 2); devreMerkezY = DevreGorsel.Position.Y + (DevreGorsel.Height div 2); if (SecilenMalzeme == '') { ShowMessage('Önce bir malzeme sürükleyip devreye koymalısın.'); exit; } if (SecilenMalzeme == 'BakirTel') { malzemeMerkezX = ImgBakirTel.Position.X + (ImgBakirTel.Width div 2); malzemeMerkezY = ImgBakirTel.Position.Y + (ImgBakirTel.Height div 2); } else if (SecilenMalzeme == 'Tahta') { malzemeMerkezX = ImgTahta.Position.X + (ImgTahta.Width div 2); malzemeMerkezY = ImgTahta.Position.Y + (ImgTahta.Height div 2); } else if (SecilenMalzeme == 'Civi') { malzemeMerkezX = ImgCivi.Position.X + (ImgCivi.Width div 2); malzemeMerkezY = ImgCivi.Position.Y + (ImgCivi.Height div 2); } else if (SecilenMalzeme == 'Lastik') { malzemeMerkezX = ImgLastik.Position.X + (ImgLastik.Width div 2); malzemeMerkezY = ImgLastik.Position.Y + (ImgLastik.Height div 2); } mesafe = Round(Sqrt(Power(devreMerkezX - malzemeMerkezX, 2) + Power(devreMerkezY - malzemeMerkezY, 2))); if (mesafe <= 100) { if ((SecilenMalzeme == 'BakirTel') || (SecilenMalzeme == 'Civi')) { ShowMessage('Tebrikler! Devre tamamlandı ve ampul yandı! 💡'); MyForm.SetImage(DevreGorsel, ' https://resmim.net/cdn/2025/07/21/XXnvec.jpg" rel="nofollow - https://resmim.net/cdn/2025/07/21/XXnvec.jpg '); } else { ShowMessage('Devre tamamlanamadı, ampul yanmadı. İletken malzeme kullanmalısın.'); } } else { ShowMessage('Malzemeyi devre alanına daha yakın yerleştirmelisin.'); } }
{ MyForm = TclForm.Create(Self); SecilenMalzeme = ''; SuruklenenMalzeme = nil;
DevrePanel = MyForm.AddNewProPanel(MyForm, 'DevrePanel'); DevrePanel.Align = alClient; DevrePanel.clProSettings.BackgroundColor = clAlphaColor.clWhite; DevrePanel.SetclProSettings(DevrePanel.clProSettings);
DevreGorsel = MyForm.AddNewImage(DevrePanel, 'DevreGorsel'); DevreGorsel.Align = alNone; DevreGorsel.Width = 300; DevreGorsel.Height = 200; DevreGorsel.Position.X = 200; DevreGorsel.Position.Y = 150; MyForm.SetImage(DevreGorsel, ' https://resmim.net/cdn/2025/07/21/XXnvec.jpg" rel="nofollow - https://resmim.net/cdn/2025/07/21/XXnvec.jpg ');
ImgBakirTel = MyForm.AddNewImage(DevrePanel, 'ImgBakirTel'); ImgBakirTel.Align = alNone; ImgBakirTel.Width = 50; ImgBakirTel.Height = 50; ImgBakirTel.Position.X = 20; ImgBakirTel.Position.Y = 100; MyForm.SetImage(ImgBakirTel, ' https://resmim.net/cdn/2025/07/21/XXGRK2.png" rel="nofollow - https://resmim.net/cdn/2025/07/21/XXGRK2.png '); MyForm.AddNewEvent(ImgBakirTel, tbeOnMouseDown, 'SuruklemeBaslatBakirTel');
ImgTahta = MyForm.AddNewImage(DevrePanel, 'ImgTahta'); ImgTahta.Align = alNone; ImgTahta.Width = 50; ImgTahta.Height = 50; ImgTahta.Position.X = 20; ImgTahta.Position.Y = 200; MyForm.SetImage(ImgTahta, ' https://resmim.net/cdn/2025/07/21/XXGhWL.png" rel="nofollow - https://resmim.net/cdn/2025/07/21/XXGhWL.png '); MyForm.AddNewEvent(ImgTahta, tbeOnMouseDown, 'SuruklemeBaslatTahta');
ImgCivi = MyForm.AddNewImage(DevrePanel, 'ImgCivi'); ImgCivi.Align = alNone; ImgCivi.Width = 50; ImgCivi.Height = 50; ImgCivi.Position.X = 20; ImgCivi.Position.Y = 300; MyForm.SetImage(ImgCivi, ' https://resmim.net/cdn/2025/07/21/XXGpL7.png" rel="nofollow - https://resmim.net/cdn/2025/07/21/XXGpL7.png '); MyForm.AddNewEvent(ImgCivi, tbeOnMouseDown, 'SuruklemeBaslatCivi');
ImgLastik = MyForm.AddNewImage(DevrePanel, 'ImgLastik'); ImgLastik.Align = alNone; ImgLastik.Width = 50; ImgLastik.Height = 50; ImgLastik.Position.X = 20; ImgLastik.Position.Y = 400; MyForm.SetImage(ImgLastik, ' https://resmim.net/cdn/2025/07/21/XXaWwI.png" rel="nofollow - https://resmim.net/cdn/2025/07/21/XXaWwI.png '); MyForm.AddNewEvent(ImgLastik, tbeOnMouseDown, 'SuruklemeBaslatLastik');
MyForm.AddNewEvent(DevrePanel, tbeOnMouseMove, 'SuruklemeSirasinda'); MyForm.AddNewEvent(DevrePanel, tbeOnMouseUp, 'SuruklemeBitti');
BtnKontrol = MyForm.AddNewProButton(MyForm, 'BtnKontrol', 'Kontrol Et'); BtnKontrol.Align = alBottom; BtnKontrol.Height = 50; BtnKontrol.clProSettings.FontSize = 18; BtnKontrol.SetclProSettings(BtnKontrol.clProSettings); MyForm.AddNewEvent(BtnKontrol, tbeOnClick, 'KontrolEt');
MyForm.Run; }
Merhaba Raziye Bu şekilde dener misin
|