コード例 #1
0
ファイル: Player.cs プロジェクト: muxu1118/HarfToyParty
    IEnumerator MoveAnim(float wait, MapKind player, Vector2 vec2)
    {
        float time = 0;
        int   x = -1, y = -1;

        for (int i = 0; i <= 6; i++)
        {
            for (int j = 0; j <= 6; j++)
            {
                if (map.mapInt[j, i] == (int)player)
                {
                    x = i;
                    y = j;
                }
            }
        }
        map.mapInt[y, x] = 0;
        map.mapInt[y - (int)vec2.y, x + (int)vec2.x] = (int)player;
        while (wait >= time)
        {
            time += Time.deltaTime;
            gameObject.transform.position = Vector3.Lerp(map.SpritePos[y][x], map.SpritePos[y - (int)vec2.y][x + (int)vec2.x], time / wait);
            //gameObject.transform.position += new Vector3((map.SpritePos[y - (int)vec2.y][x + (int)vec2.x].x - map.SpritePos[y][x].x) / time, (map.SpritePos[y - (int)vec2.y][x + (int)vec2.x].y - map.SpritePos[y][x].y) / time);
            yield return(new WaitForSeconds(Time.deltaTime));
        }
        transform.position = new Vector3(map.SpritePos[y - (int)vec2.y][x + (int)vec2.x].x, map.SpritePos[y - (int)vec2.y][x + (int)vec2.x].y);
        isMove             = false;
        map.mapInt[y - (int)vec2.y, x + (int)vec2.x] = (int)player;
        map.updateMap = true;
        yield return(new WaitForSeconds(0.1f));

        map.updateMap = false;
    }
コード例 #2
0
    public void choice()
    {
        //デバック用
        if (Player1)
        {
            button.interactable = false;
            Debug.Log("1を選択した");
            playerID = MapKind.Player1;
            if (button.interactable == false && button2.interactable == false)
            {
                GameManager.instance.StateChange();
                SceneManager.LoadScene("MainGame");
                Debug.Log("GameSceneを呼んでるよ");
            }
        }
        else if (Player2)
        {
            button2.interactable = false;
            Debug.Log("2を選択した");
            playerID = MapKind.Player2;
            if (button.interactable == false && button2.interactable == false)
            {
                GameManager.instance.StateChange();
                SceneManager.LoadScene("MainGame");
                Debug.Log("GameSceneを呼んでるよ");
            }
        }

        else if (Application.isEditor)
        {
            //タブレット用
            if (button && Input.touchCount > 0)
            {
                if (Input.GetTouch(0).phase == TouchPhase.Began)
                {
                    Debug.Log("1をタップした");
                    button.interactable = false;
                    playerID            = MapKind.Player1;
                    if (button.interactable == false && button2.interactable == false)
                    {
                        Debug.Log("Sceneを呼んでるよ");
                    }
                }
            }
            else if (button2 && Input.touchCount > 0)
            {
                if (Input.GetTouch(0).phase == TouchPhase.Began)
                {
                    Debug.Log("2をタップした");
                    button.interactable = false;
                    playerID            = MapKind.Player1;
                    if (button.interactable == false && button2.interactable == false)
                    {
                        Debug.Log("Sceneを呼んでるよ");
                    }
                }
            }
        }
    }
コード例 #3
0
ファイル: Map.cs プロジェクト: pjcollins/xamarin-android
 public Map(MapKind kind, MapArchitecture architecture, List <MapEntry> managedToJava, List <MapEntry> javaToManaged, string formatVersion)
 {
     Kind          = kind;
     Architecture  = architecture;
     ManagedToJava = managedToJava;
     JavaToManaged = javaToManaged;
     FormatVersion = formatVersion;
 }
コード例 #4
0
ファイル: Parser.cs プロジェクト: thisiscam/formula
 private void StartMapDecl(MapKind kind)
 {
     Contract.Requires(currentModule != null && currentModule.IsDomOrTrans);
     Contract.Requires(crntTypeDecl == null);
     crntTypeDecl = new MapDecl(crntTypeDeclSpan, crntTypeDeclName, kind, true);
     if (crntSentConf != null)
     {
         ((MapDecl)crntTypeDecl).SetConfig(crntSentConf);
         crntSentConf = null;
     }
 }
コード例 #5
0
ファイル: Player.cs プロジェクト: muxu1118/HarfToyParty
    public void Move(MapKind player, Vector2 vec2)
    {
        int   max = 6, min = 0;
        float speed = 0.5f;;

        for (int i = 0; i <= 6; i++)
        {
            for (int j = 0; j <= 6; j++)
            {
                if (map.mapInt[j, i] == (int)player)
                {
                    bool isWarp = false;
                    if (!((i + (int)vec2.x <= max && i + (int)vec2.x >= min) && (j - (int)vec2.y <= max && j - (int)vec2.y >= min)) && !isWarp)
                    {
                        //マップの端
                        isMove = false;
                        PlayerDoNotMove();
                        return;
                    }
                    if (map.mapInt[j - (int)vec2.y, i + (int)vec2.x] >= (int)MapKind.Movewall0 && map.mapInt[j - (int)vec2.y, i + (int)vec2.x] <= (int)MapKind.Movewall9)
                    {
                        // 壁を押す
                        if (!map.MoveWalls[map.mapInt[j - (int)vec2.y, i + (int)vec2.x] - (int)MapKind.Movewall0].GetComponent <MoveWall>().MoveCheck(vec2, map.SpritePos))
                        {
                            isMove = false;
                            return;
                        }
                        speed = 1f;
                    }
                    if (map.mapInt[j - (int)vec2.y, i + (int)vec2.x] == (int)MapKind.Wall || (map.mapInt[j - (int)vec2.y, i + (int)vec2.x] >= (int)MapKind.BreakWall1 && map.mapInt[j - (int)vec2.y, i + (int)vec2.x] <= (int)MapKind.BreakWall6))
                    {
                        //動けない壁がある
                        isMove = false;
                        PlayerDoNotMove();
                        return;
                    }
                    if (map.mapInt[j - (int)vec2.y, i + (int)vec2.x] == (int)MapKind.Player1 || map.mapInt[j - (int)vec2.y, i + (int)vec2.x] == (int)MapKind.Player2)
                    {
                        //他プレイヤーがいるところに移動しないように
                        isMove = false;
                        PlayerDoNotMove();
                        return;
                    }
                }
            }
        }
        isMove = true;
        // 移動
        StartCoroutine(MoveAnim(speed, player, vec2));
    }
コード例 #6
0
        internal MapDecl(Span span, string name, MapKind mapKind, bool isPartial)
            : base(span)
        {
            Contract.Requires(name != null);

            MapKind   = mapKind;
            IsPartial = isPartial;
            Name      = name;

            dom = new LinkedList <Field>();
            Dom = new ImmutableCollection <Field>(dom);

            cod = new LinkedList <Field>();
            Cod = new ImmutableCollection <Field>(cod);
        }
コード例 #7
0
ファイル: Bomb.cs プロジェクト: muxu1118/HarfToyParty
    /// <summary>
    /// ボム範囲を出すスクリプト
    /// </summary>
    /// <param name="player"></param>
    /// <param name="Aria"></param>
    /// <param name="BombPos"></param>
    /// <returns></returns>
    public IEnumerator AriaSet(MapKind player, MapKind Aria, Vector2 BombPos)
    {
        while (gameObject.activeSelf && PI.Isbomb)
        {
            int x = 0, y = 0;
            switch (Player.GetComponent <Player>().rot)
            {
            case 0:    //上
                y = -1;
                break;

            case 1:    //下
                y = 1;
                break;

            case 2:    //右
                x = 1;
                break;

            case 3:    //左
                x = -1;
                break;
            }
            for (int i = 0; i <= 6; i++)
            {
                for (int j = 0; j <= 6; j++)
                {
                    if (Map.instance.mapInt[j, i] == (int)player)
                    {
                        if (i + x > 6 || i + x < 0 || Map.instance.mapInt[j, i + x] != (int)MapKind.YUKA)
                        {
                            if ((i + x > 6 && j == Map.instance.HWarpPoint[0].y) && Map.instance.mapInt[(int)Map.instance.HWarpPoint[0].y, (int)Map.instance.HWarpPoint[0].x] == (int)MapKind.YUKA)
                            {
                                x = (int)Map.instance.HWarpPoint[0].x;
                                gameObject.transform.position = new Vector3(Map.instance.SpritePos[j][x].x, Map.instance.SpritePos[j][x].y, 1);
                                Map.instance.BombPos1         = new Vector2((int)Map.instance.HWarpPoint[0].x, (int)Map.instance.HWarpPoint[0].y);
                                BomPos = new Vector2((int)Map.instance.HWarpPoint[0].x, (int)Map.instance.HWarpPoint[0].y);
                                continue;
                            }
                            else if ((i + x < 0 && j == Map.instance.HWarpPoint[1].y) && Map.instance.mapInt[(int)Map.instance.HWarpPoint[1].y, (int)Map.instance.HWarpPoint[1].x] == (int)MapKind.YUKA)
                            {
                                x = (int)Map.instance.HWarpPoint[1].x;
                                gameObject.transform.position = new Vector3(Map.instance.SpritePos[j][x].x, Map.instance.SpritePos[j][x].y, 1);
                                Map.instance.BombPos1         = new Vector2((int)Map.instance.HWarpPoint[1].x, (int)Map.instance.HWarpPoint[1].y);
                                BomPos = new Vector2((int)Map.instance.HWarpPoint[1].x, (int)Map.instance.HWarpPoint[1].y);
                                continue;
                            }
                            else
                            {
                                x = 0;
                            }
                        }
                        if (j + y > 6 || j + y < 0 || Map.instance.mapInt[j + y, i] != (int)MapKind.YUKA)
                        {
                            if ((j + y > 6 && i == Map.instance.WarpPoint[0].x) && Map.instance.mapInt[(int)Map.instance.WarpPoint[0].y, (int)Map.instance.WarpPoint[0].x] == (int)MapKind.YUKA)
                            {
                                y = (int)Map.instance.WarpPoint[0].y;
                                gameObject.transform.position = new Vector3(Map.instance.SpritePos[y][i].x, Map.instance.SpritePos[y][i].y, 1);
                                Map.instance.BombPos1         = new Vector2((int)Map.instance.WarpPoint[0].x, (int)Map.instance.WarpPoint[0].y);
                                continue;
                            }
                            else if ((j + y < 0 && i == Map.instance.WarpPoint[1].x) && Map.instance.mapInt[(int)Map.instance.WarpPoint[1].y, (int)Map.instance.WarpPoint[1].x] == (int)MapKind.YUKA)
                            {
                                y = (int)Map.instance.WarpPoint[1].y;
                                gameObject.transform.position = new Vector3(Map.instance.SpritePos[y][i].x, Map.instance.SpritePos[y][i].y, 1);
                                Map.instance.BombPos1         = new Vector2((int)Map.instance.WarpPoint[1].x, (int)Map.instance.WarpPoint[1].y);
                                continue;
                            }
                            else
                            {
                                y = 0;
                            }
                        }
                        gameObject.transform.position = new Vector3(Map.instance.SpritePos[j + y][i + x].x, Map.instance.SpritePos[j + y][i + x].y, 1);
                        Map.instance.BombPos1         = new Vector2(i + x, j + y);
                    }
                }
            }
            yield return(new WaitForSeconds(Time.deltaTime));
        }
    }
コード例 #8
0
        public static string GetOutputFileBaseName(string outputDirectory, string formatVersion, MapKind kind, MapArchitecture architecture)
        {
            string ret = $"typemap-v{formatVersion}-{kind}-{architecture}";

            if (outputDirectory.Length == 0)
            {
                return(ret);
            }

            return(Path.Combine(outputDirectory, ret));
        }
コード例 #9
0
ファイル: Player.cs プロジェクト: muxu1118/HarfToyParty
    public void PullMove(MapKind player, Vector2 vec2, int wall)
    {
        int   max = 6, min = 0;
        float speed = 0.5f;

        for (int i = 0; i <= 6; i++)
        {
            for (int j = 0; j <= 6; j++)
            {
                if (map.mapInt[j, i] == (int)player)
                {
                    bool isWarp = false;
                    // Debug
                    if (!((i + (int)vec2.x <= max && i + (int)vec2.x >= min) && (j - (int)vec2.y <= max && j - (int)vec2.y >= min)) && !isWarp)
                    {
                        // 範囲外
                        isMove = false;
                        PlayerDoNotMove();
                        return;
                    }
                    if ((wall != map.mapInt[j - (int)vec2.y, i + (int)vec2.x]) && map.mapInt[j - (int)vec2.y, i + (int)vec2.x] >= (int)MapKind.Movewall0 && map.mapInt[j - (int)vec2.y, i + (int)vec2.x] <= (int)MapKind.Movewall9)
                    {
                        // 移動壁を押す
                        if (!map.MoveWalls[map.mapInt[j - (int)vec2.y, i + (int)vec2.x] - (int)MapKind.Movewall0].GetComponent <MoveWall>().MoveCheck(vec2, map.SpritePos))
                        {
                            isMove = false;
                            return;
                        }
                        speed  = 1f;
                        isMove = true;
                        StartCoroutine(MoveAnim(speed, player, vec2));
                        return;
                    }
                    if (map.mapInt[j - (int)vec2.y, i + (int)vec2.x] == (int)MapKind.Wall || (map.mapInt[j - (int)vec2.y, i + (int)vec2.x] >= (int)MapKind.BreakWall1 && map.mapInt[j - (int)vec2.y, i + (int)vec2.x] <= (int)MapKind.BreakWall6))
                    {
                        // 移動できない壁
                        isMove = false;
                        PlayerDoNotMove();
                        return;
                    }
                    if (map.mapInt[j - (int)vec2.y, i + (int)vec2.x] == (int)MapKind.Player1 || map.mapInt[j - (int)vec2.y, i + (int)vec2.x] == (int)MapKind.Player2)
                    {
                        // 他プレイヤーがいる
                        isMove = false;
                        PlayerDoNotMove();
                        return;
                    }
                    if (PullWallCheck(vec2, wall))
                    {
                        // 引き動作
                        isMove = true;
                        speed  = 1f;
                        StartCoroutine(MoveAnim(speed, player, vec2));
                        map.MoveWalls[wall - (int)MapKind.Movewall0].GetComponent <MoveWall>().PullWall(vec2);
                        return;
                    }
                    else
                    {
                        isMove = false;
                        return;
                    }
                }
            }
        }
    }