亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? field.java

?? 手機游戲 SEGA《PuyoPuyo》 J2ME源代碼+詳細注釋
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
            falling[i][1] = 19 - i * 8;
        }

        dir = 0;
        next_col[0] = next2_col[0];
        next_col[1] = next2_col[1];
        next_cnt = PuyoPuyo2.get_next(next_cnt, next2_col);
        draw_flag[2] = true;
        fall_speed = (pass_cnt * (level + 8) + (level * 2 + 16) * (16 + level)) / (pass_cnt * 4 + (16 + level) * 4);
        pass_cnt++;
        fall_cnt = fall_speed;
        land_cnt = 32;
        erase_cnt = 8;
        fall_bonus = 0;
        d_score = 0;
        if(player == 1)
            set_target();
    }

    private void control(int i)
    {
        int j = falling[0][1];
        int k = falling[1][1];
        clear_puyo(field[j]);
        clear_puyo(field[k]);
        if((i & 0x2010) != 0)
        {
            if(field[j - 1][0] == -1 && field[k - 1][0] == -1)
            {
                j--;
                k--;
            } else
            if((i & 0x1005) != 0 && field[j + 8][0] != -1 && field[j - 1][0] != -1 && field[k - 1][0] == -1 && field[j - 2][0] == -1 && field[k - 2][0] == -1)
            {
                j -= 2;
                k -= 2;
            } else
            {
                target_x = falling[0][1] % 8;
            }
        } else
        if((i & 0x4040) != 0)
            if(field[j + 1][0] == -1 && field[k + 1][0] == -1)
            {
                j++;
                k++;
            } else
            if((i & 0x10c20) != 0 && field[j + 8][0] != -1 && field[j + 1][0] != -1 && field[k + 1][0] == -1 && field[j + 2][0] == -1 && field[k + 2][0] == -1)
            {
                j += 2;
                k += 2;
            } else
            {
                target_x = falling[0][1] % 8;
            }
        byte byte0 = 0;
        if((i & 0x10c20) != 0)
            byte0 = !PuyoPuyo2.config[0] && player != 1 ? (byte)3 : (byte)1;
        else
        if((i & 0x1005) != 0)
            byte0 = !PuyoPuyo2.config[0] && player != 1 ? (byte)1 : (byte)3;
        if(byte0 != 0)
        {
            dir = dir + byte0 & 0x3;
            k = j + n_pos[dir];
            if(field[k][0] != -1)
            {
                if(field[j - n_pos[dir]][0] != -1)
                {
                    dir = dir + byte0 & 0x3;
                    target_turn = target_turn + byte0 & 0x3;
                }
                k = j;
                j -= n_pos[dir];
            }
        }
        if(field[j + 8][0] != -1 || field[k + 8][0] != -1)
        {
            if(erase_cnt > 0)
                if(erase_cnt-- != 8);
            if((i & 0x8100) != 0 && land_cnt > 16)
                land_cnt = 16;
            land_cnt--;
        } else
        {
            if((i & 0x8100) != 0)
            {
                if(fall_cnt > 1)
                    fall_cnt = 1;
                fall_bonus += 2;
                add_score(2);
            }
            erase_cnt = 8;
            if(--fall_cnt == 0)
            {
                j += 8;
                k += 8;
                fall_cnt = fall_speed;
            }
        }
        falling[0][1] = j;
        falling[1][1] = k;
        set_puyo(falling[0][0], field[j]);
        set_puyo(falling[1][0], field[k]);
        if((erase_cnt & 0x2) != 0)
        {
            byte byte1 = erase_cnt >> 1 != 3 ? ((byte) (17)) : 18;
            if(field[j + 8][0] != -1)
            {
                field[j][3] = byte1;
                if(k == j - 8)
                    field[k][3] = byte1;
            }
            if(field[k + 8][0] != -1)
            {
                field[k][3] = byte1;
                if(j == k - 8)
                    field[j][3] = byte1;
            }
        }
    }

    private boolean fall()
    {
        boolean flag = false;
        for(int i = 13; i > 0; i--)
        {
            int j = 1;
            for(int i1 = 1 + i * 8; j < 7; i1++)
            {
                int ai[] = field[i1];
                int k;
                int l;
                if((l = ai[0]) >= 0)
                    if(field[i1 + 8][0] == -1)
                    {
                        set_puyo(l, field[i1 + 8]);
                        clear_puyo(ai);
                        if(field[i1 + 16][0] != -1)
                            field[i1 + 8][4] = 8;
                        flag = true;
                    } else
                    if((k = ai[4]) > 0)
                    {
                        ai[4] = --k;
                        if(l < 5 && (k & 0x1) == 1)
                        {
                            ai[3] = (k & 0x2) != 0 ? k != 7 ? 17 : 18 : 0;
                            ai[1] = 1;
                        }
                        flag = true;
                    }
                j++;
            }

        }

        return flag;
    }

    private boolean check_erase()
    {
        boolean flag = false;
        int l3 = 9;
        for(int i = 1; i < 14; i++)
        {
            for(int k1 = 1; k1 < 7; k1++)
                field[l3++][2] = 0;

            l3 += 2;
        }

        l3 = 9;
        for(int j = 1; j < 14; j++)
        {
            for(int l1 = 1; l1 < 7; l1++)
            {
                int ai[] = field[l3];
                int i3 = ai[0];
                if(i3 >= 0 && i3 < 5)
                {
                    int i4 = 0;
                    for(int j2 = 0; j2 < 4; j2++)
                        if(field[l3 - n_pos[j2]][0] == i3)
                            i4 |= 1 << j2;

                    if(i4 != ai[3])
                    {
                        ai[3] = i4;
                        ai[1] = 1;
                    }
                    check_neighbor(l3, ai[2]);
                }
                l3++;
            }

            l3 += 2;
        }

        for(int k = 0; k < 7; k++)
            bonus1[k] = 0;

        for(int l = 0; l < 5; l++)
            bonus2[l] = false;

        bonus3[player] = 0;
        erase_score = 0;
        erase_bonus = 0;
        l3 = 17;
        for(int i1 = 2; i1 < 14; i1++)
        {
            for(int i2 = 1; i2 < 7; i2++)
            {
                int ai1[] = field[l3];
                int k2 = ai1[2];
                if(k2 >= 4 && k2 < 256)
                {
                    flag = true;
                    erase_score += 10;
                    if(k2 >= 5)
                    {
                        int j3 = k2 >= 11 ? 6 : k2 - 5;
                        if(bonus1[j3] > 0)
                        {
                            bonus1[j3]--;
                        } else
                        {
                            erase_bonus += j3 >= 6 ? 10 : j3 + 2;
                            bonus1[j3] += k2;
                        }
                    }
                    bonus2[ai1[0]] = true;
                    for(int k3 = 0; k3 < 4; k3++)
                    {
                        ai1 = field[l3 + n_pos[k3]];
                        if(ai1[0] == 5)
                            ai1[2] = 256;
                    }

                }
                if(bonus3[player] == 0 && ai1[0] != -1)
                    bonus3[player] = 2;
                l3++;
            }

            l3 += 2;
        }

        if(bonus3[player] == 0)
        {
            bonus3[player] = 1;
            d_score += 600;
        } else
        if(bonus3[player] == 2)
            bonus3[player] = 0;
        if(!flag)
            return false;
        if(chain > 0)
            erase_bonus += chain < 9 ? 1 << chain + 2 : 999;
        int l2 = 1;
        for(int j1 = 0; j1 < 5; j1++)
            if(bonus2[j1])
                l2 <<= 1;

        if(l2 > 2)
            erase_bonus += (l2 >> 2) * 3;
        else
        if(erase_bonus == 0)
            erase_bonus = 1;
        draw_flag[0] = true;
        d_score += erase_score * erase_bonus;
        return true;
    }

    private void check_neighbor(int i, int j)
    {
        field[i][2]++;
        int l = field[i][0];
        for(int i1 = 0; i1 < 4; i1++)
        {
            int k = i + n_pos[i1];
            if(field[k][0] == l && field[k][2] <= j)
                check_neighbor(k, j);
        }

    }

    private boolean erase()
    {
        erase_cnt++;
        int k = 17;
        for(int i = 2; i < 14; i++)
        {
            for(int j = 1; j < 7; j++)
            {
                int ai[] = field[k++];
                if(ai[2] < 4)
                    continue;
                if(erase_cnt == 18)
                {
                    clear_puyo(ai);
                    continue;
                }
                if(erase_cnt <= 11)
                    ai[1] = 1;
            }

            k += 2;
        }

        return erase_cnt < 18;
    }

    private boolean fall_ojama()
    {
        if(now_ojama >= 6)
        {
            for(int i = 9; i < 15; i++)
                field[i][0] = 5;

            now_ojama -= 6;
        } else
        {
            for(int j = 0; j < now_ojama; j++)
            {
                field[ojama_pos[ojama_cnt] + 8][0] = 5;
                ojama_cnt = (ojama_cnt + 1) % 6;
            }

            now_ojama = 0;
        }
        return fall();
    }

    public void set_win()
    {
        stat = 9;
        land_cnt = 0;
    }

    private void set_height()
    {
        for(int i = 1; i < 7; i++)
        {
            int j = 1;
            for(int k = i + 8; j < 14 && field[k][0] == -1; k += 8)
                j++;

            height[i] = j - 1;
        }

        height[0] = height[7] = 0;
    }

    private void set_target()
    {
        set_height();
        set_priority(falling[0][0], priority[0]);
        set_priority(falling[1][0], priority[1]);
        now_priority = 0;
        for(int i = 1; i < 7; i++)
        {
            for(int j = 0; j < argo[4]; j++)
            {
                int k = (i << 1) + sub_d[j];
                if(k < 2 || k >= 14)
                    continue;
                k = priority[0][(i << 1) + main_d[j]] + priority[1][k];
                if(k >= now_priority)
                {
                    target_x = i;
                    target_turn = j;
                    now_priority = k;
                }
            }

        }

        set_cnt = 0;
    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产女主播在线一区二区| 久久久精品国产免大香伊| 精品亚洲成a人| 91精品视频网| 99热国产精品| 国产在线精品国自产拍免费| 亚洲免费色视频| 国产目拍亚洲精品99久久精品| 欧美在线高清视频| 成人综合在线网站| 久久99国产精品成人| 洋洋av久久久久久久一区| 国产欧美精品区一区二区三区 | 亚洲国产一区二区a毛片| 久久综合久久鬼色中文字| 欧美日韩成人综合天天影院 | 日韩一区中文字幕| 国产精品欧美综合在线| 国产精品视频免费看| 亚洲欧美自拍偷拍色图| 亚洲精品一卡二卡| 亚洲成人1区2区| 日韩黄色小视频| 国产在线精品不卡| 成人app网站| 色94色欧美sute亚洲13| 5858s免费视频成人| 精品成人一区二区| ●精品国产综合乱码久久久久| 国产婷婷精品av在线| 亚洲免费视频成人| 日韩高清一区在线| 国产99一区视频免费| 色婷婷久久久久swag精品 | 九九精品一区二区| 99国产精品视频免费观看| 91搞黄在线观看| 精品成人一区二区| 亚洲福利电影网| 国产一区在线视频| 97久久精品人人澡人人爽| 成人一区二区三区在线观看| 99久久精品免费看国产免费软件| 欧美三级日韩三级国产三级| 欧美色中文字幕| 久久久久久久综合色一本| 欧美激情一区二区| 视频一区二区三区在线| 成人av资源网站| 日韩视频免费直播| 中文字幕在线不卡视频| 免费看日韩精品| 色综合网色综合| 欧美tickling网站挠脚心| 国产精品国产三级国产aⅴ中文| 久久精品久久综合| 精品视频一区二区三区免费| 欧美一级片免费看| 亚洲欧洲另类国产综合| 国产一区二区三区不卡在线观看| 欧美日韩你懂得| 亚洲国产成人av网| 91网上在线视频| 91精品国产入口在线| 国产精品少妇自拍| 国产99久久久精品| 久久婷婷一区二区三区| 亚洲国产精品一区二区久久 | 国产欧美精品一区| 国产精品亚洲视频| 精品人在线二区三区| 日韩高清一级片| 777午夜精品免费视频| 老司机精品视频在线| 日韩欧美一区二区视频| 国产成人免费视频网站| 777午夜精品视频在线播放| 亚洲成人动漫精品| 欧美成人性战久久| 欧美一区欧美二区| 日韩欧美一区二区不卡| 中文字幕在线播放不卡一区| 99热99精品| 久久婷婷国产综合精品青草 | 欧美一级日韩一级| 久久99久久精品| 日本一二三四高清不卡| 成av人片一区二区| 亚洲成人自拍偷拍| 欧美国产成人在线| 欧美午夜精品久久久久久超碰| 日韩电影在线一区二区| 亚洲国产精华液网站w| 国产ts人妖一区二区| 中文字幕一区日韩精品欧美| 欧美午夜在线一二页| 九色综合狠狠综合久久| 亚洲精品一二三四区| 久久久久亚洲蜜桃| 欧美日本韩国一区二区三区视频| 韩国成人福利片在线播放| 亚洲国产美女搞黄色| 国产精品久久久久永久免费观看| 欧美片在线播放| 色猫猫国产区一区二在线视频| 亚洲bt欧美bt精品777| 亚洲欧美另类小说| 国产午夜精品美女毛片视频| 色婷婷综合久久久久中文一区二区 | 91福利在线播放| 国产大陆亚洲精品国产| 久久97超碰色| 天堂在线亚洲视频| 亚洲国产成人av网| 一区二区三区四区激情| 亚洲精品亚洲人成人网在线播放| 国产精品乱码妇女bbbb| 中文一区二区在线观看| 久久久亚洲高清| 欧美xxxx老人做受| 国产亚洲美州欧州综合国| 国产欧美日韩在线视频| 国产欧美日韩不卡| 亚洲视频在线一区| 美女高潮久久久| 日韩电影在线一区| 美国av一区二区| 国内精品写真在线观看| 国产成人精品亚洲日本在线桃色| 国产成人午夜视频| 国产99一区视频免费| 色诱视频网站一区| 欧美精品1区2区3区| 日韩精品一区二区在线| 久久综合九色综合欧美98| 亚洲欧洲日本在线| 天天av天天翘天天综合网 | 亚洲色图在线播放| 婷婷丁香激情综合| 国产黄色91视频| 色狠狠桃花综合| 久久综合久久综合九色| 亚洲视频一二区| 国产一区二区美女| 欧美在线观看视频一区二区三区| 日韩美女在线视频| 一区二区三区日韩在线观看| 麻豆精品视频在线观看视频| 成人美女视频在线观看| 欧美一区二区大片| 一区二区三区国产精品| 国产精品小仙女| 日韩欧美一级特黄在线播放| 亚洲一区二区在线观看视频| 国产乱国产乱300精品| 91精品国产91久久综合桃花| 国产精品久99| 国产成人在线免费| 欧美mv日韩mv国产网站app| 亚洲综合激情另类小说区| 高潮精品一区videoshd| 欧美videossexotv100| 婷婷一区二区三区| 欧美日韩一区在线观看| 亚洲免费成人av| 色婷婷综合久色| 亚洲精品国产一区二区三区四区在线 | 国产麻豆一精品一av一免费| 欧美一区二区三区视频免费播放| 亚洲第一福利一区| 91农村精品一区二区在线| 国产精品美女一区二区三区| 国产高清亚洲一区| 国产日韩欧美激情| 丁香激情综合五月| 国产精品白丝在线| 91麻豆蜜桃一区二区三区| 一区二区三区中文在线| 欧美日韩视频在线第一区| 午夜a成v人精品| 精品乱码亚洲一区二区不卡| 国产一区视频网站| 国产精品久久久久久福利一牛影视| 成人国产亚洲欧美成人综合网| 日本一区二区久久| 色哟哟一区二区在线观看 | 首页综合国产亚洲丝袜| 日韩一区二区三区三四区视频在线观看| 日韩专区欧美专区| 国产亚洲一区二区三区在线观看| av不卡一区二区三区| 亚洲成av人**亚洲成av**| 国产三级欧美三级| 色94色欧美sute亚洲线路二| 免费一级欧美片在线观看| 亚洲r级在线视频| 欧美日韩在线直播| 国产伦精品一区二区三区免费迷| 中文字幕av在线一区二区三区| 欧美日韩国产精选|