C#编写简单的人工智能课程的实验-猴子摘香蕉

本文分享了一个使用C#实现的人工智能实验,模拟猴子如何通过移动和使用箱子来摘取香蕉的过程。实验逻辑包括判断猴子、箱子和香蕉的位置,并根据位置变化更新猴子的状态,最终完整输出摘香蕉的过程。
摘要由CSDN通过智能技术生成

1.实验内容

        用C#,编写完成了使用者分别输入猴子、香蕉、箱子所在的位置,输出完整的猴子摘香蕉的过程。

2.大致逻辑

        首先由使用者输入猴子、箱子和香蕉所在的位置,首先判断猴子和箱子是否在同一位置,若不在同一位置,则让猴子移动到箱子所在的位置,改变状态结构体中猴子位置的值。

        在第一步实现的情况下,判断猴子、箱子和香蕉是否在同一位置上,若是,则猴子爬箱子摘香蕉,若不是,则让猴子将箱子推到香蕉的位置,此时改变状态结构中猴子和箱子位置的值。

        当猴子、箱子和香蕉在同一位置后,判断猴子是否在箱子上,若在箱子上,直接摘香蕉,若猴子没在箱子上,先让猴子爬上箱子,再摘香蕉,此时改变状态结构中关于猴子是否在箱子上的值,最后将步骤输出在控制台中。

3.代码实现

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Monkey
{
    class Program
    {
        struct State
        {
            public int Monkey; //猴子位置
            public int Banana; //香蕉位置
            public int Box;    //盒子位置
            public bool MonB;  //猴子是否在盒子上,True为在,False为不在
        }

        //新建结构体数组和对应步骤
        static State[] states = new State[200];
        Dictionary<int, string> stepSave = new Dictionary<int, string>();
        public static void Main(string[] args)
        {
            Program pg = new Program();
            Console.Write("输入猴子位置(-1,0,1):");
            SetRange(ref states[0].Monkey, int.Parse(Console.ReadLine()));
            Console.Write("输
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值