3

私は新しいプログラマーで、最近アプレットを使い始めたばかりです。ただし、通常アプリケーションのメイン メソッドに配置するコードをどこに配置するかについては、まだ混乱しています。現在、通常のデッキからランダムに 10 枚のカードを配るプログラムを書いています。

import java.awt.Graphics;
import java.awt.Image;
import java.applet.Applet;
import java.lang.Math;

public class unit12Assignment extends Applet
{
Image card1, card2, card3, card4, card5, card6, card7, card8, card9, card10, card11, card12, card13;
Image card14, card15, card16, card17, card18, card19, card20, card21, card22, card23, card24, card25, card26;
Image card27, card28, card29, card30, card31, card32, card33, card34, card35, card36, card37, card38, card39;
Image card40, card41, card42, card43, card44, card45, card46, card47, card48, card49, card50, card51, card52;

public void init()
{
    card1 = getImage( getDocumentBase(), "c1.gif" );
    card2 = getImage( getDocumentBase(), "c2.gif" );
    card3 = getImage( getDocumentBase(), "c3.gif" );
    card4 = getImage( getDocumentBase(), "c4.gif" );
    card5 = getImage( getDocumentBase(), "c5.gif" );
    card6 = getImage( getDocumentBase(), "c6.gif" );
    card7 = getImage( getDocumentBase(), "c7.gif" );
    card8 = getImage( getDocumentBase(), "c8.gif" );
    card9 = getImage( getDocumentBase(), "c9.gif" );
    card10 = getImage( getDocumentBase(), "c10.gif" );
    card11 = getImage( getDocumentBase(), "cj.gif" );
    card12 = getImage( getDocumentBase(), "cq.gif" );
    card13 = getImage( getDocumentBase(), "ck.gif" );
    card14 = getImage( getDocumentBase(), "d1.gif" );
    card15 = getImage( getDocumentBase(), "d2.gif" );
    card16 = getImage( getDocumentBase(), "d3.gif" );
    card17 = getImage( getDocumentBase(), "d4.gif" );
    card18 = getImage( getDocumentBase(), "d5.gif" );
    card19 = getImage( getDocumentBase(), "d6.gif" );
    card20 = getImage( getDocumentBase(), "d7.gif" );
    card21 = getImage( getDocumentBase(), "d8.gif" );
    card22 = getImage( getDocumentBase(), "d9.gif" );
    card23 = getImage( getDocumentBase(), "d10.gif" );
    card24 = getImage( getDocumentBase(), "dj.gif" );
    card25 = getImage( getDocumentBase(), "dq.gif" );
    card26 = getImage( getDocumentBase(), "dk.gif" );
    card27 = getImage( getDocumentBase(), "h1.gif" );
    card28 = getImage( getDocumentBase(), "h2.gif" );
    card29 = getImage( getDocumentBase(), "h3.gif" );
    card30 = getImage( getDocumentBase(), "h4.gif" );
    card31 = getImage( getDocumentBase(), "h5.gif" );
    card32 = getImage( getDocumentBase(), "h6.gif" );
    card33 = getImage( getDocumentBase(), "h7.gif" );
    card34 = getImage( getDocumentBase(), "h8.gif" );
    card35 = getImage( getDocumentBase(), "h9.gif" );
    card36 = getImage( getDocumentBase(), "h10.gif" );
    card37 = getImage( getDocumentBase(), "hj.gif" );
    card38 = getImage( getDocumentBase(), "hq.gif" );
    card39 = getImage( getDocumentBase(), "hk.gif" );
    card40 = getImage( getDocumentBase(), "s1.gif" );
    card41 = getImage( getDocumentBase(), "s2.gif" );
    card42 = getImage( getDocumentBase(), "s3.gif" );
    card43 = getImage( getDocumentBase(), "s4.gif" );
    card44 = getImage( getDocumentBase(), "s5.gif" );
    card45 = getImage( getDocumentBase(), "s6.gif" );
    card46 = getImage( getDocumentBase(), "s7.gif" );
    card47 = getImage( getDocumentBase(), "s8.gif" );
    card48 = getImage( getDocumentBase(), "s9.gif" );
    card49 = getImage( getDocumentBase(), "s10.gif" );
    card50 = getImage( getDocumentBase(), "sj.gif" );
    card51 = getImage( getDocumentBase(), "sq.gif" );
    card52 = getImage( getDocumentBase(), "sk.gif" );


}
public void paint(Graphics g)
{
    String card[] = new String[10];

    getCards( card[] );

    g.drawImage( cardSelection[0], 10, 10, this);
    g.drawImage( cardSelection[1], 90, 10, this);
    g.drawImage( cardSelection[2], 170, 10, this);
    g.drawImage( cardSelection[3], 250, 10, this);
            //unfinished
}

}

そこのどこかに、ランダムなカードを配列に配置し、ペイント メソッドがその仕事を行えるようにするコードを追加したいと考えています。私が持っているコードはこれです。

String cardNumber; 
    double cardRandom;
    int cardRandomNumber;

    for ( int number = 0; number <  10; number++ );
    {
        cardRandom = Math.random() * Math.random() * 10;

        if ( cardRandom <= 52 );
        {
            cardRandomNumber = (int) Math.round( cardRandom );
        }
        cardNumber =  "card" + cardRandomNumber;
        cardSelection[number] = cardNumber;
    }

では、通常はアプリケーションのメイン メソッドに配置するコードをどこに配置すればよいでしょうか。私はそれをメソッドに入れる必要があると思いますが、私がそれを何と呼ぶか​​を保証します。どんな洞察も高く評価されます。

4

2 に答える 2

1

init()これを一度だけ初期化するため、カードのセットアップ コードはアプレット メソッドに属します。ヘルパーメソッドに抽出できます。

于 2012-08-29T22:34:50.353 に答える
1

メソッドをオーバーライドして、start()そこにコードを配置する必要があります。

ps配列について学ぶことを強くお勧めします。名前の接尾辞が 1 つだけ異なる変数が多数ある場合、問題を解くには配列の方が適している可能性が高いことがわかります。init()この特定のケースでは、メソッド内の 52 行を 10 行未満に削減できる可能性が非常に高くなります。

于 2012-08-29T22:20:46.983 に答える