AI/FirstLayer.cs

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using Cube.Data;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CubeForm.AI
{
    class FirstLayer : IPattenMatch
    {
        Cube.Data.Cube cube;
        PattenManager patten;
        List<PositionVector> Angles = new List<PositionVector>
        {
            new PositionVector(1, 1, 1),
            new PositionVector(1, -1, 1),
            new PositionVector(-1, 1, 1),
            new PositionVector(-1, -1, 1),
            new PositionVector(1, 1, -1),
            new PositionVector(1, -1, -1),
            new PositionVector(-1, 1, -1),
            new PositionVector(-1, -1, -1)
        };

        public event PattenMatchedDelegate PattenMatched;

        public FirstLayer(Cube.Data.Cube cube)
        {
            this.cube = cube;
            patten = new PattenManager(cube);
        }

        public void Invoke()
        {
            for(var i = 0; i < 4; i++)
            {
                var groove_colors = GetGrooveColors();
                var groove_vector = new ColorVector(groove_colors[0], groove_colors[1], groove_colors[2]);
                foreach(var angle in Angles)
                {
                    if (!cube[angle].Equals(groove_vector)) continue;
                    var selected_index = cube.FindCubeByPosition(angle);
                    var selected_block = cube[selected_index];
                    Debug.WriteLine("Origin Position:" + selected_block.Position.X + "," + selected_block.Position.Y + "," + selected_block.Position.Z);
                    ParaseToBrainlessCase(selected_block.Position);
                    Debug.WriteLine("Parased Position:" + selected_block.Position.X + "," + selected_block.Position.Y + "," + selected_block.Position.Z);
                    while (!CheckBrainlessResult())
                    //for(var j=0;j<8;j++)
                    {
                        Debug.WriteLine("In NC Loop:(gole: 1,1,-1 " + groove_colors[2] + "," + groove_colors[1] + "," + groove_colors[0] + ")");
                        DoBrainlessPatten();
                        Debug.WriteLine("Check:" + CheckBrainlessResult());
                        Debug.WriteLine("\tPosition:" + selected_block.Position.X + "," + selected_block.Position.Y + "," + selected_block.Position.Z);
                        Debug.WriteLine("\tColor:" + selected_block.ColorVector.X + "," + selected_block.ColorVector.Y + "," + selected_block.ColorVector.Z + "\n");
                    }
                }
                patten.y();
            }
后面还有 77 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。