游戏效果
.
.
游戏说明


‘A’,‘S’,‘D’,F’按键代表四条通路(点击S开始),按错按钮或黑块接触底限均为失败。
完整代码分两个m文件,应放在同一文件夹 . pianoKeys.m(主函数)
function pianoKeys
%======================%========
[v1,notes,fs]=getMusic;%读取音乐
%======================%========
fig=uifigure;
fig.Position=[10 50 4*90 4*150];
fig.NumberTitle='off';
fig.MenuBar='none';
fig.Resize='off';
fig.Name='pianoKeys';
ax=uiaxes(fig);
ax.Position=[-22 -15 4*90+36 4*150+40];
ax.XLim=[0 4*90];
ax.YLim=[0 4*150];
ax.XColor=[0 0 0];
ax.YColor=[0 0 0];
ax.Box='on';
ax.XTick=0:90:360;
ax.YTick=[0 600];
ax.XGrid='on';
ax.GridColor=[0 0 0];
ax.GridAlpha=1;
ax.Toolbar.Visible='off';
%==========================================================================
blockList(1)=drawBlock(changeData(1),0,{'开始';'游戏'},v1{1});
noDeleteList=1:4;
newBlockY=600;
newBlockNum=5;
startFlag=0;
gameOver=0;
for i=2:4
x=changeData(i);
blockList(i)=drawBlock(x,(i-1)*150,'',v1{i});
end
%==========================================================================
set(fig,'KeyPressFcn',@keyPressFcn)
%==========================================================================
fps=10;
PKtimer=timer('ExecutionMode', 'fixedRate', 'Period',1/fps, 'TimerFcn', @pianoGame);
start(PKtimer)
%==========================================================================
function pianoGame(~,~)
if startFlag
if newBlockY
关注
打赏