Ejemplo n.º 1
0
  @Override
  protected void onStart() {
    super.onStart();

    /*Start Build Construct*/
    RelativeLayout fl = (RelativeLayout) findViewById(R.id.gameCon);
    ScrollView scroll = new ScrollView(this);
    TextView sometext = new TextView(this);
    sometext.setText(
        "This is a Trivia Challenge"
            + "\n"
            + "This is Challenge #"
            + (currentGame.levels.get(0).challengeIndex + 1)
            + "\n\n"
            + currentGame
                .levels
                .get(0)
                .gameChallenges
                .get(currentGame.levels.get(0).challengeIndex)
                .riddleTriviaText);
    // sometext.setTextColor();
    scroll.addView(sometext);
    scroll.setId(1);
    fl.addView(scroll, LayoutParams.MATCH_PARENT, 190);

    /*Build scrambler words*/
    answers =
        currentGame
            .levels
            .get(0)
            .gameChallenges
            .get(currentGame.levels.get(0).challengeIndex)
            .riddleTriviaShortText
            .split(" ");
    String[] scrambledWords = new String[answers.length];
    for (int x = 0; x < answers.length; x++)
      scrambledWords[x] = scrambleWord(answers[x]).toUpperCase();

    /*Build GridView for each word*/
    gv = new GridView[answers.length];

    for (int x = 0; x < gv.length; x++) {
      gv[x] = new GridView(this);
      gv[x].setNumColumns(scrambledWords[x].length());
      gv[x].setColumnWidth(15);
      Character[] letters = new Character[scrambledWords[x].length()];
      for (int y = 0; y < scrambledWords[x].length(); y++) letters[y] = scrambledWords[x].charAt(y);
      gv[x].setAdapter(new ArrayAdapter<Character>(this, R.layout.scrambler_format, letters));
      gv[x].setGravity(Gravity.CENTER);
      gv[x].setId(x + 2);
      RelativeLayout.LayoutParams param =
          new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
      param.addRule(RelativeLayout.BELOW, x + 1);

      gv[x].setOnItemClickListener(
          new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

              if (!letterSelected) {
                parentID = parent.getId();
                letterSelected = true;
                textView = (TextView) view;
              } else {
                if (parent.getId() == parentID) {
                  String temp;
                  TextView tv = (TextView) view;
                  temp = tv.getText().toString();
                  tv.setText(textView.getText().toString());
                  textView.setText(temp);
                  Toast.makeText(getApplicationContext(), "Switch", Toast.LENGTH_SHORT).show();
                  parentID = -1;
                  letterSelected = false;
                  textView = null;
                }
              }
            }
          });

      fl.addView(gv[x], param);
    }
    /*End Build Construct*/

    /*Submission Button*/
    submit.setOnClickListener(
        new View.OnClickListener() {
          public void onClick(View view) {
            if (!currentGame
                .levels
                .get(0)
                .gameChallenges
                .get(currentGame.levels.get(0).challengeIndex)
                .solved) {
              boolean correctAnswer = true;
              for (int x = 0; x < gv.length; x++) {
                for (int y = 0; y < answers[x].length(); y++) {
                  if (!String.valueOf(answers[x].charAt(y))
                      .toUpperCase()
                      .equals(((TextView) gv[x].getChildAt(y)).getText().toString()))
                    correctAnswer = false;
                }
              }

              if (correctAnswer) {
                Toast.makeText(getApplicationContext(), "Correct!", Toast.LENGTH_SHORT).show();
                ActiveGames.activeGames
                        .get(gameIndex)
                        .levels
                        .get(0)
                        .gameChallenges
                        .get(currentGame.levels.get(0).challengeIndex)
                        .solved =
                    true;
                ActiveGames.activeGames.get(gameIndex).levels.get(0).challengesSolved++;
                ActiveGames.activeGames.get(gameIndex).progress =
                    (int)
                        (((float)
                                    ActiveGames.activeGames
                                        .get(gameIndex)
                                        .levels
                                        .get(0)
                                        .challengesSolved
                                / (float) currentGame.levels.get(0).gameChallenges.size())
                            * 100.0);
              } else
                Toast.makeText(getApplicationContext(), "Incorrect", Toast.LENGTH_SHORT).show();
            } else
              Toast.makeText(getApplicationContext(), "Already Solved!", Toast.LENGTH_SHORT).show();
          }
        });
  }
Ejemplo n.º 2
0
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
 }