免费1级做爰片在线网站,wordpress 个人电脑,网站建设需要什么流程,玉溪做网站公司在数字娱乐领域#xff0c;Google小恐龙#xff08;T-Rex Runner#xff09;以其简单而上瘾的游戏机制赢得了广泛的关注和喜爱。这款内置于Chrome浏览器的离线小游戏#xff0c;不仅为用户带来了乐趣#xff0c;也激发了开发者们对其进行各种创新和扩展的灵感。本文将介绍…在数字娱乐领域Google小恐龙T-Rex Runner以其简单而上瘾的游戏机制赢得了广泛的关注和喜爱。这款内置于Chrome浏览器的离线小游戏不仅为用户带来了乐趣也激发了开发者们对其进行各种创新和扩展的灵感。本文将介绍一种基于C51单片机和OLED12864显示屏实现的Google小恐龙游戏。尽管受限于12864显示屏的显示特性我们的实现依然能够展示出小恐龙的基本动作——行走和跳跃尽管界面的流畅度和清晰度有所限制。
Proteus仿真的界面如下 部分代码如下
#include reg52.h
#include intrins.h
#include oledxs.h
#include oledxkl.h//图片字模存放在位置
#define uchar unsigned char//用uchar表示unsigned char类型
#define uint unsigned int//用uint表示unsigned int类型
#define LEFT 2//方向定义左
#define RIGHT 3//方向定义:右extern uchar code BMPclr[];//图片清屏用
extern uchar code BMP1[];//图片外部变量什么小恐龙1
extern uchar code BMP2[];//图片外部变量什么小恐龙2
extern uchar code BMP3[];//图片外部变量什么云
extern uchar code BMP4[];//图片外部变量什么树
uchar bx,by,bmx,bmy;//图片坐标图片移动坐标
uchar upflag,downflag;//跳跃状态标志上升状态下落状态
uint v;sbit LEFTkey P2^2;//按键左
sbit RIGHTkey P2^1;//按键右
sbit UPkey P2^0;//按键上
sbit DOWNkey P2^3;//按键下
uint key_up1;
void keyscan();
void BMPmove(uchar BMPx1,uchar BMPy1,uchar BMPx2,uchar BMPy2,uchar *BMPn,uchar BMPfx);//图片循环移动
//6个形参分别为图片起始列坐标起始页坐标结束列坐标结束页坐标图片名移动方向
void main(void)
{bx0;by4;bmx0;upflag0;downflag0;OLED_Init(); OLED_Clear(); while(1) {OLED_ShowString(60,0,score:,8);BMPmove(-64,2,-48,3,BMP3,LEFT);delay_ms(10);BMPmove(-8,4,8,8,BMP4,LEFT);delay_ms(10);v1;OLED_ShowNum(100,0,v,3,8);Xianshi_Tupian(bx,by,bx32,by4,BMP1); //生成图像delay_ms(10);Xianshi_Tupian(bx,by,bx32,by4,BMP2); //生成图像delay_ms(10);if(upflag 0 downflag 0) keyscan();if(upflag 1)//上升状态{if(by 0){upflag0;downflag1;}if(by1){Xianshi_Tupian(bx,by3,bx32,by4,BMPclr);by--;}}if(downflag 1)//下降状态{if(by 4){downflag0;}if(by 3){Xianshi_Tupian(bx,by,bx32,by1,BMPclr);by;}}}}void keyscan()
{if(UPkey 0 key_up1){delay_ms(10);key_up0;if(UPkey 0){ upflag1;}}else if(UPkey1) key_up1;if(LEFTkey 0 key_up1){delay_ms(10);key_up0;if(LEFTkey 0){ Xianshi_Tupian(bx32-8,by,bx32,by8,BMPclr);bx-8;if(bx0) bx128;}}else if(LEFTkey1) key_up1;if(RIGHTkey 0 key_up1){delay_ms(10);key_up0;if(RIGHTkey 0){ Xianshi_Tupian(bx,by,bx8,by8,BMPclr);bx8;if(bx128) bx0;}}else if(RIGHTkey1) key_up1;
}void BMPmove(uchar BMPx1,uchar BMPy1,uchar BMPx2,uchar BMPy2,uchar *BMPn,uchar BMPfx)
{if(BMPfxLEFT){if(bmx0) bmx128;if(bmx8){Xianshi_Tupian(bmxBMPx1,BMPy1,bmxBMPx2,BMPy2,BMPn);Xianshi_Tupian(bmxBMPx2,BMPy1,bmxBMPx2BMPx2-BMPx1,BMPy2,BMPclr);bmx-8;}}if(BMPfxRIGHT){if(bmx128) bmx0;if(bmx128){Xianshi_Tupian(bmxBMPx1,BMPy1,bmxBMPx2,BMPy2,BMPn);Xianshi_Tupian(bmxBMPx1,BMPy1,bmxBMPx2BMPx2-BMPx1,BMPy2,BMPclr);bmx8;}}
} PS感兴趣的同学可以到我的资源下载全部程序。
尽管在OLED12864显示屏上实现Google小恐龙游戏面临一些挑战如显示延迟和界面清晰度但我们的项目依然成功地展示了小恐龙的基本动作。这种尝试不仅证明了C51单片机在简单游戏开发中的潜力也为未来在更高性能显示屏上的进一步开发奠定了基础。
在未来随着显示技术的不断进步我们有理由相信类似的游戏将能够在更小、更高效的设备上实现更加流畅和清晰的显示效果。同时这也为开发者们提供了一个探索和创新的平台激发他们在有限的硬件资源下实现更复杂功能的动力。
最终Google小恐龙游戏的这一实现不仅是对经典游戏的一种致敬也是对技术限制的一种挑战。我们期待在未来看到更多类似的项目不仅在技术上有所突破更在用户体验上带来新的惊喜。