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

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

?? tablero.java

?? J2ME 技術開發的撲克牌類游戲 是開源代碼
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/*
 * Tablero.java
 *
 * Created on 3 de junio de 2005, 12:03
 *
 * To change this template, choose Tools | Options and locate the template under
 * the Source Creation and Management node. Right-click the template and choose
 * Open. You can then make changes to the template in the Source Editor.
 */

package telefono;

import java.io.IOException;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import org.xmlpull.v1.XmlPullParser;
/**
 *
 * @author Enrique Vicent Ramis
 */

 class Tablero extends Canvas  
{
    int jugadores=3;
    boolean borde=true;
    int alto=300;
    int ancho=200;  
    final static int vBorde=5;
    private int altoCelda;
    private int sx=1;
    private int sy=1;
    private Partida partida;
    private int vScroll=0;
    private Command exitCommand;
    private Command graficoCommand;
    /** mano es quien da en cada turo (mano % jugadores). un 0 significa que no nos importa*/
    int mano=0;

    static final String xmlTag="pantalla";
   
    class Cell
    {
        public int tx,ty,fx,fy;
        public int getAncho(){return tx-fx;}
        public int getAlto(){return ty-fy;}
        private boolean drawable=true;
        public boolean isDrawable(){return drawable;}
        private Graphics g;
        
        /** construye una celda
         * establece sus 4 coordenadas y si es imprimible en la pantalla 
         */
        public Cell(Graphics g,int xPos,int yPos,int jugadores,boolean borde)
        {
            this.g=g;
            if (xPos<0 || yPos < 0 || xPos>jugadores || yPos>getMaxFilas() )
                drawable=false;
            else if(g==null)
                drawable=false;
            else
            {
                int inicio=borde?vBorde:0;
                int fAncho=((ancho-inicio)/jugadores);
                if (xPos==0)//borde
                {
                    fx=0;
                    tx=vBorde;
                }
                else
                {
                    tx=inicio+(fAncho*xPos);
                    fx=tx-fAncho;
                }
                int fAlto=altoCelda;
                fy=fAlto*yPos;
                ty=fy+fAlto;
            }
        }
        /** escribe un resultado parcial en la celda*/
        public void escribirParcial(int valor)
        {
            if(this.isDrawable())
            {
                g.setColor(valor<0?255:0,0,valor<0?0:255);
                Font fuente = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_SMALL);
                g.setFont(fuente);
                g.drawString(Integer.toString(valor), fx,ty,Graphics.BASELINE|Graphics.LEFT);
            }
        }
        /** dibuja una marca en la celda como "celda-mano" */
        public void marcarMano()
        {
            if(this.isDrawable())
            {
                g.setColor(0, 0xff, 0x66);
                g.fillRect(tx-5,ty-5,4,4);
            }
        }
        
        /** escribe un resultado acumulado en la celda*/
        public void escribirAcumulado(int valor)
        {
            if(this.isDrawable())
            {
                g.setColor(0,0,60);
                Font fuente = Font.getFont(Font.FACE_MONOSPACE, Font.STYLE_PLAIN, Font.SIZE_SMALL);
                g.setFont(fuente);
                g.drawString(Integer.toString(valor), tx,ty,Graphics.BASELINE|Graphics.RIGHT);
            }            
        }
        /** 
         * escribe un nombre de jugador en la celda
         * @param valor nombre del jugado
         * @color color (opcional)
         */
        public void escribirTitulo(String valor,int color)
        {
            if(this.isDrawable())
            {
                g.setColor(color);
                Font fuente = Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_BOLD, Font.SIZE_SMALL);
                g.setFont(fuente);
                g.drawString(valor, fx+getAncho()/2,ty,Graphics.BASELINE|Graphics.HCENTER);
            }
        }
        
        /** escribe un nombre de jugador en la celda*/
        public void escribirTitulo(String valor)
        {
            escribirTitulo(valor, 0);
        }
        
        /** calcula el m?ximo de filas disponibles para la pantalla*/
        public int getMaxFilas()
        {
            return (alto-altoCelda)/altoCelda;
        }
        
        public void setRelleno(int R,int G,int B)
        {
            if(isDrawable())
            {
                g.setColor(R, G, B);
                g.fillRect(fx+1,fy+1,getAncho()-1,getAlto()-1);
            }   
        }
        
        public void setBorde(int R,int G,int B)
        {
            if(isDrawable())
            {
                g.setColor(R, G, B);
                g.drawRect(fx,fy,getAncho(),getAlto());
            }   
        }
    }
   
    private int getAltoCelda()
    {
        Font fuente = Font.getFont(Font.FACE_MONOSPACE, Font.STYLE_PLAIN, Font.SIZE_SMALL);
        return fuente.getHeight();
    }
    
    public void paint(Graphics g)
    { 
        Image img=null;
        // Borrar la pantalla
        cls(g);
        // dibujar tablero
        tablero(g, jugadores,true);
        seleccion(g,jugadores,true);
        lineas(g,partida.getLineas());
        //nombres de los jugadores
        for(int i=0;i<jugadores;i++)
        {
            (new Cell(g,i+1,0,jugadores,true)).escribirTitulo(partida.getNombres()[i],Grafico.getColor(i));
        }
        //puntuaciones y rondas
        for(int i=vScroll;i<partida.getRondas();i++)
        {
            try
            {
                (new Cell(g,0,i+1-vScroll,jugadores,true)).escribirAcumulado(partida.getCartas(i+1));
            }
            catch(Exception e){}
            for(int j=0;j<jugadores;j++)
            {
                try
                {
                    if(isMano(j+1, i+1))
                        (new Cell(g,j+1,i+1-vScroll,jugadores,true)).marcarMano();
                }
                catch(Exception e){}
                try
                {
                    (new Cell(g,j+1,i+1-vScroll,jugadores,true)).escribirParcial(partida.getParcial(j+1, i+1));
                }
                catch(Exception e){}
                try
                {
                    (new Cell(g,j+1,i+1-vScroll,jugadores,true)).escribirAcumulado(partida.getAcumulado(j+1, i+1));
                }
                catch(Exception e){}
            }
        }
    }
     /**
     *borra la pantalla
     * @param g pantalla
     */
    public void cls(Graphics g)
    {
        g.setColor(255,255,255);
        g.fillRect(0, 0, getWidth(), getHeight());
    }
    
    /**
     * pinta las l?neas horizaontales de la pantalla, en funci?n de las
     * indicaciones contenidas en las reglas de partida
     * @param g pantalla
     * @param l array de lineas veritcales, indicando las posiciones donde va la
     * l?nea, viene indicada por las reglas de partida, e indica detr?s de que 
     * ronda se pinta la l?nea
     */
    public void lineas(Graphics g,int[]l)
    {
        for (int i=0;i<l.length;i++)
        {
            g.setColor(0,0,0);
            Cell test=new Cell(g, 0, l[i]-vScroll,jugadores, borde);
            g.drawLine(vBorde, test.ty, ancho-vBorde, test.ty);
        }
    }
    
    /** pinta el tablero*/
    public void tablero(Graphics g,int jugadores, boolean borde)
    {
        g.setColor(0,0,0);
        int inicio=0;
        if (borde)
        {
            inicio=vBorde;
            g.drawLine(inicio, 0, inicio, alto);
        }
        for(int i=1;i<jugadores;i++)
        {
            int x=((ancho-inicio)/jugadores)*i;
            x+=inicio;
            g.drawLine(x, 0, x, alto);
        }
        g.drawLine(inicio, altoCelda, ancho, altoCelda);
    }

    public void activeCell(Graphics g,int x,int y,int jugadores,boolean borde)
    {
        Cell celda=new Cell(g,x,y,jugadores,borde);
        if(celda.isDrawable())
        {
            g.setColor(128, 255, 128);
            g.fillRect(celda.fx,celda.fy,celda.getAncho(),celda.getAlto());
        }
    }


    public Tablero(Partida partida,CommandListener cl)
    {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91.com视频| 久久精品人人爽人人爽| 国产一区二区剧情av在线| 一区二区三区四区视频精品免费| 欧美精三区欧美精三区| 91麻豆国产精品久久| 久草中文综合在线| 日韩va欧美va亚洲va久久| 久久精品人人爽人人爽| 日韩无一区二区| 欧美丰满高潮xxxx喷水动漫| 欧美精品v国产精品v日韩精品| 欧美精品 国产精品| 欧美精品色一区二区三区| 91欧美一区二区| 欧美色视频一区| 91精品欧美福利在线观看| 91精品国产欧美一区二区成人| 欧美日韩一区中文字幕| 91精品国产一区二区三区蜜臀 | 亚洲综合无码一区二区| 一区二区三区久久| 美国三级日本三级久久99 | 国产精品毛片无遮挡高清| 亚洲视频免费在线观看| 自拍偷拍欧美精品| 午夜不卡av在线| 国内成人精品2018免费看| 99久久久国产精品免费蜜臀| 欧美亚洲日本国产| 2020国产精品自拍| 亚洲欧美日韩国产手机在线| 石原莉奈一区二区三区在线观看 | 欧美国产日产图区| 日日摸夜夜添夜夜添国产精品 | 欧美激情自拍偷拍| 亚洲国产乱码最新视频| 国产制服丝袜一区| 色婷婷综合久久久| 日韩欧美激情一区| 中文字幕一区二区三区乱码在线 | 中文字幕日韩精品一区| 亚洲成av人综合在线观看| 精品一区二区三区欧美| 91蝌蚪porny九色| 欧美一级二级三级蜜桃| 亚洲欧美在线aaa| 免费在线看一区| 在线观看国产精品网站| 久久日韩精品一区二区五区| 亚洲免费av观看| 美女性感视频久久| 色综合婷婷久久| 欧美精品一区二区三区高清aⅴ| 亚洲激情成人在线| 国产精品456露脸| 欧日韩精品视频| 久久久亚洲精品一区二区三区| 亚洲欧美日韩国产综合在线| 九色综合国产一区二区三区| 在线精品视频免费观看| 国产午夜精品久久久久久免费视| 日日噜噜夜夜狠狠视频欧美人| 国产激情精品久久久第一区二区| 色婷婷国产精品| 中文av一区特黄| 国产在线精品一区二区不卡了| 欧美最新大片在线看| 亚洲欧美另类小说视频| 99久久99精品久久久久久| 欧美乱妇一区二区三区不卡视频| 亚洲另类在线制服丝袜| 高清国产午夜精品久久久久久| 精品对白一区国产伦| 喷水一区二区三区| 欧美成人官网二区| 久久se这里有精品| 精品99久久久久久| 国内不卡的二区三区中文字幕 | 91视频91自| 亚洲另类一区二区| 欧美色倩网站大全免费| 国产精品欧美精品| 91丨porny丨蝌蚪视频| 欧美国产欧美亚州国产日韩mv天天看完整 | 国产不卡高清在线观看视频| 国产视频亚洲色图| av在线不卡免费看| 亚洲美女精品一区| 欧美人xxxx| 久久电影网站中文字幕| 91精品国产一区二区人妖| 日本vs亚洲vs韩国一区三区| 欧美精品一区二区在线播放| 久久99精品国产麻豆婷婷洗澡| 精品少妇一区二区| 国产高清亚洲一区| 国产精品麻豆一区二区| 一本大道久久精品懂色aⅴ| 亚洲一区二区影院| 91麻豆精品国产自产在线| 国产一区二区看久久| 自拍偷在线精品自拍偷无码专区| 色婷婷久久综合| 日本网站在线观看一区二区三区| 亚洲精品在线免费观看视频| www.日韩大片| 伊人婷婷欧美激情| 日韩欧美一区二区在线视频| 成人一道本在线| 日韩电影在线免费看| 日韩欧美一级特黄在线播放| 欧美a级理论片| 国产精品国产自产拍高清av| 欧美日韩国产另类一区| 国产成人在线视频播放| 国产日韩欧美一区二区三区综合| 成人激情图片网| 日韩专区一卡二卡| 最新日韩av在线| 精品国偷自产国产一区| 国产最新精品精品你懂的| 亚洲特黄一级片| 欧美一区二区三区在线观看视频 | 欧美一区二区播放| 色综合 综合色| 成人在线视频一区| 麻豆精品一区二区av白丝在线| 国产精品久久久久久亚洲毛片 | 国产片一区二区三区| av不卡在线播放| 国产精品乱人伦| 久久久久久久久久久电影| 欧美日韩在线电影| av激情综合网| 国产xxx精品视频大全| 全部av―极品视觉盛宴亚洲| 一区二区视频在线| 欧美在线免费观看视频| 91在线看国产| 从欧美一区二区三区| 国产麻豆成人传媒免费观看| 日韩电影在线一区二区三区| 亚洲一区二区美女| 亚洲国产精品传媒在线观看| 日韩免费观看2025年上映的电影| 欧美午夜不卡视频| 91电影在线观看| 91丨九色丨蝌蚪富婆spa| 韩国在线一区二区| 久久成人av少妇免费| 亚州成人在线电影| 亚洲国产精品久久人人爱蜜臀| 综合色中文字幕| 亚洲精品日产精品乱码不卡| 成人免费一区二区三区视频| 国产偷国产偷亚洲高清人白洁 | 青草国产精品久久久久久| 亚洲影视在线观看| 一区二区在线观看不卡| 亚洲人成7777| 一区二区激情视频| 亚洲午夜久久久久中文字幕久| 亚洲天堂免费看| 国产精品成人免费在线| 亚洲欧美视频在线观看| 香蕉加勒比综合久久| 婷婷综合五月天| 免费成人在线观看视频| 日日噜噜夜夜狠狠视频欧美人 | 日韩欧美国产综合在线一区二区三区| 欧美老女人在线| 欧美成人女星排名| 亚洲国产精品黑人久久久| 亚洲黄色性网站| 日韩国产在线观看一区| 国产在线播放一区| 91在线视频播放| 欧美精品第一页| 国产精品私人影院| 亚洲福利国产精品| 国产在线精品一区二区不卡了| 99精品视频在线免费观看| 在线亚洲+欧美+日本专区| 日韩一区二区三区在线| 国产午夜精品理论片a级大结局| 亚洲欧美日韩成人高清在线一区| 图片区小说区区亚洲影院| 激情五月婷婷综合网| 99久久99久久免费精品蜜臀| 在线不卡a资源高清| 中文字幕不卡在线观看| 亚洲成人三级小说| 国产传媒日韩欧美成人| 欧美日韩高清在线播放| 国产欧美在线观看一区| 天天av天天翘天天综合网色鬼国产| 国产成人亚洲综合色影视 | 日本不卡123| 91丨porny丨最新|