亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美日韩另类国产亚洲欧美一级| 在线播放欧美女士性生活| 樱花草国产18久久久久| 日韩亚洲电影在线| 99久久久精品免费观看国产蜜| 日本不卡1234视频| 亚洲卡通欧美制服中文| 久久久久久9999| 宅男在线国产精品| 91官网在线观看| 成人中文字幕在线| 日本不卡一二三| 一区二区在线观看视频| 国产亚洲综合色| 欧美一级欧美一级在线播放| 色综合天天天天做夜夜夜夜做| 97国产精品videossex| 极品瑜伽女神91| 日本视频一区二区三区| 亚洲国产中文字幕| 亚洲欧美一区二区三区孕妇| 久久九九久久九九| 日韩美女在线视频| 欧美精品tushy高清| 91蜜桃传媒精品久久久一区二区| 国产福利一区在线观看| 免费观看30秒视频久久| 视频一区中文字幕国产| 亚洲最大色网站| 成人免费在线播放视频| 国产精品久久久久久亚洲伦| 久久精品欧美日韩| 久久亚洲欧美国产精品乐播| 日韩一区二区三区四区五区六区| 欧美浪妇xxxx高跟鞋交| 欧美日韩精品福利| 欧美精品在线观看播放| 欧美肥妇bbw| 欧美日本在线看| 欧美日韩一级黄| 欧美日韩久久一区二区| 在线免费观看不卡av| 色猫猫国产区一区二在线视频| jlzzjlzz国产精品久久| 国产成人av影院| 成人av影院在线| av一本久道久久综合久久鬼色| 成人美女在线观看| 国产91露脸合集magnet| 成人激情午夜影院| 91免费版在线看| 91久久国产综合久久| 欧美在线制服丝袜| 69久久99精品久久久久婷婷| 日韩免费在线观看| 欧美不卡在线视频| 国产性天天综合网| 亚洲欧美在线视频观看| 最新国产成人在线观看| 亚洲一区自拍偷拍| 日本成人在线网站| 国产精品91一区二区| 播五月开心婷婷综合| 9人人澡人人爽人人精品| 色欧美日韩亚洲| 欧美一区二区在线免费观看| 精品国产三级a在线观看| 久久综合成人精品亚洲另类欧美| 国产精品色在线| 一二三区精品福利视频| 免费人成在线不卡| 国产成人三级在线观看| 色天使久久综合网天天| 日韩欧美在线网站| 国产色一区二区| 一区二区三区蜜桃| 精品亚洲成a人| zzijzzij亚洲日本少妇熟睡| 欧美亚洲综合一区| 精品日韩在线一区| 亚洲乱码中文字幕| 久久精品国产久精国产爱| 成人深夜在线观看| 在线综合视频播放| 中文字幕日韩欧美一区二区三区| 视频一区欧美日韩| 99这里只有精品| 欧美乱妇一区二区三区不卡视频 | 91精品国产91久久久久久最新毛片 | av一区二区三区在线| 欧美美女bb生活片| 国产精品第四页| 日韩福利电影在线| 99re视频这里只有精品| 日韩欧美国产麻豆| 一区二区三区在线看| 激情小说欧美图片| 欧美色网站导航| 国产精品天美传媒沈樵| 麻豆精品一区二区三区| 色婷婷av一区二区| 欧美激情一区二区三区全黄| 奇米在线7777在线精品| 欧洲生活片亚洲生活在线观看| 26uuu色噜噜精品一区二区| 亚洲第一成年网| 一本一本大道香蕉久在线精品 | 久久精品人人做人人爽人人| 亚洲成人精品一区二区| 白白色 亚洲乱淫| 久久九九国产精品| 蜜桃免费网站一区二区三区| 欧美性感一类影片在线播放| 中文字幕不卡一区| 国产伦精品一区二区三区在线观看 | 久久精品国产久精国产爱| 欧美性极品少妇| 亚洲欧美色一区| 成人av综合在线| 国产欧美日韩综合精品一区二区| 日韩av电影免费观看高清完整版在线观看| 色综合欧美在线视频区| 国产精品人人做人人爽人人添| 国产乱人伦偷精品视频不卡| 欧美变态tickling挠脚心| 日韩成人免费在线| 7777精品久久久大香线蕉| 午夜久久电影网| 欧美人成免费网站| 图片区小说区区亚洲影院| 精品视频999| 午夜精品国产更新| 777色狠狠一区二区三区| 偷拍一区二区三区| 欧美日韩你懂的| 视频一区二区欧美| 欧美一卡2卡三卡4卡5免费| 天堂在线一区二区| 91精品在线一区二区| 午夜国产不卡在线观看视频| 欧美肥妇free| 久久精品国产精品青草| 欧美成人三级电影在线| 国产主播一区二区| 国产偷国产偷精品高清尤物| 国产一区二区三区精品欧美日韩一区二区三区| 日韩午夜电影在线观看| 免费观看久久久4p| 久久久久久久av麻豆果冻| 福利一区福利二区| 1024成人网色www| 在线观看欧美黄色| 丝袜美腿高跟呻吟高潮一区| 91精品国产黑色紧身裤美女| 日韩电影免费在线看| 精品国产乱码久久久久久图片 | 国产精品成人网| 91黄色激情网站| 午夜精品久久久久久久99水蜜桃| 91精品国产色综合久久不卡电影 | 日韩国产欧美在线播放| 日韩女优毛片在线| 东方欧美亚洲色图在线| 一区二区三区在线免费观看| 欧美一区二区三区四区在线观看| 极品少妇xxxx精品少妇| 中文字幕免费在线观看视频一区| 91免费版在线看| 奇米精品一区二区三区在线观看一| 精品国精品国产| 99国产一区二区三精品乱码| 天天色图综合网| 久久免费精品国产久精品久久久久| 成人免费观看视频| 香蕉加勒比综合久久| 久久婷婷一区二区三区| 色综合天天综合色综合av| 美腿丝袜亚洲色图| 中文字幕成人av| 6080午夜不卡| 成人午夜伦理影院| 午夜国产精品一区| 国产精品理论在线观看| 8v天堂国产在线一区二区| 成人一级片网址| 天堂av在线一区| 中文字幕在线不卡| 日韩精品一区国产麻豆| 一本一道久久a久久精品| 国产真实精品久久二三区| 一区二区在线观看免费 | 日韩欧美一级特黄在线播放| 91美女视频网站| 国产在线麻豆精品观看| 一区二区在线免费| 中文字幕欧美国产| 欧美va日韩va| 欧美日韩国产综合一区二区三区 | 亚洲人快播电影网| 久久五月婷婷丁香社区|