arduino ide编写的esp32和st773580*160的一个接球小游戏

#include<TFT_eSPI.h>

#define led 2

int bx,by=5,x=65,y=57,mark,level=1;

const int r=5,sjs=23,pin=13;

TFT_eSPI tft=TFT_eSPI();

uint16_t color=tft.color565(128,0,128); //RGB颜色转GBR565,紫色

void setup()

{

// put your setup code here, to run once:

Serial.begin(921600);

pinMode(led,OUTPUT);

pinMode(pin,INPUT);

digitalWrite(led,LOW);

tft.init();

tft.fillScreen(TFT_WHITE);

tft.setRotation(3);

tft.setTextSize(2);

tft.setTextColor(TFT_BLACK);

randomSeed(analogRead(sjs)); //使用一个引脚来作为随机数种子

bx=random(5,155);

}

void loop()

{

// put your main code here, to run repeatedly:

if(bx>=x&&bx<=x+15&&by+5>=y&&by+5<=y+3)

{

mark++;

if(mark%5==0)

{

level++;

}

tft.fillScreen(TFT_WHITE);

tft.setCursor(0,0);

tft.println("you win!");

tft.print("your mark:");

tft.println(mark);

tft.print("your level:");

tft.print(level);

delay(1000);

tft.fillScreen(TFT_WHITE);

randomSeed(analogRead(sjs));

bx=random(5,155);

by=5;

x=65;

y=57;

}

if(bx<=155&&bx>=5&&by>=5&&by<=75)

{

tft.fillRect(x,y,15,3,TFT_BLACK);

tft.fillCircle(bx,by,r,color);

tft.drawPixel(bx,by,TFT_WHITE);

delay(100);

tft.fillCircle(bx,by,r,TFT_WHITE);

tft.fillRect(x,y,15,3,TFT_WHITE);

x=double(analogRead(13))/4095.00*145;

Serial.println(bx>=x&&bx<=x+15&&by+5<=y&&by+5>=y+3);

Serial.print(x);

Serial.print(" ");

Serial.print(bx);

Serial.print(" ");

Serial.println(by);

by+=2*level+1;

}

else

{

tft.fillScreen(TFT_WHITE);

tft.setCursor(0,0);

tft.println("Game ovor!");

tft.print("your mark:");

tft.println(mark);

tft.print("your level:");

tft.print(level);

digitalWrite(led,HIGH);

delay(100);

digitalWrite(led,LOW);

delay(100);

digitalWrite(led,HIGH);

delay(100);

digitalWrite(led,LOW);

delay(100);

digitalWrite(led,HIGH);

delay(3000);

exit(0);

}

}

cpp 复制代码
#include<TFT_eSPI.h>
#define led 2
int bx,by=5,x=65,y=57,mark,level=1;
const int r=5,sjs=23,pin=13;
TFT_eSPI tft=TFT_eSPI();
uint16_t color=tft.color565(128,0,128); //RGB颜色转GBR565,紫色
void setup()
{
  // put your setup code here, to run once:
  Serial.begin(921600);
  pinMode(led,OUTPUT);
  pinMode(pin,INPUT);
  digitalWrite(led,LOW);
  tft.init();
  tft.fillScreen(TFT_WHITE);
  tft.setRotation(3);
  tft.setTextSize(2);
  tft.setTextColor(TFT_BLACK);
  randomSeed(analogRead(sjs)); //使用一个引脚来作为随机数种子
  bx=random(5,155);
}
void loop()
{
  // put your main code here, to run repeatedly:
  if(bx>=x&&bx<=x+15&&by+5>=y&&by+5<=y+3)
  {
    mark++;
    if(mark%5==0)
    {
      level++;
    }
    tft.fillScreen(TFT_WHITE);
    tft.setCursor(0,0);
    tft.println("you win!");
    tft.print("your mark:");
    tft.println(mark);
    tft.print("your level:");
    tft.print(level);
    delay(1000);
    tft.fillScreen(TFT_WHITE);
    randomSeed(analogRead(sjs));
    bx=random(5,155);
    by=5;
    x=65;
    y=57;
  }
  if(bx<=155&&bx>=5&&by>=5&&by<=75)
  {
    tft.fillRect(x,y,15,3,TFT_BLACK);
    tft.fillCircle(bx,by,r,color);
    tft.drawPixel(bx,by,TFT_WHITE);
    delay(100);
    tft.fillCircle(bx,by,r,TFT_WHITE);
    tft.fillRect(x,y,15,3,TFT_WHITE);
    x=double(analogRead(13))/4095.00*145;
    Serial.println(bx>=x&&bx<=x+15&&by+5<=y&&by+5>=y+3);
    Serial.print(x);
    Serial.print(" ");
    Serial.print(bx);
    Serial.print(" ");
    Serial.println(by);
    by+=2*level+1;
  }
  else
  {
    tft.fillScreen(TFT_WHITE);
    tft.setCursor(0,0);
    tft.println("Game ovor!");
    tft.print("your mark:");
    tft.println(mark);
    tft.print("your level:");
    tft.print(level);
    digitalWrite(led,HIGH);
    delay(100);
    digitalWrite(led,LOW);
    delay(100);
    digitalWrite(led,HIGH);
    delay(100);
    digitalWrite(led,LOW);
    delay(100);
    digitalWrite(led,HIGH);
    delay(3000);
    exit(0);
  }
}
相关推荐
dessler6 分钟前
代理服务器-LVS的3种模式与调度算法
运维·服务器·网络·算法·nginx·tomcat·lvs
Lw老王要学习23 分钟前
Linux容器篇、第二章_01Ubuntu22 环境下 KubeSphere 容器平台高可用搭建全流程
linux·运维·服务器·k8s·kubesphere·容器化
Ll130452529830 分钟前
JsonCpp 库如何集成到Visual studio
ide·visual studio
張萠飛1 小时前
Linux下如何使用shell脚本导出elasticsearch中某一个index的数据为本地csv文件
linux·运维·elasticsearch
我又来搬代码了2 小时前
【Android】Android Studio项目代码异常错乱问题处理(2020.3版本)
android·ide·android studio
电商API_180079052472 小时前
构建高效可靠的电商 API:设计原则与实践指南
运维·服务器·爬虫·数据挖掘·网络爬虫
WarPigs2 小时前
Visual Studio问题记录
ide·windows·visual studio
杰哥技术分享2 小时前
IDEA 打开文件乱码
java·ide·intellij-idea
猫头虎2 小时前
[特殊字符]解决 “IDEA 登录失败。不支持早于 14.0 的 GitLab 版本” 问题的几种方法
java·ide·网络协议·http·https·gitlab·intellij-idea
晓枫-迷麟3 小时前
【nano与Vim】常用命令
linux·编辑器·vim