function varargout = fun(varargin)
% FUN M-file for fun.fig
% FUN, by itself, creates a new FUN or raises the existing
% singleton*.
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @fun_OpeningFcn, ...
'gui_OutputFcn', @fun_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
% End initialization code - DO NOT EDIT
% --- Executes just before fun is made visible.
function fun_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% Choose default command line output for fun
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes fun wait for user response (see UIRESUME)
% --- Outputs from this function are returned to the command line.
function varargout = fun_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
varargout{1} = handles.output;
tic;
% --- Executes on selection change in popup_1_1.
function popup_1_1_Callback(hObject, eventdata, handles)
out = add_pop_val(handles.popup_1_1, handles.popup_1_2, handles.popup_1_3,...
handles.popup_1_4);
set(handles.out7,'String',out);
set(handles.out8,'String',out);
out = add_pop_val(handles.popup_1_1, handles.popup_2_2, handles.popup_3_3,...
handles.popup_4_4);
set(handles.out1,'String',out);
set(handles.out20,'String',out);
out = add_pop_val(handles.popup_1_1, handles.popup_2_1, handles.popup_3_1,...
handles.popup_4_1);
set(handles.out2,'String',out);
set(handles.out16,'String',out);
check_box(hObject, eventdata, handles);
% --- Executes on selection change in popup_1_2.
function popup_1_2_Callback(hObject, eventdata, handles)
out = add_pop_val(handles.popup_1_1, handles.popup_1_2, handles.popup_1_3,...
handles.popup_1_4);
set(handles.out7,'String',out);
set(handles.out8,'String',out);
out = add_pop_val(handles.popup_1_2, handles.popup_2_2, handles.popup_3_2,...
handles.popup_4_2);
set(handles.out3,'String',out);
set(handles.out17,'String',out);
check_box(hObject, eventdata, handles);
% --- Executes on selection change in popup_1_3.
function popup_1_3_Callback(hObject, eventdata, handles)
out = add_pop_val(handles.popup_1_1, handles.popup_1_2, handles.popup_1_3,...
handles.popup_1_4);
set(handles.out7,'String',out);
set(handles.out8,'String',out);
out = add_pop_val(handles.popup_1_3, handles.popup_2_3, handles.popup_3_3,...
handles.popup_4_3);
set(handles.out4,'String',out);
set(handles.out18,'String',out);
check_box(hObject, eventdata, handles);
% --- Executes on selection change in popup_1_4.
function popup_1_4_Callback(hObject, eventdata, handles)
out = add_pop_val(handles.popup_1_1, handles.popup_1_2, handles.popup_1_3,...
handles.popup_1_4);
set(handles.out7,'String',out);
set(handles.out8,'String',out);
out = add_pop_val(handles.popup_1_4, handles.popup_2_4, handles.popup_3_4,...
handles.popup_4_4);
set(handles.out5,'String',out);
set(handles.out19,'String',out);
out = add_pop_val(handles.popup_1_4, handles.popup_2_3, handles.popup_3_2,...
handles.popup_4_1);
set(handles.out6,'String',out);
set(handles.out15,'String',out);
check_box(hObject, eventdata, handles);
% --- Executes on selection change in popup_2_1.
function popup_2_1_Callback(hObject, eventdata, handles)
out = add_pop_val(handles.popup_2_1, handles.popup_2_2, handles.popup_2_3,...
handles.popup_2_4);
set(handles.out9,'String',out);
set(handles.out10,'String',out);
out = add_pop_val(handles.popup_1_1, handles.popup_2_1, handles.popup_3_1,...
handles.popup_4_1);
set(handles.out2,'String',out);
set(handles.out16,'String',out);
check_box(hObject, eventdata, handles);
% --- Executes on selection change in popup_2_2.
function popup_2_2_Callback(hObject, eventdata, handles)
out = add_pop_val(handles.popup_2_1, handles.popup_2_2, handles.popup_2_3,...
handles.popup_2_4);
set(handles.out9,'String',out);
set(handles.out10,'String',out);
out = add_pop_val(handles.popup_1_2, handles.popup_2_2, handles.popup_3_2,...
handles.popup_4_2);
set(handles.out3,'String',out);
set(handles.out17,'String',out);
out = add_pop_val(handles.popup_1_1, handles.popup_2_2, handles.popup_3_3,...
handles.popup_4_4);
set(handles.out1,'String',out);
set(handles.out20,'String',out);
check_box(hObject, eventdata, handles);
% --- Executes on selection change in popup_2_3.
function popup_2_3_Callback(hObject, eventdata, handles)
out = add_pop_val(handles.popup_2_1, handles.popup_2_2, handles.popup_2_3,...
handles.popup_2_4);
set(handles.out9,'String',out);
set(handles.out10,'String',out);
out = add_pop_val(handles.popup_1_3, handles.popup_2_3, handles.popup_3_3,...
handles.popup_4_3);
set(handles.out4,'String',out);
set(handles.out18,'String',out);
out = add_pop_val(handles.popup_1_4, handles.popup_2_3, handles.popup_3_2,...
handles.popup_4_1);
set(handles.out6,'String',out);
set(handles.out15,'String',out);
check_box(hObject, eventdata, handles);
% --- Executes on selection change in popup_2_4.
function popup_2_4_Callback(hObject, eventdata, handles)
out = add_pop_val(handles.popup_2_1, handles.popup_2_2, handles.popup_2_3,...
handles.popup_2_4);
set(handles.out9,'String',out);
set(handles.out10,'String',out);
out = add_pop_val(handles.popup_1_4, handles.popup_2_4, handles.popup_3_4,...
handles.popup_4_4);
set(handles.out5,'String',out);
set(handles.out19,'String',out);
check_box(hObject, eventdata, handles);
% --- Executes on selection change in popup_3_1.
function popup_3_1_Callback(hObject, eventdata, handles)
out = add_pop_val(handles.popup_3_1, handles.popup_3_2, handles.popup_3_3,...
handles.popup_3_4);
set(handles.out11,'String',out);
set(handles.out12,'String',out);
out = add_pop_val(handles.popup_1_1, handles.popup_2_1, handles.popup_3_1,...
handles.popup_4_1);
set(handles.out2,'String',out);
set(handles.out16,'String',out);
check_box(hObject, eventdata, handles);
% --- Executes on selection change in popup_3_2.
function popup_3_2_Callback(hObject, eventdata, handles)
out = add_pop_val(handles.popup_3_1, handles.popup_3_2, handles.popup_3_3,...
handles.popup_3_4);
set(handles.out11,'String',out);
set(handles.out12,'String',out);
out = add_pop_val(handles.popup_1_2, handles.popup_2_2, handles.popup_3_2,...
handles.popup_4_2);
set(handles.out3,'String',out);
set(handles.out17,'String',out);
out = add_pop_val(handles.popup_1_4, handles.popup_2_3, handles.popup_3_2,...
handles.popup_4_1);
set(handles.out6,'String',out);
set(handles.out15,'String',out);
check_box(hObject, eventdata, handles);
% --- Executes on selection change in popup_3_3.
function popup_3_3_Callback(hObject, eventdata, handles)
out = add_pop_val(handles.popup_3_1, handles.popup_3_2, handles.popup_3_3,...
handles.popup_3_4);
set(handles.out11,'String',out);
set(handles.out12,'String',out);
out = add_pop_val(handles.popup_1_3, handles.popup_2_3, handles.popup_3_3,...
handles.popup_4_3);
set(handles.out4,'String',out);
set(handles.out18,'String',out);
out = add_pop_val(handles.popup_1_1, handles.popup_2_2, handles.popup_3_3,...
handles.popup_4_4);
set(handles.out1,'String',out);
set(handles.out20,'String',out);
check_box(hObject, eventdata, handles);
% --- Executes on selection change in popup_3_4.
function popup_3_4_Callback(hObject, eventdata, handles)
out = add_pop_val(handles.popup_3_1, handles.popup_3_2, handles.popup_3_3,...
handles.popup_3_4);
set(handles.out11,'String',out);
set(handles.out12,'String',out);
out = add_pop_val(handles.popup_1_4, handles.popup_2_4, handles.popup_3_4,...
handles.popup_4_4);
set(handles.out5,'String',out);
set(handles.out19,'String',out);
check_box(hObject, eventdata, handles);
% --- Executes on selection change in popup_4_1.
function popup_4_1_Callback(hObject, eventdata, handles)
out = add_pop_val(handles.popup_4_1, handles.popup_4_2, handles.popup_4_3,...
handles.popup_4_4);
set(handles.out13,'String',out);
set(handles.out14,'String',out);
out = add_pop_val(handles.popup_1_1, handles.popup_2_1, handles.popup_3_1,...
handles.popup_4_1);
set(handles.out2,'String',out);
set(handles.out16,'String',out);
out = add_pop_val(handles.popup_1_4, handles.popup_2_3, handles.popup_3_2,...
handles.popup_4_1);
set(handles.out6,'String',out);
set(handles.out15,'String',out);
check_box(hObject, eventdata, handles);
% --- Executes on selection change in popup_4_2.
function popup_4_2_Callback(hObject, eventdata, handles)
out = add_pop_val(handles.popup_4_1, handles.popup_4_2, handles.popup_4_3,...
handles.popup_4_4);
set(handles.out13,'String',out);
set(handles.out14,'String',out);
out = add_pop_val(handles.popup_1_2, handles.popup_2_2, handles.popup_3_2,...
handles.popup_4_2);
set(handles.out3,'String',out);
set(handles.out17,'String',out);
check_box(hObject, eventdata, handles);
% --- Executes on selection change in popup_4_3.
function popup_4_3_Callback(hObject, eventdata, handles)
out = add_pop_val(handles.popup_4_1, handles.popup_4_2, handles.popup_4_3,...
handles.popup_4_4);
set(handles.out13,'String',out);
set(handles.out14,'String',out);
out = add_pop_val(handles.popup_1_3, handles.popup_2_3, handles.popup_3_3,...
handles.popup_4_3);
set(handles.out4,'String',out);
set(handles.out18,'String',out);
check_box(hObject, eventdata, handles);
% --- Executes on selection change in popup_4_4.
function popup_4_4_Callback(hObject, eventdata, handles)
out = add_pop_val(handles.popup_4_1, handles.popup_4_2, handles.popup_4_3,...
handles.popup_4_4);
set(handles.out13,'String',out);
set(handles.out14,'String',out);
out = add_pop_val(handles.popup_1_4, handles.popup_2_4, handles.popup_3_4,...
handles.popup_4_4);
set(handles.out5,'String',out);
set(handles.out19,'String',out);
out = add_pop_val(handles.popup_1_1, handles.popup_2_2, handles.popup_3_3,...
handles.popup_4_4);
set(handles.out1,'String',out);
set(handles.out20,'String',out);
check_box(hObject, eventdata, handles);
function pop_val = get_pop_val(popup_x)
switch (get(popup_x,'value'))
case 1
pop_val = 3;
case 2
pop_val = 7;
case 3
pop_val = 15;
case 4
pop_val = 31;
end;
return;
function pop_add = add_pop_val(pop1 ,pop2 ,pop3 ,pop4)
temp = 0;
temp = temp + get_pop_val(pop1);
temp = temp + get_pop_val(pop2);
temp = temp + get_pop_val(pop3);
temp = temp + get_pop_val(pop4);
pop_add = temp;
return;
function box_val = get_box_val(box_no)
box_val = str2double(get(box_no,'String'));
return;
function check_box(hObject, eventdata, handles)
out = [handles.out1 handles.out2 handles.out3 handles.out4 handles.out5...
handles.out6 handles.out7 handles.out8 handles.out9 handles.out10...
handles.out11 handles.out12 handles.out13 handles.out14 handles.out15...
handles.out16 handles.out17 handles.out18 handles.out19 handles.out20];
temp = zeros(1,20);
test = 0;
for i = 1:20
temp(i) = get_box_val(out(i));
end;
test = find(temp == 56);
if(length(test) == 20)
t = toc;
text = sprintf('Congratulations , You won! \n Time taken is %2.f Sec',t);
msgbox(text);
tic;
end;