function varargout = GOL_gui(varargin)

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @GOL_gui_OpeningFcn, ...
                   'gui_OutputFcn',  @GOL_gui_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

function GOL_gui_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
global M geszeilen gesspalten
geszeilen = 20;
gesspalten = 20;
M = zeros( geszeilen, gesspalten );
colormap(gray);
axis equal
set(handles.axes1,'XLim',[1 gesspalten+1],'YLim',[ 1 geszeilen+1 ]);
set(handles.axes1,'XTick',1:(gesspalten+1),'YTick',1:(geszeilen+1));
set(handles.axes1,'xticklabel',[],'yticklabel',[]);
set(handles.axes1,'GridLineStyle','-','XGrid','on','YGrid','on');

guidata(hObject, handles);

function varargout = GOL_gui_OutputFcn(hObject, eventdata, handles) 

varargout{1} = handles.output;

function axes1_ButtonDownFcn(hObject, eventdata, handles)
global M geszeilen gesspalten
pos=get(hObject,'CurrentPoint');
disp(['You clicked X:',num2str(floor(pos(1,1))),', Y:',num2str(floor(pos(1,2)))]);
M(floor(geszeilen+2-pos(1,2)),floor(pos(1,1))) = -1 * ( M(floor(geszeilen+2-pos(1,2)),floor(pos(1,1))) - 1 );
axes(handles.axes1);
imagesc((1:gesspalten)+0.5,(1:geszeilen)+0.5,-1*M+1);
colormap(gray);
axis equal
0
set(handles.axes1,'XLim',[1 gesspalten+1],'YLim',[ 1 geszeilen+1 ]);
set(handles.axes1,'XTick',1:(gesspalten+1),'YTick',1:(geszeilen+1));
set(handles.axes1,'xticklabel',[],'yticklabel',[]);
set(handles.axes1,'GridLineStyle','-','XGrid','on','YGrid','on');
0
% --- Executes on button press in pushbutton1.
    
function pushbutton1_Callback(hObject, eventdata, handles)
set(handles.pushbutton2,'Enable','on');
set(handles.pushbutton1,'Enable','off');

function pushbutton2_Callback(hObject, eventdata, handles)
set(handles.pushbutton1,'Enable','on');
set(handles.pushbutton2,'Enable','off');

function pushbutton2_ButtonDownFcn(hObject, eventdata, handles)