2012-08-31 3 views
1

안녕 안드로이드 북에는 스도쿠 솔루션이 있습니다. 축하 메시지가 마지막에 표시됩니다. 나는 왼쪽 빈 squareds가 있는지 확인하는 방법이 있고 나는 마지막 입력은 어떤 이유로 광장if 문이 화면을 좌우로 흔들어 놓는 이유는 무엇입니까

/****** Check to see if the game is complete **/ 
public boolean isSolved() { 
    for (int element : puzzle) { 
     if (element == 0) 
      return false; 
    } 
    return true; 
} 

/** Change the tile only if it's a valid move */ 
protected boolean setTileIfValid(int x, int y, int value) { 
    int tiles[] = getUsedTiles(x, y); 
    if (value != 0) { 
     for (int tile : tiles) { 
      if (tile == value) 
       return false; 
     } 
    } 
    setTile(x, y, value); 
    calculateUsedTiles(); 
    //check if the game is complete after each valid move 
      if (isSolved() == true) { 
       Intent i = new Intent(this, Congratulations.class); 
       startActivity(i);} 
       else 
       { 
        return false; 
       } 
    return true; 
} 

에 대한 유효한 항목이 있다면 내가 전에 타일을 입력 할 때 확인하는 또 다른 방법으로 그 전화 게임이 완료되면 전체 화면이 좌우로 흔들립니다. 내가 게임 체크를하기 전에는 이렇게하지 않았다. 왜 그리고 어디에서 이렇게하고 있습니까? 화면을 흔들어에 대한 책임을 일부 애니메이션이처럼

Congratulatons.xml <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dip" > <TextView android:id="@+id/about_content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/congratulations_text" /> </ScrollView> Congratulations.java

package com.example.sudoku; 
import android.app.Activity; 
import android.os.Bundle; 
public class Congratulations extends Activity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.congratulations); 
} 
} 
+0

태그는 AndroidManifest.xml – Ivo

답변

1

보인다. 축하 행사에 첨부되어있을 수 있습니다.

나는이 방법에 대한 코드 (특히 축하 활동)을 검색 할 필요가 있다고 생각 :

startAnimation(AnimationUtils.loadAnimation(context,R.anim.shake)); 

아니면의 활동 태그의 애니메이션에 대한 책임 테마 (사용자 지정 테마)이 될 수 AndroidManifest.xml

어쩌면 축하 활동이 아닐지도 모릅니다. 스도쿠가 아직 풀리지 않았을 때 아마 호출되는 코드 부분 일 것입니다.

+0

에서 게시 할 수 있습니다. 편집에서는 congratulations.xml과 .java가 있습니다. – WillNZ

+0

다른 클래스에서 찾았습니다. "PuzzleView"public void setSelectedTile (int tile) { \t \t if (game.setTileIfValid (selX, selY, tile)) { \t \t \t 무효화(); //이 { \t \t \t가 // Number이 타일 \t \t \t Log.d (TAG, 유효하지 않습니다 힌트 \t \t} 다른 변경 될 수 있습니다 "setSelectedTile에게 : 무효 :"+ 타일); \t \t \t startAnimation (AnimationUtils.loadAnimation (game, R.anim.shake)); \t \t} \t}'어떻게 이것을 제거하면 흔들리지 않을 수 있습니까? – WillNZ

+0

코드를 천천히 한 줄씩 읽으십시오. 이 타일에 // 숫자가 유효하지 않습니다. 질문에 대한 답변입니다. – edthethird