找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1072|回复: 1
打印 上一主题 下一主题
收起左侧

贪吃蛇DIY程序 基于stm32(添加触键)

[复制链接]
跳转到指定楼层
楼主
ID:598688 发表于 2021-1-20 14:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

  1. #include "sys.h"
  2. #include "delay.h"  
  3. #include "usart.h"  
  4. #include "led.h"
  5. #include "lcd.h"
  6. #include "key.h"
  7. #include "touch.h"
  8. #include "tanchishe.h"

  9. int main(void)
  10. {   

  11.         u8 d,key,t=0,result=0,time=0,a=4,chumo1,begin_sta=0,r=1;
  12.         u8 jz;
  13.         Stm32_Clock_Init(336,8,2,7);
  14.         delay_init(168);
  15.         uart_init(84,115200);
  16.         LED_Init();
  17.         KEY_Init();
  18.         LCD_Init();
  19.         //jiaozun
  20.         jz=TP_Init();
  21.         if(jz==0)
  22.         {
  23.                 TP_Adjust();
  24.                 jz=1;
  25.         }
  26.         
  27.         
  28.         tanchishe_init();
  29.         lab:
  30.         while(1)
  31.         {
  32.                
  33.                 chumo1 = chumo_scan() ;
  34.                 //LCD_ShowNum(30+8*4,120,chumo1,5,16);
  35.                 if(chumo1==1)
  36.                 {
  37.                         
  38.                         if(begin_sta==1)
  39.                         {
  40.                                 
  41.                                 begin_sta =0;                        
  42.                         }
  43.                         else
  44.                         {               
  45.                                 begin_sta=1;               
  46.                         }
  47.                         
  48.                         if((result!=0)&&(chumo1==1))
  49.                         {
  50.                                 r=0;
  51.                         }
  52.                         else
  53.                                 r=1;
  54.                 }
  55.                 if(begin_sta==1)
  56.                 {
  57.                         //a++;
  58.                         //LCD_ShowNum(30+8*4,240,a,5,16);
  59.                         LCD_Fill(107,421,140,449,RED);
  60.                         d = snake.d1;
  61.                         key = KEY_Scan(0);
  62.                         if(key == 1||key == 2||key == 3||key == 4)
  63.                         {
  64.                                 if((key == 1&&d==3)||(key == 2&&d==4)||(key == 3&&d==1)||(key == 4&&d==2))continue;
  65.                                 else
  66.                                 {
  67.                                         d=key;
  68.                                         snake.d1=key;
  69.                                         turn[t][0]=snake.x1;
  70.                                         turn[t][1]=snake.y1;
  71.                                         turn[t][2]=key;
  72.                                         t++;
  73.                                 }
  74.                         
  75.                         }
  76.                         result = panduan();
  77.                         if(result!=0)
  78.                         {
  79.                                 LCD_Fill(107,421,140,449,GREEN);
  80.                                 if(r==1)
  81.                                 {
  82.                                        
  83.                                         //begin_sta =0;
  84.                                         goto lab;                        
  85.                                 }
  86.                                 else
  87.                                 {
  88.                                        
  89.                                         a=4;t=0,result=0,time=0,a=4,begin_sta=0,r=1;//ÖØÖÃ
  90.                                         tanchishe_init();
  91.                                         goto lab;
  92.                                        
  93.                                 }
  94.                         }
  95.                         if(time ==snake.time2)
  96.                         {
  97.                                 show(d);               
  98.                                 disappear(turn);
  99.                                 time=0;
  100.                                 LCD_ShowString(24+4*8+3*8+80,440,5*8,16,16,"sudu:");
  101.                                 LCD_ShowNum(30+8*4+3*8+5*8+80,440,420-snake.time2*20,3,16);
  102.                                 if(snake.len ==a)
  103.                                 {
  104.                                         snake.time2--;
  105.                                         a=snake.len +2;
  106.                                         if(snake.time2 <2)snake.time2=2;//×î¿ì40ms
  107.                                 }
  108.                                 LED0 =! LED0;
  109.                         }
  110.                         time++;
  111.                         //delay_ms(20);
  112.                
  113.                
  114.                         
  115.                 }
  116.                 else
  117.                 {
  118.                         LCD_Fill(107,421,140,449,GREEN);
  119.                         goto lab;
  120.                 }
  121.                 //LCD_ShowString(24,410,18*8,16,16,"fail!zhuang qiang");
  122.                 LED1=!LED1;
  123.                 delay_ms(20);
  124.         }
  125.         
  126. }
复制代码

代码下载: 贪吃蛇DIY基于stm32(添加触键).7z (160.78 KB, 下载次数: 4)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2021-1-20 16:07 | 只看该作者
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表