问题标签 [htdp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
user-interface - 如何使用 Lisp 制作 GUI:DrScheme 或 Common Lisp
或者创建 GUI 需要做的基本工作。我知道 GUI 的基本组件,但是从哪里开始。我只是一个自学的人,我正在阅读本书末尾的“如何设计程序”(HtDP),作者建议要成为一名程序员,需要具备GUI和CGI计算机网络的知识。最后两个的信息很容易找到。但似乎很少有书谈论如何创建 GUI。我想也许它在设计很少有人关心的计算机程序的过程中太“低”了。
scheme - 为什么我不能在函数体中进行两次 make 函数调用?
所以我正在阅读如何设计程序第二版的第一章。我相信我取得了不错的进步。但是有一个“建议”将另一个图形添加到网格中。每次我尝试都会出错。在这一点上,我被困住了。下面是代码和错误。
注意:ROCKET 图像在第 1 章中。我只是将它复制并粘贴到 IDE 中。
注意:“建议”是:如何改变程序,使火箭降落在比场景底部高 10 像素的平坦岩床上?也不要忘记改变风景。
这是有效的代码。
这是不起作用的代码:
我得到的错误是:
定义:函数体只需要一个表达式,但发现了 1 个额外的部分
scheme - HtDW 与 HtDP 有何关联?
因此,有一个与如何设计程序 (HtDP) 配套的 PDF,称为 How to Design Worlds (HtDW)。我想知道我必须阅读/知道多少 HtDP 才能开始阅读 HtDW?这两本书的章节是否有任何关联?
syntax - 为什么这是合法的(球拍)计划?
我正在通过htdp并在一开始的某个地方发现了这个:-
解释为什么以下句子是非法定义: 1. (define (f 'x) x)
但是,它在球拍中运行良好:
显然,我错过了一些东西......究竟是什么?
emacs - 用于模仿 Scribble 或 HTDP 示例代码示例的 Racket Emacs 模式?
我真的很喜欢如何设计程序中代码示例的语法突出显示和着色。例如:
http://www.htdp.org/2003-09-26/Book/curriculum-ZH-9.html#node_sec_6.5
有没有人有这样的东西作为 Emacs 主要模式编辑源代码的起点?
image - 如何更改球拍中的图像大小
我正在使用racket
并需要背景 bitmap
图片制作游戏。但是我选择的图像太大了。如何更改尺寸?是)我有的:
scheme - 这可以变成尾递归函数吗?
通过 HtDP 并遇到一个问题是:设计函数乘法。它消耗一个自然数 n 并将其与某个任意数 x 相乘,而不使用 *。
这就是我想出的:
它有效,但我认为这不是最好的解决方案。由于这可以作为 for 循环解决,根据我的理解,这应该是尾递归的。
scheme - What is ws in the big-bang function really representing?
I know that the first parameter is a number and it's the described as the world state. But that just seems like vague terminology to me. Basically I don't understand what this number is really/actually supposed to represent. Two examples I've seen so far are: "countdown mechanism" and "number of pixels to be moved". What exactly is it doing?
I am working Chapter 2 on HtDP (2nd Edition)
racket - 我应该如何创建图像的行和列?
首先,我正在浏览HtDP 第 2 版并使用BSL语言包。
我目前正在练习 131,这就是它所说的:
除此之外,我正在查看地点图像,但在如何执行此操作方面没有任何突出之处。这些函数不获取图像列表,而是获取单个图像。例如:(除了 rect1 rect2 rect3)而不是(除了(列表 rect1 rect2 rect3))。另外,如果我按照函数的定义方式进行定义,似乎我会在图像上重叠,因为函数本身是独立的。基本上我所说的重叠是在每一行的第一张图片上。
我不是在寻找答案(尽管如果你得到它,我会接受它),而是在正确方向上的暗示、标志、神圣干预。
scheme - 如何改进 Racket 中的这个辅助功能?
我正在使用 BSL 语言在 HtDP 第 4 章中工作。
我正在处理的问题是:
练习 136:如果你运行 main,按下空格键(开枪),然后等待很长一段时间,镜头从画布上消失。但是,当您关闭世界画布时,结果是仍然包含这个不可见镜头的世界。
设计一个替代的 tock 函数,它不仅在每个时钟周期移动一个像素,而且还消除了那些坐标将它们放在画布上方的镜头。提示:您可能希望考虑为递归 cond 子句设计一个辅助函数。
我想出的解决方案如下(在剧透中)。但是,我觉得我在做一些多余的事情。基本上我对辅助功能的应用不太正确。
更新:(
这比以前干净多了)
TESTS补充说:
我仍在进行测试。
添加了世界功能的测试: