蚂蚁爬绳java_JAVA练习题蚂蚁爬木杆

哪位大大帮我看下,为神马运行结果都是一样的。。。publicclassC4_bc2{publicstaticvoidmain(Stringarg[]){C4_bc2t=newC4_bc2();t.t1();}voidt1(){//创建5只蚂蚁MaYim1=newMaYi();MaY...

哪位大大帮我看下,为神马运行结果都是一样的。。。

public class C4_bc2{

public static void main(String arg[]){

C4_bc2 t=new C4_bc2();

t.t1();

}

void t1(){

//创建5只蚂蚁

MaYi m1=new MaYi();

MaYi m2=new MaYi();

MaYi m3=new MaYi();

MaYi m4=new MaYi();

MaYi m5=new MaYi();

//设置蚂蚁的初始朝向

for(int i=1;i<3;i++)

for(int j=1;j<3;j++)

for(int k=1;k<3;k++)

for(int m=1;m<3;m++)

for(int n=1;n<3;n++){

//设置蚂蚁的初始状态

m1.alreadyGone=false;

m1.site=3;

m1.direct=i;

m2.alreadyGone=false;

m2.site=7;

m2.direct=j;

m3.alreadyGone=false;

m3.site=11;

m3.direct=k;

m4.alreadyGone=false;

m4.site=17;

m4.direct=m;

m5.alreadyGone=false;

m5.site=23;

m5.direct=n;

//每一秒钟检测蚂蚁状态

for(int p=1;p<100;p++){

//如果蚂蚁没有离开木杆,走动一步

if(!m1.alreadyGone)

m1.step();

if(!m2.alreadyGone)

m2.step();

if(!m3.alreadyGone)

m3.step();

if(!m4.alreadyGone)

m4.step();

if(!m5.alreadyGone)

m5.step();

//检测蚂蚁是否相遇

if(m1.site==m2.site&&m1.direct==2&&m2.direct==1){

m1.changeDirect();

m2.changeDirect();

}

if(m2.site==m3.site&&m2.direct==2&&m3.direct==1){

m2.changeDirect();

m3.changeDirect();

}

if(m3.site==m4.site&&m3.direct==2&&m4.direct==1){

m3.changeDirect();

m4.changeDirect();

}

if(m4.site==m5.site&&m4.direct==2&&m5.direct==1){

m4.changeDirect();

m5.changeDirect();

}

//检测蚂蚁是否全部离开木杆

if(m1.alreadyGone&&m2.alreadyGone&&m3.alreadyGone&&m4.alreadyGone&&m5.alreadyGone){

System.out.println(""+i+j+k+m+n+" 离开时间为:"+p);

break;

}

}

}

}

}

class MaYi{

//蚂蚁是否在离开

boolean alreadyGone=false;

//蚂蚁头的朝向,1为向左,2位向右

int direct=1;

//蚂蚁现在的位置

int site=0;

//蚂蚁走动

void step(){

if(direct==0)

site-=1;

else

site+=1;

//判断蚂蚁是否离开木杆

if(site==0||site==27)

alreadyGone=true;

}

//蚂蚁掉头

void changeDirect(){

if(direct==1)

direct=2;

else

direct=1;

}

}

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编写单片机爬绳机器人程序需要以下步骤: 1. 确定硬件平台:选择适合的单片机开发板,如STC89C52、AT89S52等,并搭建好电路。 2. 学习单片机基础知识:掌握单片机IO口、定时器、中断等基础知识,了解C语言与单片机的交互方式。 3. 编写程序框架:根据机器人的控制逻辑,编写程序框架,包括初始化、循环等基本结构。 4. 实现电机控制:通过PWM控制电机的转速和方向,实现机器人的升和下降。 5. 添加传感器:通过添加光电传感器等传感器,实现机器人对绳索的感知和控制。 6. 调试程序:对程序进行调试,保证机器人能够正常工作。 以下是一个简单的爬绳机器人程序框架,供参考: ``` #include <reg52.h> sbit motor1 = P1^0; //电机1控制引脚 sbit motor2 = P1^1; //电机2控制引脚 sbit sensor1 = P2^0; //传感器1引脚 sbit sensor2 = P2^1; //传感器2引脚 void motor_control(int speed, int direction) { //通过PWM控制电机速度和方向 } void main() { //初始化程序 while(1) { //循环体 if(sensor1 == 1 && sensor2 == 0) { //绳索在机器人左侧,向左 motor_control(100, 1); } else if(sensor1 == 0 && sensor2 == 1) { //绳索在机器人右侧,向右 motor_control(100, 0); } else { //绳索在机器人正下方,停止运动 motor_control(0, 0); } } } ``` 以上仅为一个简单的程序框架,具体实现需要根据实际情况进行调整和完善。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值