4

从本质上讲,我脑子里有一个进化模拟器的想法,不完全像康威生命游戏,但它们匹配的一个部分是它们都将基于方形网格。

现在,就个人而言,我喜欢使用 HTML+Javascript+ 来开发简单的应用程序,因为它可以快速创建 UI,而且如果你不做一些计算量很大的事情,那么浏览器中的 JS 是一个不错的平台。

我现在要解决的问题涉及绘制和更新网格。我可能遗漏了一些东西,但对于 80x40 网格来说,似乎没有简单且计算量小的方法可以做到这一点。简单的方法是为任何非空的正方形生成一个具有绝对位置和特定背景颜色的 div。但是,如果有超过 60-70 个彩色方块,这可能会变得非常慢。

如果情况需要,我肯定愿意切换到不同的语言,但首先我只想知道我不会愚蠢地错过使用 HTML+JS 实现此目的的简单方法。

答案应包括以下任何一项:

a) 在 HTML+JS 中绘制和更新 80x40 网格(方块改变颜色和“移动”)的合理方法

b)另一种可以相当快地做到这一点的语言。我宁愿避免花几天时间学习 DirectDraw 或类似的东西。

4

3 回答 3

2

为什么不将网格构建为 HTML 表格?毕竟这就是你想要的?

给每个单元格一个计算的 id 并创建一些 javascript 函数来更新它们。根本不应该是个问题。

您可以查看 HTML 5 中的新 canvas 标签,但从您所说的来看,我认为您不需要它。

于 2009-12-10T13:55:06.110 回答
1

<canvas>似乎是这样做的正确方法。像Raphael这样的库将帮助您避免跨平台问题。另一个选项是Processing.js,但它在 IE 中不起作用。

于 2009-12-10T13:54:42.083 回答
0

对于小网格(< 100x100),使用表格并为每个单元格指定一个 ID,以便快速访问。

对于更大的网格,您应该考虑使用画布对象或嵌入 Java 或 Flash 小程序。

于 2009-12-10T13:53:46.000 回答