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

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

?? field.java

?? 手機游戲 SEGA《PuyoPuyo》 J2ME源代碼+詳細注釋
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi

import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

public class Field
{

    private static final int n_pos[] = {
        -8, 1, 8, -1
    };
    private static final int ojama_pos[] = {
        6, 1, 5, 2, 4, 3
    };
    private static final int main_d[] = {
        0, 0, 1, 0
    };
    private static final int sub_d[] = {
        1, 2, 0, -2
    };
    public int player;
    public int level;
    public Field enemy;
    private int field[][];
    private short sx;
    private short sy;
    private short next_x;
    private short next_y;
    private short next2_x;
    private short next2_y;
    private int stat;
    public boolean pause_flag;
    public int score;
    private int erase_score;
    private int pass_cnt;
    private int pass_time;
    private int fall_bonus;
    private int d_score;
    private int chain;
    private int erase_bonus;
    private int fall_speed;
    private int fall_cnt;
    private int land_cnt;
    private int erase_cnt;
    private int ojama_num;
    private int now_ojama;
    private int ojama_cnt;
    private int ojama_kill[];
    private int next_cnt;
    private int next_col[];
    private int next2_col[];
    private int falling[][];
    private int dir;
    private boolean draw_flag[];
    private int argo[];
    private int height[];
    private int target_x;
    private int target_turn;
    private int set_cnt;
    private int priority[][];
    private int now_priority;
    private int bonus1[];
    private boolean bonus2[];
    private int bonus3[];
    private Image ojamaImg;

    public Field(short word0, short word1, int i)
    {
        field = new int[120][5];
        ojama_kill = new int[2];
        next_col = new int[2];
        next2_col = new int[2];
        falling = new int[2][2];
        draw_flag = new boolean[3];
        height = new int[8];
        priority = new int[2][16];
        bonus1 = new int[7];
        bonus2 = new boolean[5];
        bonus3 = new int[2];
        ojamaImg = Image.createImage(60, 10);
        sx = word0;
        sy = word1;
        next_x = i != 0 ? (short)(sx - 20) : (short)(sx + 60 + 10);
        next_y = i != 0 ? (short)(sy + 61) : (short)(sy + 10);
        next2_x = i != 0 ? (short)(sx - 30) : (short)(sx + 60 + 20);
        next2_y = i != 0 ? (short)(sy + 71) : (short)(sy + 20);
    }

    public void init(int i, int j, int ai[])
    {
        int i1 = 0;
        player = (argo = ai) != null ? 1 : 0;
        level = i;
        for(int l = 0; l < 15; l++)
        {
            for(int k = 0; k < 8; k++)
            {
                int ai1[] = field[i1++];
                if(k > 0 && k < 7 && l > 0 && l < 14)
                    clear_puyo(ai1);
                else
                    ai1[0] = -2;
            }

        }

        score = j;
        erase_score = 0;
        next_cnt = PuyoPuyo2.get_next(0, next_col);
        next_cnt = PuyoPuyo2.get_next(next_cnt, next2_col);
        ojama_num = 0;
        now_ojama = 0;
        ojama_cnt = 0;
        pass_cnt = 1;
        pass_time = 0;
        stat = 0;
        pause_flag = false;
        bonus3[0] = 0;
        bonus3[1] = 0;
    }

    private void set_puyo(int i, int ai[])
    {
        ai[0] = i;
        ai[1] = 1;
        ai[2] = 0;
        ai[3] = 0;
        ai[4] = 0;
    }

    private void clear_puyo(int ai[])
    {
        ai[0] = -1;
        ai[1] = 1;
        ai[2] = 0;
        ai[3] = 0;
        ai[4] = 0;
    }

    private void add_score(int i)
    {
        score += i;
        if(score > 0x3b9ac9ff)
            score = 0x3b9ac9ff;
        draw_flag[0] = true;
    }

    public void start()
    {
        stat = 6;
    }

    public void add_ojama(int i)
    {
        if(i > 0)
        {
            ojama_num += i;
            draw_flag[1] = true;
        }
    }

    public boolean run(int i)
    {
        if(stat < 8)
            pass_time++;
        if(player == 1)
            i = get_key();
        int j;
        do
        {
            j = stat;
            switch(stat)
            {
            default:
                break;

            case 1: // '\001'
                if(field[19][0] == -1)
                {
                    init_puyo();
                    stat = 2;
                } else
                {
                    stat = 8;
                    land_cnt = 0;
                    return false;
                }
                // fall through

            case 2: // '\002'
                control(i);
                if(land_cnt > 0)
                    continue;
                stat = 3;
                chain = 0;
                // fall through

            case 3: // '\003'
                if(fall())
                    return true;
                if(check_erase())
                {
                    stat = 5;
                    erase_cnt = 0;
                    chain++;
                    continue;
                }
                stat = 4;
                land_cnt = 5;
                // fall through

            case 4: // '\004'
                if(--land_cnt <= 0)
                {
                    add_score(d_score);
                    byte byte0;
                    switch((pass_time * 30) / 1000 / 32)
                    {
                    case 0: // '\0'
                        byte0 = 32;
                        break;

                    case 1: // '\001'
                        byte0 = 24;
                        break;

                    case 2: // '\002'
                        byte0 = 16;
                        break;

                    case 3: // '\003'
                        byte0 = 12;
                        break;

                    case 4: // '\004'
                        byte0 = 8;
                        break;

                    case 5: // '\005'
                        byte0 = 6;
                        break;

                    case 6: // '\006'
                        byte0 = 4;
                        break;

                    case 7: // '\007'
                        byte0 = 3;
                        break;

                    default:
                        byte0 = 2;
                        break;
                    }
                    int k2 = (40 * ((byte0 * 100) / 32)) / 100;
                    if(ojama_num == 0)
                    {
                        enemy.add_ojama((d_score + fall_bonus) / k2);
                    } else
                    {
                        if((d_score + fall_bonus) / k2 > 0)
                            ojama_kill[player] = 14;
                        if(ojama_num - (d_score + fall_bonus) / k2 < 0)
                        {
                            enemy.add_ojama((d_score + fall_bonus) / k2 - ojama_num);
                            ojama_num = 0;
                        } else
                        {
                            ojama_num -= (d_score + fall_bonus) / k2;
                        }
                    }
                    stat = 6;
                }
                break;

            case 5: // '\005'
                if(erase())
                    return true;
                stat = 3;
                break;

            case 6: // '\006'
                now_ojama = ojama_num >= 30 ? 30 : ojama_num;
                ojama_num -= now_ojama;
                draw_flag[1] = true;
                erase_score = 0;
                draw_flag[0] = true;
                stat = 7;
                if(now_ojama > 0 && PuyoPuyo2.config[1])
                    if(enemy.player != 1);
                // fall through

            case 7: // '\007'
                draw_ojama_field();
                if(fall_ojama())
                    return true;
                stat = 1;
                break;

            case 8: // '\b'
                if(++land_cnt > 40)
                    return false;
                if(land_cnt == 12)
                {
                    for(int k = 1; k < 7; k++)
                        clear_puyo(field[k + 112]);

                }
                for(int l = 1; l < 7; l++)
                    if(land_cnt > l + 12 && land_cnt > 18 - l)
                    {
                        int l1 = l + 112;
                        for(int j1 = 14; j1 > 1; j1--)
                        {
                            set_puyo(field[l1 - 8][0], field[l1]);
                            l1 -= 8;
                        }

                        field[l + 8][0] = -1;
                    }

                break;

            case 9: // '\t'
                land_cnt++;
                if(land_cnt == 40)
                {
                    erase_score = 0;
                    pass_time = (pass_time * 30) / 1000;
                    if(pass_time <= 40)
                        d_score = 29500 - 500 * pass_time;
                    else
                    if(pass_time <= 60)
                        d_score = 21500 - 300 * pass_time;
                    else
                    if(pass_time <= 90)
                        d_score = 9500 - 100 * pass_time;
                    else
                    if(pass_time <= 140)
                        d_score = 1400 - 10 * pass_time;
                    else
                        d_score = 0;
                    erase_cnt = score;
                    erase_bonus = d_score;
                    int i2 = 17;
                    for(int i1 = 2; i1 < 14; i1++)
                    {
                        for(int k1 = 1; k1 < 7; k1++)
                            clear_puyo(field[i2++]);

                        i2 += 2;
                    }

                } else
                if(land_cnt > 40)
                {
                    if(land_cnt > 206)
                        return false;
                    if((i & 0x10c21) != 0)
                        land_cnt = 206;
                    int j2 = land_cnt >= 104 ? 64 : land_cnt - 40;
                    if(player == 0 && j2 > 32)
                    {
                        score = erase_cnt + (erase_bonus * (j2 - 32)) / 32;
                        d_score = (erase_bonus * (64 - j2)) / 32;
                        add_score(0);
                    }
                }
                break;
            }
        } while(stat != j);
        return true;
    }

    private void init_puyo()
    {
        for(int i = 0; i < 2; i++)
        {
            falling[i][0] = next_col[i];

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人永久aaa| 亚洲国产精品一区二区久久恐怖片| 国产精品天美传媒| 亚洲免费观看高清完整版在线 | 国产一区二区伦理| 成人动漫一区二区| 欧美日韩国产小视频| 欧美精品一区二| 亚洲日穴在线视频| 免费成人在线视频观看| 成人午夜伦理影院| 欧美乱妇15p| 国产欧美日韩卡一| 曰韩精品一区二区| 国产中文字幕精品| 欧美日韩一二三区| 久久久www免费人成精品| 亚洲综合丁香婷婷六月香| 精品一二三四区| 一本色道久久综合精品竹菊| 日韩欧美精品在线视频| 亚洲欧美日韩综合aⅴ视频| 麻豆视频一区二区| 日本久久电影网| 久久免费偷拍视频| 亚洲1区2区3区视频| 岛国av在线一区| 日韩免费高清电影| 亚洲小少妇裸体bbw| 成人av在线资源| 精品久久久久久久久久久久包黑料| 亚洲三级在线看| 精品一区二区精品| 欧美精品国产精品| 亚洲婷婷在线视频| 国产麻豆精品视频| 欧美一区二区免费观在线| 亚洲精品视频自拍| 懂色av一区二区三区蜜臀| 日韩免费看网站| 午夜精品福利一区二区三区av | 亚洲人成伊人成综合网小说| 国产一区二区三区四| 欧美一区二区在线不卡| 亚洲另类中文字| 成人av动漫网站| 久久久综合视频| 久久精品国产亚洲aⅴ| 欧美日韩一区二区三区四区 | 91丨porny丨户外露出| 久久久另类综合| 激情六月婷婷久久| 欧美一区二区三区四区久久| 亚洲一区二区三区免费视频| 91日韩精品一区| 国产精品护士白丝一区av| 国产一二三精品| 精品国产91久久久久久久妲己 | 精品久久久久久久久久久久包黑料 | 国产一区 二区 三区一级| 日韩一级二级三级| 琪琪一区二区三区| 91精品国产麻豆| 午夜视频在线观看一区二区| 91精品福利视频| 亚洲综合成人在线| 欧美午夜精品一区| 亚洲成av人在线观看| 欧美日韩精品福利| 午夜精品久久一牛影视| 91精品在线麻豆| 日本怡春院一区二区| 日韩亚洲电影在线| 国产在线播放一区二区三区| 久久久午夜精品理论片中文字幕| 国产美女在线精品| 欧美高清在线一区二区| 成人精品一区二区三区四区| 欧美国产日韩在线观看| 99国产精品国产精品久久| 亚洲三级在线看| 欧美色综合久久| 午夜精品久久久久久久蜜桃app| 51精品久久久久久久蜜臀| 蜜臀av一区二区在线免费观看| 欧美成人vps| 韩国在线一区二区| 国产精品久久久久婷婷二区次| 成人激情图片网| 亚洲精品中文在线观看| 欧美精品自拍偷拍动漫精品| 麻豆视频一区二区| 国产欧美日产一区| 91亚洲男人天堂| 亚洲第一福利视频在线| 日韩欧美123| 大白屁股一区二区视频| 亚洲激情中文1区| 91精品国产综合久久久久久漫画| 国内精品不卡在线| 中文字幕一区二区在线观看| 在线视频你懂得一区| 免费在线观看日韩欧美| 久久精品一区八戒影视| 日本乱码高清不卡字幕| 麻豆精品国产91久久久久久| 国产日产欧美一区二区三区| 91国在线观看| 久久99日本精品| 亚洲日本欧美天堂| 91精品国产色综合久久不卡蜜臀| 国产露脸91国语对白| 一区二区三区四区五区视频在线观看| 欧美精品vⅰdeose4hd| 国产成人av电影在线观看| 亚洲香肠在线观看| 国产性天天综合网| 欧美性受xxxx黑人xyx性爽| 精品在线一区二区三区| 亚洲人吸女人奶水| 精品国产免费一区二区三区四区| av不卡在线观看| 美女在线视频一区| 亚洲欧洲制服丝袜| 欧美www视频| 在线精品国精品国产尤物884a| 久久国产婷婷国产香蕉| 一区二区三区在线观看欧美| 欧美精品一区二区高清在线观看| 色94色欧美sute亚洲13| 国产大陆a不卡| 三级精品在线观看| 中文字幕一区二区三区在线播放| 日韩免费高清av| 欧美天堂一区二区三区| 成人精品免费视频| 男人操女人的视频在线观看欧美 | 在线观看一区二区视频| 国产精品亚洲а∨天堂免在线| 亚洲国产精品视频| 中文字幕一区二区视频| 久久一区二区三区国产精品| 欧美精品一二三| 色噜噜夜夜夜综合网| 懂色av一区二区三区免费看| 蜜臀91精品一区二区三区| 亚洲精品成a人| 国产精品日产欧美久久久久| 91精品国产91久久久久久一区二区 | 欧美videos中文字幕| 精品视频在线看| 91小视频在线| 国产成人免费av在线| 精品一区二区三区免费视频| 三级精品在线观看| 亚洲第四色夜色| 一区二区三区自拍| 亚洲欧美综合色| 国产精品少妇自拍| 国产欧美日韩精品a在线观看| 欧美mv日韩mv国产| 日韩久久久久久| 欧美一区二区三区四区在线观看| 欧美日韩视频在线第一区| 日本黄色一区二区| 色综合久久综合中文综合网| www.欧美色图| 成人激情动漫在线观看| 成人自拍视频在线观看| 国产大陆a不卡| 国产精品1区2区| 国产精品一二三四区| 国产一区二区三区综合| 激情五月婷婷综合| 久久99久久99精品免视看婷婷 | 欧美电影免费观看高清完整版在线 | 亚洲无人区一区| 一区二区三区四区乱视频| 亚洲男人都懂的| 亚洲精品免费视频| 亚洲精品乱码久久久久久久久| 中文字幕永久在线不卡| 亚洲图片另类小说| 一区二区三区在线免费观看 | 7777女厕盗摄久久久| 欧美日韩和欧美的一区二区| 欧美色图免费看| 欧美一区日韩一区| 精品久久久久久久一区二区蜜臀| 精品久久久网站| 欧美激情在线看| 国产精品久久久久久久久晋中 | 欧美久久久久免费| 欧美一级视频精品观看| 欧美电影免费观看高清完整版在线 | 丝袜美腿亚洲综合| 美日韩黄色大片| 国产盗摄精品一区二区三区在线| 不卡影院免费观看| 欧美在线不卡一区|