kodlar aşağıdadır:
function varargout = odev1_yercekimi(varargin) % buradan program yüklenmektedir % buraya karışmayın!
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @odev1_yercekimi_OpeningFcn, ... 'gui_OutputFcn', @odev1_yercekimi_OutputFcn, ... 'gui_LayoutFcn', [], ... 'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% buradan ilk yükleme sırasında yapılması gereken yazılmaktadır. function odev1_yercekimi_OpeningFcn(hObject, eventdata, handles, varargin) % Choose default command line output for odev1_yercekimi handles.output = hObject;
% Update handles structure guidata(hObject, handles);
% güneş resmini göster.
imshow('gunes.png');
function varargout = odev1_yercekimi_OutputFcn(hObject, eventdata, handles)
% Get default command line output from handles structure varargout{1} = handles.output;
% --- yercekimi_ayarla_popupmenu seçildiğinde çalışır % seçilene göre ayarlama yapar
function yercekimi_ayarla_popupmenu_Callback(hObject, eventdata, handles)
switch get(handles.yercekimi_ayarla_popupmenu, 'Value')
case 1 %Güneş
set(handles.yercekimi_txt, 'String', '< 247 >');
set(handles.yercekimi_txt, 'Value', 247);
imshow('gunes.png')
case 2 % merkür
set(handles.yercekimi_txt, 'String', '< 3.70 >');
set(handles.yercekimi_txt, 'Value', 3.70);
imshow('merkur.png')
case 3 %venüs
set(handles.yercekimi_txt, 'String', '< 8.87 >');
set(handles.yercekimi_txt, 'Value', 8.87);
imshow('venus.png')
case 4 %ay
set(handles.yercekimi_txt, 'String', '< 1.624 >');
set(handles.yercekimi_txt, 'Value', 1.624);
imshow('ay.png')
case 5 %dünya
set(handles.yercekimi_txt, 'String', '< 24.8 >');
set(handles.yercekimi_txt, 'Value', 24.8);
imshow('dunya.png')
case 6 %mars set(handles.yercekimi_txt, 'String', '< 3.77 >');
set(handles.yercekimi_txt, 'Value', 3.77);
imshow('mars.png')
case 7 %jüpiter
set(handles.yercekimi_txt, 'String', '< 24.8 >');
set(handles.yercekimi_txt, 'Value', 24.8);
imshow('jupiter.png')
case 8 %satürn
set(handles.yercekimi_txt, 'String', '< 9.20 >');
set(handles.yercekimi_txt, 'Value', 9.20);
imshow('saturn.png')
case 9 %üranüs
set(handles.yercekimi_txt, 'String', '< 8.69 >');
set(handles.yercekimi_txt, 'Value', 8.69);
imshow('uranus.png')
case 10 %neptün
set(handles.yercekimi_txt, 'String', '< 11.00 >');
set(handles.yercekimi_txt, 'Value', 11.00);
imshow('neptun.png')
end
function yercekimi_ayarla_popupmenu_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject, 'BackgroundColor'), get(0, 'defaultUicontrolBackgroundColor'))
set(hObject, 'BackgroundColor', 'white');
end
% mouse tıklanmasıyla topu bırakır.
function figure1_WindowButtonDownFcn(hObject, eventdata, handles) g = get(handles.yercekimi_txt, 'Value');
konum_x = randint(1, 1, [400 500]);
for t = 1:0.2:50 konum_y = 450 - 0.5*g * t.^2;
set(handles.top_btn, 'Position', [konum_x konum_y 20 20]);
pause(0.2)
if konum_y == 0
break;
end
end
% yeşil buton x eğrisinde mouse takip etmesini sağlama
function figure1_WindowButtonMotionFcn(hObject, eventdata, handles)
fare_tiklama_yeri = get(hObject, 'currentpoint');
set(handles.insan_btn, 'Position', [fare_tiklama_yeri(1)-15 20 40 20]);
% aşağıdaki yeşil buttonu tıkladığınızda % eğer topu yakalamışsanız mesaj gösterir.
function insan_btn_Callback(hObject, eventdata, handles)
top_yeri = get(handles.top_btn, 'Position') fare_tiklama_yeri = get(hObject, 'Position')
if((abs(top_yeri(1)-fare_tiklama_yeri(1)<20))&&(abs(top_yeri(2)-fare_tiklama_yeri(2)<20)))
msgbox('tebrikler yakaladınız :)');
end