OSDN Git Service

use HashSet for marking
authorYuta Kawabe <yuyu3165@gmail>
Fri, 19 Oct 2012 01:04:43 +0000 (10:04 +0900)
committerYuta Kawabe <yuyu3165@gmail>
Fri, 19 Oct 2012 01:04:43 +0000 (10:04 +0900)
ECC/src/jp/ac/titech/sharp4k/cuten/ECCctivity.java [deleted file]
ECC/src/jp/ac/titech/sharp4k/cuten/sampletask/MatrixView.java

diff --git a/ECC/src/jp/ac/titech/sharp4k/cuten/ECCctivity.java b/ECC/src/jp/ac/titech/sharp4k/cuten/ECCctivity.java
deleted file mode 100644 (file)
index 42666c6..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-package jp.ac.titech.sharp4k.cuten;
-
-import jp.ac.titech.sharp4k.cuten.sampletask.ECCTask;
-import android.app.Activity;
-import android.os.Bundle;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.widget.Button;
-import android.widget.LinearLayout;
-import android.widget.Toast;
-
-public class ECCctivity extends Activity implements ResultSender,
-               OnClickListener {
-       private BaseApp taskApp;
-
-       /** Called when the activity is first created. */
-       @Override
-       public void onCreate(Bundle savedInstanceState) {
-               super.onCreate(savedInstanceState);
-               taskApp = new ECCTask();
-               taskApp.setSender(this);
-               taskApp.setCloseRequester(new CloseRequester() {
-                       @Override
-                       public void close() {
-
-                       }
-               });
-               LinearLayout layout = new LinearLayout(this);
-               layout.setOrientation(LinearLayout.VERTICAL);
-               Button b = new Button(this);
-               b.setOnClickListener(this);
-               layout.addView(b);
-               layout.addView(taskApp.createView(this, this.getResources()));
-               setContentView(layout);
-       }
-
-       @Override
-       public void onClick(View v) {
-               taskApp.onClose();
-       }
-
-       @Override
-       public void send(int[] results) {
-               String str = "";
-               for (Integer i : results) {
-                       str += i.toString() + ",";
-               }
-               Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
-       }
-}
\ No newline at end of file
index 9c8be65..601136f 100644 (file)
@@ -1,6 +1,7 @@
 package jp.ac.titech.sharp4k.cuten.sampletask;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 
 import jp.ac.titech.sharp4k.cuten.R;
 import android.content.Context;
@@ -19,8 +20,8 @@ public class MatrixView extends View {
        Resources res;
        float width, height;
        int row, col, checkrow, checkcol;
-       int[] cAnswer;
-       ArrayList<Integer> uAnswer;
+       int[] ansArray;
+       HashSet<Integer> cAnswer, uAnswer;
        String[] bits;
        ArrayList<Rect> selRects;
 
@@ -34,8 +35,12 @@ public class MatrixView extends View {
                col = res.getInteger(R.integer.col);
                checkrow = res.getInteger(R.integer.checkrow);
                checkcol = res.getInteger(R.integer.checkcol);
-               cAnswer = res.getIntArray(R.array.answer);
-               uAnswer = new ArrayList<Integer>();
+               cAnswer = new HashSet<Integer>();
+               ansArray = res.getIntArray(R.array.answer);
+               for (int i = 0; i < ansArray.length; i++) {
+                       cAnswer.add(ansArray[i]);
+               }
+               uAnswer = new HashSet<Integer>();
                bits = res.getStringArray(R.array.code);
                selRects = new ArrayList<Rect>();
        }
@@ -141,27 +146,16 @@ public class MatrixView extends View {
 
        public void reset() {
                bits = res.getStringArray(R.array.code);
-               uAnswer = new ArrayList<Integer>();
+               uAnswer = new HashSet<Integer>();
                selRects = new ArrayList<Rect>();
                invalidate();
        }
 
        public int finish() {
-               boolean check;
-               if (uAnswer.size() == cAnswer.length) {
-                       for (int i = 0; i < cAnswer.length; i++) {
-                               check = false;
-                               for (int j = 0; j < uAnswer.size(); j++) {
-                                       if (cAnswer[i] == uAnswer.get(j)) {
-                                               check = true;
-                                       }
-                               }
-                               if (!check) {
-                                       return 0;
-                               }
-                       }
+               if (uAnswer.equals(cAnswer)) {
                        return 100;
+               } else {
+                       return 0;
                }
-               return 0;
        }
 }
\ No newline at end of file