微信大变样后,“跳一跳”小程序简直是人人都在玩
游戏规则非常简单
就是长按屏幕操纵一个像跳棋的物体
在随机给出的间距不同的台子上跳来跳去
按的时间越长棋子跳得越远
得分关键在于掌握好松手时间
为了获得高分
能在好友排名上占据首位
不少网友想出了高招
最原始的方法就是手动量距离出来
不过正是这个初阶办法给了灵感,浙农林大学机械153班的马祥祥同学在空闲时间,带着浓浓的兴趣,用C语言和单片机研制出了"跳一跳"游戏的高分程序。
简单跟大家说一下
先把最常出现的9种距离定义为一个声音指令
根据以下C语言程序测出来要跳几声
#include <Servo.h>
Servo myservo;
int pos = 0;
void setup() {
myservo.attach(13);
pinMode(2,INPUT);//1
pinMode(3,INPUT);//2
pinMode(4,INPUT);//3
pinMode(5,INPUT);//4
pinMode(6,INPUT);//5
pinMode(7,INPUT);//6
pinMode(8,INPUT);//7
pinMode(9,INPUT);//8
pinMode(10,INPUT);//9
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
}
void loop() {
if(digitalRead(2)==LOW) // 1
{ pos=45; myservo.write(pos); delay(240); pos=0; myservo.write(pos); delay(3000);} else{ pos=0; myservo.write(pos); }
if(digitalRead(3)==LOW) // 2
{ pos=45; myservo.write(pos); delay(400); pos=0; myservo.write(pos); delay(3000);} else{ pos=0; myservo.write(pos); }
if(digitalRead(4)==LOW) // 3
{ pos=45; myservo.write(pos); delay(600); pos=0; myservo.write(pos); delay(3000);} else{ pos=0; myservo.write(pos); }
if(digitalRead(5)==LOW) // 4
{ pos=45; myservo.write(pos); delay(680); pos=0; myservo.write(pos); delay(3000);} else{ pos=0; myservo.write(pos); }
if(digitalRead(6)==LOW) // 5
{ pos=45; myservo.write(pos); delay(740); pos=0; myservo.write(pos); delay(3000);} else{ pos=0; myservo.write(pos); }
if(digitalRead(7)==LOW) //6
{ pos=45; myservo.write(pos); delay(830); pos=0; myservo.write(pos); delay(3000);} else{ pos=0; myservo.write(pos); }
if(digitalRead(8)==LOW) // 7
{ pos=45; myservo.write(pos); delay(940); pos=0; myservo.write(pos); delay(3000);} else{ pos=0; myservo.write(pos); }
if(digitalRead(9)==LOW) // 8
{ pos=45; myservo.write(pos); delay(1040); pos=0; myservo.write(pos); delay(3000);} else{ pos=0; myservo.write(pos); }
if(digitalRead(10)==LOW) // 9
{ pos=45; myservo.write(pos); delay(1140); pos=0; myservo.write(pos); delay(3000);} else{ pos=0; myservo.write(pos); }
}
程序里默认2-10 I/O默认为高电平
给某一个接口街上低电平就执行某段程序
马同学说他平时就喜欢倒腾这些东西
跳一跳游戏出来之后很有想法
就自己研制出一个用C语言编写的高分程序
并无刷分意愿,纯感兴趣
现在把代码分享给大家
感兴趣的同学
可以用以上代码试试
553014383邀请码:悟空
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved