MATLAB 簡易版 你畫我猜小遊戲
一,設定GUI介面
1.遊戲的開始介面
1). 選擇圖形使用者介面
2). 選擇第一個選項
3).設計如此頁面
4). 將檔案儲存文.fig格式,會自動生成相應的函式檔案
2.遊戲頁面
1).設計如下介面
二,介面的動態效果
1.開始遊戲
axes(handles.axes1);
img=imread('sjj/background.jpg');
image(img);
set(handles.pushbutton1,'String','start game');
set(handles.text1,'String','guess the idiom');
1). 效果如下
2). 點選開始遊戲按鈕,切換頁面
close('old'); %關掉原有的頁面
run('game'); %開啟一個新的頁面
2.遊戲中的效果
1). 初始頁面(第一題)
ensure按鈕,提交本題答案,答對加一分,答錯不得分,然後自動切換下一題。
next按鈕,跳過本題,但不可再回頭重做此題。
score按鈕,計算分數,無論題目是否全部做完,直接結算分數,然後退出。
2). 回答正確,彈出提示框,分數加一
3). 回答錯誤,彈出提示框,切換下一題
4). 結束時,結算分數
三,遊戲的主程式
主程式呼叫開始頁面的函式檔案,而開始頁面控制遊戲開始的頁面。
主頁面即run(‘old’); 一句。
四,原始碼
1. 主程式
run('old');
2.開始頁面
function varargout = old(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @old_OpeningFcn, ...
'gui_OutputFcn', @old_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
function old_OpeningFcn(hObject, eventdata, handles, varargin)
axes(handles.axes1);
img=imread('sjj/background.jpg');
image(img);
set(handles.pushbutton1,'String','start game');
set(handles.text1,'String','guess the idiom');
handles.output = hObject;
guidata(hObject, handles);
function varargout = old_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles)
close('old');
run('game');
3.遊戲頁面
function varargout = game(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @game_OpeningFcn, ...
'gui_OutputFcn', @game_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
function game_OpeningFcn(hObject, eventdata, handles, varargin)
global count;
count=0;
global i;
i=0;
axes(handles.axes1);
pic=imread(['sjj/',int2str(i),'.jpg']);
image(pic);
global elem;
elem=['0','drmj','1','rymf','2','zstb','3','pfqs','4','sbml','5','kkpx','6','hlyh'];
handles.output = hObject;
guidata(hObject, handles);
function varargout = game_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function edit1_Callback(hObject, eventdata, handles)
function edit1_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function pushbutton2_Callback(hObject, eventdata, handles)
global count;
helpdlg(['report:',int2str(count)]);
pause(1.5);
close('game');
function pushbutton1_Callback(hObject, eventdata, handles)
global i;
global count;
global elem;
index=[];
for a=1:35
if elem(a)==int2str(i)
for j=a+1:a+4
index=[index,elem(j)];
end
end
end
answer=get(handles.edit1,'String');
if answer==index
helpdlg('CORRECT!!!');
pause(1);
count=count+1;
if i<6&&i>=0
i=i+1;
axes(handles.axes1);
pic=imread(['sjj/',int2str(i),'.jpg']);
image(pic);
set(handles.edit1,'String','');
end
if i==6
helpdlg('the last');
if(get(handles.edit1,'String')~='')
helpdlg(['report:',int2str(count)]);
pause(1.5);
close('game');
end
end
end
if answer~=index
error=errordlg('WRONG!!!');
pause(1);
close(error);
i=i+1;
axes(handles.axes1);
pic=imread(['sjj/',int2str(i),'.jpg']);
image(pic);
set(handles.edit1,'String','');
end
function pushbutton3_Callback(hObject, eventdata, handles)
global i;
if i<6
i=i+1;
axes(handles.axes1);
pic=imread(['sjj/',int2str(i),'.jpg']);
image(pic);
set(handles.edit1,'String','');
end
if i==6
helpdlg('the last');
end
相關文章
- IOS技術分享| 你畫我猜小遊戲快速實現iOS遊戲
- Vue+WebSocket+ES6+Canvas 製作【你畫我猜】小遊戲VueWebCanvas遊戲
- canvas+websocket+vue做一個完整的你畫我猜小遊戲CanvasWebVue遊戲
- Cocos Creator 實現畫板(你畫我猜)
- 用 Java 做個“你畫手機猜”的小遊戲Java遊戲
- Android:單機版的“你畫我猜”你敢信?(Path的使用)Android
- 社交畫圖遊戲《你畫我猜》下載量突破5000萬遊戲
- 開源demo| 你畫我猜——讓你的生活更有趣
- 谷歌AI版“你畫我猜”刷屏朋友圈 背後是這樣的原理!谷歌AI
- 我的簡易2048小遊戲記錄整理遊戲
- 原生JS實現你畫我猜的一點點功能JS
- Canvas+Socket搞出一個多人遊玩的“我畫你猜”Canvas
- Android技術分享| 【你畫我猜】Android 快速實現Android
- c++簡易小遊戲C++遊戲
- C#之簡易猜數字遊戲C#遊戲
- 猜數字小遊戲遊戲
- 簡易版管道模式模式
- java,製作簡易畫圖板Java
- C語言實現的一個簡單的猜數小遊戲C語言遊戲
- C#小遊戲-------猜數字 (轉)C#遊戲
- 你畫AI“猜”,谷歌首款AI微信小程式上線!AI谷歌微信小程式
- React簡易版老虎機React
- 簡易版 vue實現Vue
- 簡易版“推箱子”遊戲遊戲
- Google日曆簡易版Go
- [MATLAB] plot畫圖簡單細節隨記Matlab
- Java實現簡易聯網坦克對戰小遊戲Java遊戲
- linux實現猜數字小遊戲Linux遊戲
- 簡易版抽獎小程式
- 手寫簡易版React框架React框架
- Laravel 結合 Swoole 簡易版Laravel
- Google日曆簡易版 2.0Go
- 簡易版的Spring框架之AOP簡單實現(對我來說不簡單啊)Spring框架
- HarmonyOS Next 版同屏(web 簡易版)Web
- 一個猜數字輸贏的小遊戲遊戲
- 實現一個簡易版WebpackWeb
- 簡易版NFT合約程式碼
- Docker簡易版教程——通俗易懂Docker