本文整理汇总了TypeScript中Imports/Core/Arrays.Array2D.get方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Array2D.get方法的具体用法?TypeScript Array2D.get怎么用?TypeScript Array2D.get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Imports/Core/Arrays.Array2D
的用法示例。
在下文中一共展示了Array2D.get方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: Array2D
QUnit.test(name("Overlapping birth"), assert => {
const t = GameOfLifeTransformer.create([], [0]);
const w = new Array2D(3, 4, false);
const nextWorld = new Array2D(3, 4, false);
t.transform(w, nextWorld);
assert.strictEqual(nextWorld.get(1, 2), true);
assert.strictEqual(nextWorld.get(1, 3), true);
});
示例2: checkInt
fillRect: (x, y, w, h) => {
checkInt("x", x);
checkInt("y", y);
assert.ok(x >= 0);
assert.ok(y >= 0);
assert.strictEqual(w, pointSize);
assert.strictEqual(h, pointSize);
const row = Math.floor(y / pointSize);
const column = Math.floor(x / pointSize);
assert.ok(world.get(row, column));
world.set(row, column, false);
}
示例3: render
render(world: Array2D<T>) {
checkDefinedAndNotNull("world", world);
this.context.clearRect(0, 0,
world.width * this.pointSize, world.height * this.pointSize);
for (let row = 0; row < world.height; row++) {
for (let column = 0; column < world.width; column++) {
if (world.get(row, column)) {
this.context.fillRect(column * this.pointSize, row * this.pointSize,
this.pointSize, this.pointSize);
}
}
}
}
示例4: TestContext
QUnit.test(name("ContextCallSequence"), assert => {
// PREPARE
const context = new TestContext();
const pointSize = 4;
const renderer = RectRenderer.create(context, pointSize);
const width = 5;
const height = 3;
const world = new Array2D(height, width, false);
world.set(0, 0, true);
world.set(0, 1, false);
world.set(0, 2, true);
world.set(0, 3, false);
world.set(0, 4, true);
world.set(1, 0, false);
world.set(1, 1, true);
world.set(1, 2, false);
world.set(1, 3, true);
world.set(1, 4, false);
world.set(2, 0, true);
world.set(2, 1, false);
world.set(2, 2, true);
world.set(2, 3, false);
world.set(2, 4, true);
// ACT
renderer.render(world);
// ASSERT
// The first call must be clearRect with the proper parameters:
assert.ok(context.calls[0].match({
clearRect: (x, y, w, h) => x === 0 && y === 0 &&
w === width * pointSize && h === height * pointSize,
fillRect: () => false
}));
// The subsequent calls must be fillRects with proper parameters.
// In particular, each fillRect call must correspond to coordinates
// where "world" is true, and no such coordinates must occur twice:
for (let i = 1; i < context.calls.length; i++) {
context.calls[i].match({
clearRect: () => assert.ok(false),
fillRect: (x, y, w, h) => {
checkInt("x", x);
checkInt("y", y);
assert.ok(x >= 0);
assert.ok(y >= 0);
assert.strictEqual(w, pointSize);
assert.strictEqual(h, pointSize);
const row = Math.floor(y / pointSize);
const column = Math.floor(x / pointSize);
assert.ok(world.get(row, column));
world.set(row, column, false);
}
});
}
// The calls to fillRect must exhaust all coordinates where world is true:
for (let row = 0; row < height; row++) {
for (let column = 0; column < width; column++) {
assert.strictEqual(world.get(row, column), false);
}
}
});