Javaの道 Javaに関する
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道 >  掲示板 >  掲示板(このプログラムの一番下のコメントアウトしてある処理がわからないのですが教えていただけませんか?)
閲覧数:833
掲示板(このプログラムの一番下のコメントアウトしてある処理がわからないのですが教えていただけませんか?)
名前
匿名
題名 このプログラムの一番下のコメントアウトしてある処理がわからないのですが教えていただけませんか?
質問内容

質問を評価する
(0ポイント)
package o.se.ro;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.concurrent.TimeUnit;
import android.content.Context;
import android.content.res.AssetManager;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;

public class OseroView extends SurfaceView implements SurfaceHolder.Callback, Runnable{

    OseroActivity activity;
    
//【システム変数定義】ここから---------------------------------------------------------------------------
    private SurfaceHolder    holder;
    private Thread           thread;
    int height    = 800;    //基本となる画面サイズ(タテ)
    int width    = 480;    //(ヨコ)
    String text;//表示する文字を格納する変数
    //ここは特にいじる必要なし
//【システム変数定義】ここまで-----------------------------------------------------------------------------

    //コンストラクタ
    public OseroView(Context context) {
        super(context);
        //メンバを初期化
        activity = (OseroActivity)context;    
        
        //サーフェイスホルダーの生成
        holder = getHolder();
        getHolder().addCallback(this);
        getHolder().setFixedSize(width, height);    //基本となる画面サイズ(これを端末に合わせて拡大縮小する)
    }
    //SurfaceViewが作成された時の処理(初期画面の描画等)を記述
    public void surfaceCreated(SurfaceHolder holder) {
        thread = new Thread(this);
        thread.start();
    }
    //SurfaceViewが変化(画面の大きさ,ピクセルフォーマット)した時のイベントの処理を記述
    public void surfaceChanged (SurfaceHolder holder, int format, int width, int height) {
        
    }
    //SurfaceViewが廃棄された時の処理を記述
    public void surfaceDestroyed(SurfaceHolder holder) {
        thread = null;
    }

//【ゲーム内の変数定義】ここから----------------------------------------
    Canvas             canvas;
    Paint             paint = new Paint();

    /*現在のシーンはint型変数sceneで保持
     *次に遷移するシーンはint型変数nextで保持
     *遷移しない時はnextは-1を保持*/
    //シーン定数 
    private final static int    //※シーンにかかわらず常に盤面を表示する
    S_BLACK        = 0,    //黒の番(タップした場所が石を置ける場所なら置く、そんで挟んだ白石を裏返す。リセットも受け付ける)
    S_WHITE        = 1,    //白の番(タップした場所が石を置ける場所なら置く、そんで挟んだ黒石を裏返す。リセットも受け付ける)
    S_FINISH    = 2;    //決着(決着メッセージを表示し、リセット以外の操作を受け付けない)
    
    //シーン    
    private int scene        = S_BLACK;    //現在のシーン
    private int next        = S_BLACK;    //次のシーン

    //画像読み込み用変数
    Resources res = this.getContext().getResources();
    private int             pct_no = 10;                    //画像の枚数、一応10種類(というか画像使うかな)
    private Bitmap[]        pct_obj = new Bitmap[pct_no];    //その他の画像(背景以外の画像)
    private Bitmap             pct_bg;                            //背景画像(使うなら盤面の画像)

    //その他変数
    
    
    //盤面用配列
    //0:あいているマス
    //1:黒の石
    //2:白の石
    int map[][]=
    {
        {0,0,0,0,0,0,0,0,0,0},
        {0,0,0,0,0,0,0,0,0,0},
        {0,0,0,0,0,0,0,0,0,0},
        {0,0,0,0,0,0,0,0,0,0},
        {0,0,0,0,2,1,0,0,0,0},
        {0,0,0,0,1,2,0,0,0,0},
        {0,0,0,0,0,0,0,0,0,0},
        {0,0,0,0,0,0,0,0,0,0},
        {0,0,0,0,0,0,0,0,0,0},
        {0,0,0,0,0,0,0,0,0,0}
    };
    //↑これは初期配置、ゲーム中でいじるよ

    int reset[][]=
    {
        {0,0,0,0,0,0,0,0,0,0},
        {0,0,0,0,0,0,0,0,0,0},
        {0,0,0,0,0,0,0,0,0,0},
        {0,0,0,0,0,0,0,0,0,0},
        {0,0,0,0,2,1,0,0,0,0},
        {0,0,0,0,1,2,0,0,0,0},
        {0,0,0,0,0,0,0,0,0,0},
        {0,0,0,0,0,0,0,0,0,0},
        {0,0,0,0,0,0,0,0,0,0},
        {0,0,0,0,0,0,0,0,0,0}
    };
    //↑これは初期化用の控え

//【ゲーム内変数定義】ここまで-------------------------------------------------------

//【ゲーム処理】ここから-------------------------------------------------------
    //スレッドの処理
    public void run() // run()メソッド内の無限ループでゲーム処理を行う
    {
        //定期処理
        /*初めに初期化変数nextで、必要なときにシーン初期化処理を行う。
         * その後はシーン定数に応じて各種処理、描画処理を行う*/
        while(thread != null)
        {
            canvas = holder.lockCanvas();
            paint.setColor(Color.argb(255,255,255,255));
//【シーン初期化】ここから-----------------------------------------------------
            //シーンごとに変数やらなんやら初期化するものがあればここに書く
            if(next >= 0)
            {
                switch(next)
                {
                case S_BLACK:
                    //タッチ座標初期化
                    break;
                case S_WHITE:
                    //タッチ座標初期化
                    break;
                case S_FINISH:
                    break;
                default:
                    break;
                    }
                scene = next;
                next = -1;
            }
//【シーン初期化】ここまで-----------------------------------------------------

            
//【常に処理するもの】ここから-----------------------------------------------------------
            
            
            //ターン監視(scene変数を取得)
            //石の数を監視(map配列から石の数をカウント)
            
            //リセットボタン押した処理
質問日時 2012-12-13 14:04:07
名前
匿名
回答内容

回答を評価する
(0ポイント)
処理が分からないとはどういうことですか?
コメントの意味が分からないということですか?
どうプログラムを書けばいいのかわからないということですか?
プログラムを書いて欲しいということですか?

何がどう分からないのか書かないと、どうにもならないね。
回答日時 2012-12-13 16:29:14
名前
匿名
回答内容

回答を評価する
(0ポイント)
説明不足で申し訳ありません。
どうプログラミングを書けばわからないんです。
できれば書いていただけると助かります。
回答日時 2012-12-13 21:04:16
名前
匿名
回答内容

回答を評価する
(0ポイント)
最後以外は理解できたん?
回答日時 2012-12-13 23:53:17
名前
匿名
回答内容

回答を評価する
(0ポイント)
正直なところ全く理解できてないです。
友人にやってくれないかと頼まれたんですがプログラマーではないのでわからないんです・・・。
回答日時 2013-01-09 22:31:30
名前
匿名
回答内容

回答を評価する
(0ポイント)
なんで全く分からないのに、そんな頼まれごとを受けたの…。
回答日時 2013-01-09 23:29:22

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。



このページのトップへ
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道_CopyrightJavaの道