当前位置: 首页 > news >正文

东莞网站建设美丽事件营销的案例有哪些

东莞网站建设美丽,事件营销的案例有哪些,南海建设工程交易中心网站,万网主机网站建设数据库怎么弄文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用STM32F103C8T6单片机控制器,使用IIC OLED模块、按键等。 主要功能: 系统运行后,OLED显示游戏界面,可通过K1-K4键控制蛇的方向,当蛇吃…

文章目录

  • 一、功能简介
  • 二、软件设计
  • 三、实验现象
  • 联系作者


一、功能简介

本项目使用STM32F103C8T6单片机控制器,使用IIC OLED模块、按键等。

主要功能:
系统运行后,OLED显示游戏界面,可通过K1-K4键控制蛇的方向,当蛇吃到食物,得分加1;K1左,K2右,K3上,K4下。


二、软件设计

/*
作者:嗨小易(QQ:3443792007)*/void GUI_Init()//界面初始化
{OLED_Clear();Snake_Init();Food();OLED_Refresh();	
}void GUI_Refresh(int map[32][12])//界面刷新
{int i,j,temp;for(i=0;i<32;i++){for(j=0;j<12;j++){temp=map[i][j];if(temp==2){Paint_Body(i,j);  }else if(temp==-2){Paint_Map(i,j);  }else if(temp==-1){Paint_Food(i,j);  }else if(temp==0){Paint_Clean(i,j);  } 		  }}OLED_Refresh();}void Creat_map(int map[32][12])//创建地图
{int i,j;for(i=0;i<12;i++){for(j=0;j<32;j++){if(i==0||i==11){map[j][i]=-2;}if(j==0||j==31){map[j][i]=-2;}}}
}
void Paint_Map(int x,int y)//绘制地图
{int i,j;for(i=4*y;i<4*y+4;i++)     {for(j=4*x;j<4*x+4;j++){OLED_DrawPoint(j,i+16); }}}void Paint_Head(int x,int y )//绘制蛇头
{int i,j;for(i=4*y;i<4*y+4;i++)     {for(j=4*x;j<4*x+4;j++){OLED_DrawPoint(j,i+16); }}
}void Paint_Food(int x,int y )//绘制食物
{int i,j;for(i=4*y;i<4*y+4;i++)     {for(j=4*x;j<4*x+4;j++){if(i==4*y+1||i==4*y+2){OLED_DrawPoint(j,i+16);  }if(j==4*x+1||j==4*x+2){OLED_DrawPoint(j,i+16);  } }}}
void Paint_Tail(int x,int y )//绘制尾巴
{int i,j;for(i=4*y;i<4*y+4;i++)     {for(j=4*x;j<4*x+4;j++){if(i==4*y+1||i==4*y+2){OLED_DrawPoint(j,i+16);  }if(j==4*x+1||j==4*x+2||j==4*x+3){OLED_DrawPoint(j,i+16);  } }}}
void Paint_Body(int x,int y )//绘制身体
{int i,j;for(i=4*y;i<4*y+4;i++)     {for(j=4*x;j<4*x+4;j++){if(i==4*y||i==4*y+3){OLED_DrawPoint(j,i+16);  }if(j==4*x||j==4*x+3){OLED_DrawPoint(j,i+16);  }}}
}
void Paint_Clean(int x,int y )//清除点
{int i,j;for(i=4*y;i<4*y+4;i++)     {for(j=4*x;j<4*x+4;j++){OLED_ClearPoint(j,i+16);  }}
}void Snake_Init()//蛇及食物初始化
{  int i;length=5;score=0;snake_Grid[0][0]=7;//x坐标,蛇头坐标snake_Grid[0][1]=5;//y坐标for(i=1;i<5;i++){snake_Grid[i][0]=snake_Grid[0][0]-i;snake_Grid[i][1]=snake_Grid[0][1];  //给刚开始的蛇身几个初始坐标}direction=RIGHT;Creat_map(map);
}void Move()//移动
{int i;map[snake_Grid[length-1][0]][snake_Grid[length-1][1]]=0;//清除尾巴if(eated)               //如果吃到了食物{length++;eated=false;        //设置为false,不然无限变长}for(i=length-1;i>0;i--)    //从尾巴开始,每一个点的位置等于它前面一个点的位置{snake_Grid[i][0]=snake_Grid[i-1][0];snake_Grid[i][1]=snake_Grid[i-1][1];}switch(direction){case UP:snake_Grid[0][1]--;break;case DOWN:snake_Grid[0][1]++;break;case LEFT:snake_Grid[0][0]--;break;case RIGHT:snake_Grid[0][0]++;break;}Grid_Bound();//坐标限定}
void drawSnake()            //画蛇
{int i,x,y;for(i=0;i<length;i++){x=snake_Grid[i][0];y=snake_Grid[i][1];map[x][y]=2;       }
}
void Get_Command()//获取键盘值
{int key=0;key=KEY_Scan(0);if(key){switch(key){case 1:if(direction!=RIGHT)         //上direction=LEFT;break;case 2:if(direction!=LEFT)           //下direction=RIGHT;break;case 3:if(direction!=DOWN)        //左direction=UP;break;case 4:if(direction!=UP)         //右direction=DOWN;break;}}
}void  Grid_Bound()//坐标限定
{if(snake_Grid[0][0]==31)snake_Grid[0][0]=1;else if(snake_Grid[0][0]==0)snake_Grid[0][0]=30;else if(snake_Grid[0][1]==11)snake_Grid[0][1]=1;else if(snake_Grid[0][1]==0)snake_Grid[0][1]=10;  }bool GameOver()//游戏结束
{bool isGameOver=false;int sx=snake_Grid[0][0],sy=snake_Grid[0][1],i;//蛇头坐标for(i=1; i<length; i++)    //判断有没有吃到自己{if(snake_Grid[i][0]==sx&&snake_Grid[i][1]==sy)isGameOver=true;}return isGameOver;
}int Chek(int i,int j)//检查地图空位
{if(map[i][j]!=0){return 0;}return 1;   //是空位就返回1
}void Food()//生成食物
{int i,j;do{i=rand()%30;                 //生成0~H-1之间的一个数j=rand()%10;}while(Chek(i,j)==0);map[i][j]=-1;//画出食物
}void Eat_Food()//吃食物
{if(map[snake_Grid[0][0]][snake_Grid[0][1]]==-1) //如果蛇头碰到食物,就重新投放食物,并且把食物点重置为0{eated=true;            //标记已经吃到食物score+=1;Food();map[snake_Grid[0][0]][snake_Grid[0][1]]=0;  //去掉食物}
}void Show_Score()//显示分数
{OLED_ShowString(30,0,"Score:",16);OLED_ShowNum(80,0,score,2,16);}

三、实验现象

B站演示视频:https://space.bilibili.com/444388619
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


联系作者

专注于51单片机、STM32、国产32、DSP、Proteus、ardunio、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

http://www.khdw.cn/news/34172.html

相关文章:

  • 网站百科推广怎么做拉人注册给佣金的app
  • 东莞市美时家具营销型网站百度搜索趋势
  • 中堂东莞网站建设自己怎么制作一个网站
  • 垂直行业批发商城网站开发免费的关键词优化软件
  • 做网站需要机吗关键词优化seo优化
  • 为餐饮企业做网站推广百度app关键词优化
  • 威海微网站建设学开网店哪个培训机构好正规
  • 哪些网站做彩票预测途径灰色关键词排名方法
  • 响应式手机网站怎么做私密浏览器免费版
  • 微信官方网站网址官网设计比较好看的网站
  • 线上课程制作it菜鸡网seo
  • 广州制作网站服务大数据下的精准营销
  • c 语言可以做网站吗百度云网盘网页版登录
  • 做地方生活网站长沙网络营销外包哪家好
  • 阿里云网站域名查询百度手机助手下载2021新版
  • 怎么做韩剧网站的翻译济南网站优化公司哪家好
  • 邢台企业做网站哪儿好网络营销策划方案模板
  • 什么网站可以接图做图网站怎么做出来的
  • 做外贸如何访问国外网站seochinaz查询
  • 网站建设开票写什么百度服务中心官网
  • web登录官方入口优化关键词排名提升
  • 如何做请求队列防止网站高并发seo 页面
  • 台州建设网站全国新冠疫苗接种率
  • 宿迁做网站电话自己想做个网站怎么做
  • 网站建设网络推广如何添加百度指数
  • 湖北最专业的公司网站建设平台互联网推广销售
  • 做购物商城类网站需要seo技术教学视频
  • 一个电商网站开发需要多久东莞seo公司
  • 企业网站相关案例互联网培训班学费多少
  • 建设班级网站东莞百度seo哪里强