OpenSudoku Android数独游戏源码

Android 的数独游戏源码里,OpenSudoku算是比较经典的一个。它的结构清晰,逻辑完整,适合拿来当学习项目。尤其是你想搞懂 Android 的基本架构、界面绘制、数据存储,甚至是游戏逻辑,看看它绝对不亏。

AndroidManifest.xml里能看到 Activity 和权限声明,res目录下的布局、图片、字符串资源也都比较标准,挺适合新手熟悉项目结构。主逻辑都放在MainActivity和一些功能类里,事件响应、页面跳转一目了然。

数独核心逻辑写得也挺实在,用了回溯法这些常见算法生成和求解谜题。比如你想看看怎么封装一个SudokuGame类,或者怎么验证一个谜题是否合规,这里面代码都能直接参考。

UI 绘制方面,游戏用CanvasPaint画数独盘,界面干净清爽。你要是想自己写一个自定义 View 的数独组件,看它的 SurfaceView 实现就挺有的。

数据持久化也没落下,SharedPreferences、SQLite 的用法都能找到。怎么保存用户进度、读取上次游戏状态,这些细节得还挺周到。

另外还有像SudokuValidatorPuzzleGenerator这类工具类,代码结构上做了些模块化设计,方便维护和复用。适合用来练手做功能拆分。

如果你想提升 Android 开发技能,或者对做小游戏感兴趣,OpenSudoku是个不错的起点。自己跑一跑项目,改点功能,收获还挺多。

folder
opensudoku源码 预估大小:164个文件
file
AndroidManifest.xml 550B
file
main.xml 382B
file
icon.png 2KB
file
icon.png 3KB
file
icon.png 4KB
file
strings.xml 163B
file
FolderListActivityTest.java 4KB
file
.classpath 653B
file
default.properties 449B
file
.project 887B
file
robotium-solo-1.5.0.jar 29KB
file
robotium-solo-1.5.0-javadoc.jar 32KB
file
AndroidManifest.xml 550B
file
main.xml 382B
file
icon.png 3KB
file
strings.xml 163B
file
CellTest.java 1KB
file
CellNoteTest.java 2KB
file
CellCollectionTest.java 1KB
file
CellGroupTest.java 1KB
file
.classpath 349B
file
default.properties 364B
file
run-tests.sh 273B
file
.project 849B
file
AndroidManifest.xml 4KB
file
strings.xml 10KB
file
arrays.xml 219B
file
import_sudoku.xml 720B
file
folder_name.xml 1KB
file
sudoku_edit.xml 655B
file
sudoku_list.xml 631B
file
about.xml 2KB
file
im_single_number.xml 3KB
file
im_numpad.xml 3KB
file
sudoku_export.xml 997B
file
sudoku_list_item.xml 2KB
file
file_list_item.xml 775B
file
preference_dialog_seek_bar.xml 462B
file
im_popup.xml 3KB
file
im_popup_edit_value.xml 2KB
file
folder_list_item.xml 775B
file
file_list.xml 501B
file
im_popup_edit_note.xml 2KB
file
sudoku_play.xml 1KB
file
folder_list.xml 715B
file
sudoku_list_item_note.xml 1KB
file
sudoku_edit.xml 657B
file
im_single_number.xml 3KB
file
im_numpad.xml 3KB
file
im_popup.xml 3KB
file
im_popup_edit_value.xml 2KB
file
im_popup_edit_note.xml 3KB
file
sudoku_play.xml 1KB
file
changelog 2KB
file
strings.xml 10KB
file
arrays.xml 211B
file
strings.xml 10KB
file
arrays.xml 216B
file
btn_completed_normal.9.png 785B
file
btn_default_normal.9.png 679B
file
btn_default_bg.xml 2KB
file
btn_default_pressed.9.png 936B
file
btn_completed_bg.xml 2KB
file
btn_toggle_completed_bg.xml 307B
file
pencil_disabled.png 1KB
file
btn_default_selected.9.png 964B
file
opensudoku_logo_72.png 2KB
file
btn_default_normal_disable.9.png 456B
file
btn_completed_normal_disable_focused.9.png 648B
file
btn_completed_normal_disable.9.png 456B
file
btn_toggle.xml 292B
file
btn_toggle_off.9.png 364B
file
btn_default_normal_disable_focused.9.png 648B
file
btn_toggle_bg.xml 948B
file
pencil_license.txt 305B
file
pencil.png 3KB
file
btn_toggle_on.9.png 442B
file
strings.xml 10KB
file
arrays.xml 718B
file
game_settings.xml 4KB
file
strings.xml 9KB
file
styles.xml 1001B
file
strings.xml 10KB
file
arrays.xml 351B
file
strings.xml 10KB
file
attrs.xml 971B
file
colors.xml 206B
file
styles.xml 3KB
file
ids.xml 100B
file
arrays.xml 707B
file
DatabaseHelper.java 15KB
file
SudokuDatabase.java 16KB
file
SudokuInvalidFormatException.java 1KB
file
SudokuImportParams.java 394B
file
FolderColumns.java 961B
file
SudokuColumns.java 1KB
file
StringUtils.java 1KB
file
AndroidUtils.java 2KB
file
Const.java 192B
file
SudokuListFilter.java 2KB
file
FileImportActivity.java 1KB
file
GameSettingsActivity.java 2KB
file
ImportSudokuActivity.java 1KB
file
SudokuExportActivity.java 6KB
file
GameTimeFormat.java 1KB
file
SudokuImportActivity.java 4KB
file
HintsQueue.java 5KB
file
FolderDetailLoader.java 3KB
file
OpenSudokuImportTask.java 5KB
file
AbstractImportTask.java 6KB
file
SdmImportTask.java 1KB
file
ExtrasImportTask.java 774B
file
SudokuBoardView.java 21KB
file
SudokuEditActivity.java 8KB
file
Changelog.java 2KB
file
FileListActivity.java 7KB
file
Timer.java 8KB
file
SudokuListActivity.java 20KB
file
FolderListActivity.java 14KB
file
SudokuPlayActivity.java 16KB
file
IMControlPanel.java 9KB
file
IMNumpad.java 7KB
file
InputMethod.java 4KB
file
IMPopupDialog.java 12KB
file
IMSingleNumber.java 9KB
file
IMPopup.java 5KB
file
IMControlPanelStatePersister.java 4KB
file
FileExportTask.java 5KB
file
FileExportTaskParams.java 352B
file
FileExportTaskResult.java 175B
file
SeekBarPreference.java 9KB
file
CellGroup.java 2KB
file
Cell.java 7KB
file
CellNote.java 5KB
file
AbstractCommand.java 2KB
file
SetCellValueCommand.java 2KB
file
FillInNotesCommand.java 3KB
file
CommandStack.java 3KB
file
EditCellNoteCommand.java 2KB
file
ClearAllNotesCommand.java 3KB
file
AbstractCellCommand.java 421B
file
FolderInfo.java 2KB
file
SudokuGame.java 7KB
file
CellCollection.java 13KB
file
.classpath 289B
file
OpenSudoku.apk 105KB
file
default.properties 384B
file
org.eclipse.jdt.core.prefs 618B
file
dev_notes.txt 64B
file
COPYING 35KB
file
.project 813B
file
opensudoku_logo_512.png 13KB
file
opensudoku_logo.psd 145KB
file
promo_graphic.psd 335KB
file
sudoku_list.png 22KB
file
gameplay.png 22KB
file
gameplay_sn.png 22KB
file
opensudoku.png 12KB
file
board_with_pencil.png 21KB
file
promo_graphic.png 14KB
file
screens.jpg 89KB
file
screens-small.jpg 59KB
file
select_number.png 16KB
file
folder_list.png 15KB
...
rar 文件大小:822.85KB