编程解决各种问题(二) ----------------Flash 经典智力游戏(二) 和尚和鬼的故事

本文介绍了如何通过编程解决一个逻辑挑战:将三个僧侣和三个鬼安全地用船运送到河对岸,避免鬼吃掉僧侣。问题涉及条件判断和状态转移,通过一系列步骤演示了解决方案。
摘要由CSDN通过智能技术生成

第二个问题:这回是用船把这三个僧侣和三个鬼运到河对面,但是千万要注意,当一边的鬼的数量多于僧侣,鬼就会吃掉僧侣。比上一题难了点,不过还是可以解开的吧!


http://www.chinaren.com/20050330/n224935292.shtml


逻辑处理类

import java.util.ArrayList;


public class Flash {

	static ArrayList<Body> curList = new ArrayList<Body>();
	static ArrayList<Body> tarList = new ArrayList<Body>();
	
	static boolean bFlag = false;								//用于 标记船在哪里   false表示在原地方 true表示在目的地
	
	static ArrayList<Body> list = new ArrayList<Body>();
	
	public static void main(String[] args) {
		
		//初始化3个人
		Body p1 = new Body();
		p1.setIndex(Body.PEOPLE);
		
		Body p2 = new Body();
		p2.setIndex(Body.PEOPLE);
		
		Body p3 = new Body();
		p3.setIndex(Body.PEOPLE);
		
		//初始化3个鬼
		Body g1 = new Body();
		g1.setIndex(Body.GHOST);
		
		Body g2 = new Body();
		g2.setIndex(Body.GHOST);
		
		Body g3 = new Body();
		g3.setIndex(Body.GHOST);
		
		curList.add(p1);
		curList.add(p2);
		curList.add(p3);
		curList.add(g1);
		curList.add(g2);
		curList.add(g3);
		
		new Thread(){
			public void run(){
				while(tarList.toArray().len
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值