コード例 #1
0
ファイル: Blob.java プロジェクト: peter9207/petGame
  private void updateSleepiness() {
    if (this.asleep) { // if asleep, wake up when sleepiness = 0
      if (this.sleepinessMeter <= 0) {
        this.asleep = false; // wakes up
      }
    } else { // if not asleep, fall asleep when sleepiness = 1080
      if (this.sleepinessMeter >= 1080) {
        this.onSleep();
      }
    }

    if (!this
        .asleep) { // should not make trouble when asleep. when awake, likelihood to cause trouble
      // increases.
      int threshold = 100 - this.disciplineMeter;
      Random generator =
          new Random(android.os.SystemClock.elapsedRealtime()); // generator with randseed
      int randChance = generator.nextInt(100); // creates a random digit from 0 to 100
      if (randChance <= threshold) {
        this.message = "Your blob is causing a nuisance.";
      }
    }
  }
コード例 #2
0
 public float pickScale() {
   return minScaleFactor + random.nextFloat() * (maxScaleFactor - minScaleFactor);
 }
コード例 #3
0
 public float pickTranslation(int n, float f) {
   return n * (f - 1.0f) * (random.nextFloat() - 0.5f);
 }
コード例 #4
0
  public void nextLevel() {
    boolean loaded = false;
    final GameBoard boardView = (GameBoard) this.findViewById(R.id.gameBoard);
    this.level++;

    AssetManager am = getResources().getAssets();

    try {
      List<String> allTutoLevels =
          new LinkedList<String>(Arrays.asList(am.list("levels/tutorial")));

      // if(addMsg){
      //    allTutoLevels.addAll(Arrays.asList(am.list("msg")));
      // }

      Log.d(TAG, allTutoLevels.toString());

      for (String name : allTutoLevels) {
        if (name.startsWith(this.level + ".")) {
          BufferedReader br =
              new BufferedReader(new InputStreamReader(am.open("levels/tutorial/" + name)));
          String line;
          String levelJSON = "";

          while ((line = br.readLine()) != null) {
            levelJSON += line + "\n";
          }

          br.close();

          game.initGame(
              levelJSON, boardView.getMeasuredWidth() / 60, boardView.getMeasuredHeight() / 60);
          loaded = true;
        }
      }
    } catch (IOException e) {
      e.printStackTrace();
    }

    if (!loaded) {
      Random r = new Random();

      List<String> allLevels = new ArrayList<>();

      try {
        allLevels = Arrays.asList(am.list("levels"));
      } catch (IOException e) {
      }

      if (r.nextBoolean() && !allLevels.isEmpty() && allLevels.size() != allDoneLevels.size()) {
        try {
          int nLevel;
          do {
            nLevel = r.nextInt(allLevels.size());
          } while (allDoneLevels.contains(allLevels.get(nLevel)));

          String name = allLevels.get(nLevel);
          BufferedReader br = new BufferedReader(new InputStreamReader(am.open("levels/" + name)));

          String line;
          String levelJSON = "";

          while ((line = br.readLine()) != null) {
            levelJSON += line + "\n";
          }

          br.close();

          allDoneLevels.add(name);

          game.initGame(
              levelJSON, boardView.getMeasuredWidth() / 60, boardView.getMeasuredHeight() / 60);
        } catch (IOException e) {
          this.game.initGame(
              level, boardView.getMeasuredWidth() / 60, boardView.getMeasuredHeight() / 60);
        }
      } else {
        this.game.initGame(
            level, boardView.getMeasuredWidth() / 60, boardView.getMeasuredHeight() / 60);
      }
    }

    // am.close();

    boardView.setGame(this.game);
    boardView.invalidate();
    boardView.getHowdyShadeView().invalidate();

    Toast.makeText(this, this.level + "", Toast.LENGTH_SHORT).show();

    Log.i(
        TAG,
        "Max tiles : "
            + (boardView.getMeasuredWidth() / 60) * (boardView.getMeasuredHeight() / 60));
  }