我是靠谱客的博主 拼搏大船,最近开发中收集的这篇文章主要介绍俄罗斯方块游戏51单片机实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

关于用51单片机实现俄罗斯方块游戏的硬件图以及代码如下,如有朋友需要原码和原理图见下网址

https://download.csdn.net/download/scanf_linux/10812851

 

 

 

 

void main(void) {
TMOD=0x1;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
EA=1;
ET0=1;
TR0=1;
lcdIni();
for(t0ms=0;t0ms<MAXHANG;t0ms++) {
cubeMap[t0ms][0]=0;
cubeMap[t0ms][1]=0;
}
while(1) {
createCube();
if(checkClask()) {
rectangle();
#define SHOWSTAR 12
#define GAP 8
lcdPlayChar(23,2,SHOWSTAR); //GAME
lcdPlayChar(24,2,SHOWSTAR+GAP);   
lcdPlayChar(25,2,SHOWSTAR+2*GAP);
lcdPlayChar(12,2,SHOWSTAR+3*GAP);

lcdPlayChar(20,4,SHOWSTAR); //OVER     
lcdPlayChar(26,4,SHOWSTAR+GAP);
lcdPlayChar(12,4,SHOWSTAR+2*GAP);
lcdPlayChar(21,4,SHOWSTAR+3*GAP);
t0ms=0;
while(t0ms<95);//ÑÓʱ2Ãë
t0ms=0;
while(t0ms<95);
((void (code *) (void)) 0x0000) ( );   
}
      while(1) {
timeServer();
if(keyflag) {
keyflag=0;
t0ms1=0;
if(gkey==0)
moveLeft();
if(gkey==1)
moveRigh();
if(gkey==2)
cubeRotation();
if(gkey==3)
moveDown();      
}
if(gkey==0 && t0ms1==PUSHON) {
t0ms1-=10;
moveLeft();
}
if(gkey==1 && t0ms1==PUSHON) {
t0ms1-=10;
moveRigh();
}
if(gkey==3 && t0ms1==PUSHON) {
t0ms1-=10;
moveDown();
}
if(downtimegap>(DOWNTIME-speed)) {
moveDown();
downtimegap=0;
}
if(downok) {
downok=0;
break;
}
}
    }
}

 

最后

以上就是拼搏大船为你收集整理的俄罗斯方块游戏51单片机实现的全部内容,希望文章能够帮你解决俄罗斯方块游戏51单片机实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部