GameGrid.java
package com.vikesh.gamesudoku.view.sudokugrid;import com.vikesh.gamesudoku.Game;
import com.vikesh.gamesudoku.Naming;
import com.vikesh.gamesudoku.SudokuChecker;
import android.content.Context;
import android.content.Intent;
import android.os.SystemClock;
import android.widget.Chronometer;
import android.widget.Toast;
public class GameGrid extends Game {
private Context context;
public static Chronometer focus;
public static String level=null;
public static String time;
private SudokuCell[][] sudoku = new SudokuCell[9][9];
public GameGrid(Context context)
{
this.context = context;
for(int x=0;x<9;x++)
{
for(int y=0;y<9;y++)
{
sudoku[x][y] = new SudokuCell(context);
}
}
}
public void setGrid(int[][] grid)
{
for(int x=0;x<9;x++)
{
for(int y=0;y<9;y++)
{
sudoku[x][y].setInitValue(grid[x][y]);
if(grid[x][y] != 0)
{
sudoku[x][y].setNotModifiable();
}
}
}
}
public SudokuCell[][] getGrid()
{
return sudoku;
}
public SudokuCell getItem(int x,int y)
{
return sudoku[x][y];
}
public SudokuCell getItem(int position)
{
int x = position%9;
int y = position/9;
return sudoku[x][y];
}
public void setItem(int x,int y,int number)
{
sudoku[x][y].setValue(number);
}
public void checkGame()
{
int[][] sudGrid = new int[9][9];
for(int x = 0;x<9;x++)
{
for(int y=0;y<9;y++)
{
sudGrid[x][y]=getItem(x, y).getValue();
}
if(SudokuChecker.getInstance().checkSudoku(sudGrid))
{
level = Game.DIFFICULTY_LEVEL;
focus = Game.focus;
focus.stop();
long timeElapsed = SystemClock.elapsedRealtime()-focus.getBase();
int hours = (int) (timeElapsed / 3600000);
int minutes = (int) (timeElapsed - hours * 3600000) / 60000;
int seconds = (int) (timeElapsed - hours * 3600000 - minutes * 60000) / 1000;
time = minutes+":"+seconds;
Intent i = new Intent(context,Naming.class);
context.startActivity(i);
Toast.makeText(context,"Congratulations!!!You Solved The Sudoku in!!"+time,Toast.LENGTH_LONG).show();
}
}
}
}
No comments:
Post a Comment