用Racket做一个拼图游戏——33 知识点

78 篇文章 17 订阅
28 篇文章 0 订阅

33 知识点

33.1 前言
  • 介绍Racket的来历。

33.2 设计目标
33.3 设计思路
33.3.1 图片操作功能
  • 标记ID的意义。

  • 动画实现原理。

33.3.2 界面功能设计
  • 界面布局。

  • 界面实现原理。

33.4 实现工具
33.4.1 DrRacket编辑器
  • DrRacket编辑器意义。

  • DrRacket编辑器下载及安装。

  • DrRacket编辑器界面及功能介绍。

33.4.2 Racket简单介绍
  • Racket编程涉及的概念及内容。

  • “Hello World!”代码的实现。

  • 深入学习Racket的途径。

33.4.3 快速学习Racket
  • 通过最基本的实例代码展示Racket语法。

33.5 模型板块(操作图片)
33.5.1 取得源图片
  • Racket中标识的概念及意义;

  • 介绍函数参数及使用(剩余参数、可选参数、关键字参数);

  • 路径(path)值的概念及使用;

  • 介绍模块、子摸快及测试模块及使用;

  • 介绍绑定"define"的使用。

  • "read-bitmap"函数。

  • "set!"的使用。

33.5.2 调整源图片尺寸
  • Racket数据类型介绍;

  • Racket源代码文件的组成结构;

  • 运行Racket源代码及测试。

33.5.3 调整显示图片尺寸
  • 类对象的创建;

  • 类对象的消息传递。

  • 三种局部绑定:并行绑定"let"、顺序绑定"let*"和递归绑定"letrec"。

  • 条件分支:"if"、"cond"、"when"和"unless"。

  • 类"bitmap%"的使用;

  • 函数"make-object"的使用。

33.5.4 按行列分割图片
  • 介绍数值函数。

33.5.5 生成单元格数据
  • 详细介绍结构数据类型。

33.5.6 分割图片到单元格列表
  • 详细介绍序对与列表。

  • 详细介绍递归与尾递归。

33.5.7 将单元格列表转换为散列表
  • 详细介绍散列表。

  • 详细介绍lambda及函数定义的本质。

33.5.8 混合单元格
  • 介绍散列表遍历hash-map和hash-for-each。

  • 介绍生成随机数random。

33.5.9 绘制单元格表为图片
  • 介绍绘图环境dc<%>。

33.5.10 操作id
  • 基本的绘图步骤。

  • pen%和brush%的使用。

33.5.11 初始化拼图数据
33.5.12 恢复拼图初始状态
33.5.13 判断是否成功完成拼图
33.5.14 汇总提供标识
  • 介绍合约(值合约、函数合约、结构合约)。

33.6 创建GUI界面
33.6.1 创建框架窗口
  • GUI工具箱内容。

  • 用frame%创建框架窗口。

  • GUI 构件的常用属性。

  • 操纵GUI构件。

33.6.2 规划布局
  • 视图布局的层次结构。

  • 用Racket进行有效的视图布局组织。

33.6.3 创建主窗口
  • frame%的类型style及意义。

33.6.4 创建布局
  • 窗格构件和面板构件的使用。

33.6.5 创建左侧布局
  • canvas%类介绍。

  • 介绍回调函数的概念。

33.6.6 创建命令功能区
  • button%类介绍。

  • 定义按钮回调函数。

33.6.7 创建行列设置组框
  • 介绍group-box-panel%。

  • 介绍tab-panel%。

  • 介绍text-field%。

  • 介绍choice%。

33.6.8 创建拼图命令按钮组
  • 介绍宏。

33.6.9 创建状态显示区
  • 介绍message%。

33.6.10 创建右侧布局
  • 介绍类的创建及使用。

  • 设计类的思路及方法。

33.7 主视图控制器
33.7.1 显示主界面
33.7.2 目标画布响应函数
33.7.3 退出按钮响应函数
33.7.4 text/row控件和text/col控件响应函数
  • 用宏生成函数。

  • 显示状态信息的方法。

  • Lisp语言著名的七个原始操作符(七个公理)。

33.7.5 choice/r&c行列选择框响应函数
33.7.6 button/select-picture选择图片按钮响应函数
  • get-file函数的使用。

33.7.7 button/blend-cells混合图片按钮响应函数
  • 向控件发送command消息实现事件控制。

  • control-event%的事件类型的使用。

33.7.8 判断设置行列数是否成功
  • 写判断函数。

33.7.9 button/play-again再来一次按钮响应函数
  • refresh-now方法的使用。

33.7.10 初始化主界面
33.7.11 设置目标图片画布尺寸
  • refresh-now方法的使用。

33.8 拼图画布类
  • 类合约的使用。

33.9 主程序
  • 主程序的概念及使用。

33.10 创建可执行程序
  • Racket运行程序的方法。

  • Racket创建可执行程序的方法。

puzzle拼图游戏源代码及本书源代码见https://gitee.com/onroadzy/puzzle。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值