2013-10-01 6 views
1

나는이 생성기를 무작위로 가지고 있습니다. 달성 한 점수에 따라 자신의 산란을 변경하고 싶습니다. 예를 들어 나의 보통의 적들이 매번 스폰되고 내 점수가 100이 될 때까지 정상적인 적들은 계속 나타나지만 더 어려운 적들이 생성됩니다 .. 어떤 힌트라도?점수로 적을 리셋

다음은 B1의 원수가 더 이상 나타나지 않는 100 명중 후에 내가이

if(score < 100) 
      return R.drawable.b1; 
     else if(score >= 100) 
      return R.drawable.bigger; 
     else 
      return R.drawable.b2; 

을 시도했지만이 방법의 한

private int getRandomEnemy() { 
     /*int randNumber = enemyGenerator.nextInt(150); 
     if (randNumber < 70) 
      return R.drawable.b1; 
     else if (randNumber >= 139 && randNumber < 150) 
      return R.drawable.b2; 
     else if (randNumber >= 123 && randNumber < 138) 
      return R.drawable.b3; 
     else if (randNumber >= 117 && randNumber < 122) 
      return R.drawable.b4; 
     else if (randNumber >= 96 && randNumber < 116) 
      return R.drawable.b5; 
     else if (randNumber >= 90 && randNumber <= 95) 
      return R.drawable.b6; 
     else 
      // n < 100, always holds 
      return R.drawable.bigger;*/ 
    } 

적 무작위로 생성 내 코드입니다. 덕분에 ~

답변

0

스코어가 < 일 때 b1 만 생성해야한다고 명령했기 때문에 score> 100 이후에는 b1이 생성되지 않습니다. 단일 유형 만 반환하는 대신 일반 목록에 드로어 블 항목을 추가하는 것이 좋습니다. 이 목록을 반환합니다.

예 :

List<Drawable> enemies = new List<Drawable>(); 

if (score < 100) 
    enemies.Add(R.drawable.b1); 

else if (score >= 100) 
{ 
    enemies.Add(R.drawable.b1); 
    enemies.Add(R.drawable.bigger); 
} 

else 
{ 
    enemies.Add(R.drawable.b2) 
} 

return enemies; 

이 나는 ​​일반적인 객체가이 드로어 블 오브젝트를 운전, 나는 그냥 당김 호출됩니다 가정 무엇인지하지 않는 한 정확한 논리는 아니지만이 될 수있다 (아마하고) 있습니다 다른 것.

+1

나는이 새로운 목록을 변경하려고 시도했다. () ArrayList에 (); 하지만 enemies.add에 문제가 있습니다. enemies.Add .. Add (int, Drawable) 형식의 목록에서 은 인수 (int)에 적용 할 수 없습니다 ~ – NoobMe

+0

Drawable을 언급 했으므로 drawable 항목의 객체 유형을 결정해야합니다. 아마 기본 클래스가 아닙니다. b1에 할당 한 예를 보여 주면 더 크고 b2 그러면 좀 더 구체적인 예를 만들 수 있습니다. –