MATLABはマインスイーパゲームを作成します



Matlab Writes Minesweeper Games



プログラムの作成は、ブロガーのslandarerの記事matlab掃海ゲームを参照しています

掃海ゲームでは、右ボタンはマークされた地雷の場所を示します。したがって、ボタンを右クリックして、「!」表示されます。 「!」、「!」のマークが付いたボタンを右クリックします。が消え、ボタンを再度操作できるようになります。地雷にマークを付けると、マークの数に応じて旗が変わります。旗の数と雷の数が同じである場合は常に、ゲームに勝ったかどうかが判断されます。勝った場合、ゲームは勝ったものとして表示されます。勝てなかった場合は、操作を続行できます。コードは以下のように表示されます



function buttoncallback(hobject,~) global row col mines times number visit h flag F success a = get(hobject,'position') hang=double((a(2)-0.86)/(-0.054))-0.0001 lie=double((a(1)-0.013)/0.045)-0.0001 hang = ceil(hang) lie = ceil(lie) if strcmp(get(gcf,'SelectionType'),'alt') if ~strcmp(get(hobject,'style'),'text') if ~strcmp(get(hobject,'string'),'!') set(hobject,'string','!','ForegroundColor',[0.9,0,0]) flag=flag+1 set(F,'string',['flag:' num2str(flag)]) success(hang,lie)=success(hang,lie)+1 if flag==45 check() end else set(hobject,'string',' ') success(hang,lie)=success(hang,lie)-1 flag=flag-1set(F,'string',['flag:' num2str(flag)]) end end end end function check global success if all(success(:)==0) msgbox('game success', '') end end

5、運用結果

6つのスクリプトの後にプログラムを配置し、プログラムを実行して、正常にデバッグします。

障害が発生した後は、閉じて再実行する必要があります。スクリーンショットを撮るのを忘れたので、見せません。