当前位置: 首页 > 工具软件 > wxErlang > 使用案例 >

wxErlang 的案例学习(3)

纪佐
2023-12-01

三、模块sudoku_game.erl

到这里才想起来,应该先说说这个游戏程序4个不同模块的用途和关系。

sudoku.erl是程序主进程,不被其他模块调用;

sudoku_gui.erl是程序GUI功能服务器子进程,只供sudoku.erl调用;

sudoku_board.erl是游戏“棋盘”显示处理模块,属于GUI功能的一部分,只供sudoku_gui.erl调用。

sudoku_gamr.erl是“数独”游戏逻辑模块,可被其他3个模块调用;

(1)、sudoku_game的初始化

主进程的函数init(Halt),对游戏的逻辑功能进行初始化。

    ……

    receive {gfx, GFX} -> ok end,

    case sudoku_game:init(GFX) of

    ……

在完成游戏GUI界面的创建后,这里receive到的GFX是sudoku_gui子进程的Pid,gfx的意思是graphics。

(2)、“数独”游戏逻辑的算法

模块sudoku_gamr.erl通篇是算法,难以读懂。原本想好好啃啃,翻译成Python弄到GAE上去。但google了“python sudoku”后,找到一大堆源程序,顿时没了兴趣。

sudoku的学习,到此结束。

 类似资料: