fix. férovější výběr cíle u Tetrisu, odrážení odpadu
This commit is contained in:
5 files changed
+79
-17
No files matched your search
@@ -68,6 +68,31 @@ describe('tetris', () => {
|
||||
expect(ctx.garbage.map(g => g.lines)).toEqual([1, 2]);
|
||||
});
|
||||
|
||||
test('útok jde soupeři, který dostal nejméně odpadu', () => {
|
||||
const ctx = setup();
|
||||
ctx.startGame('alice', 'bob', 'carol', 'dave');
|
||||
ctx.game.cleared('alice', 4); // všichni 0 → první z nich (random = 0)
|
||||
ctx.clock.advance(MIN_ATTACK_GAP_MS);
|
||||
ctx.game.cleared('alice', 2);
|
||||
ctx.clock.advance(MIN_ATTACK_GAP_MS);
|
||||
ctx.game.cleared('alice', 3);
|
||||
ctx.game.cleared('bob', 2); // carol 1, dave 2, alice 0 → alice
|
||||
ctx.game.cleared('carol', 2); // alice 1, bob 4, dave 2 → alice
|
||||
expect(ctx.garbage.map(g => g.target)).toEqual(['bob', 'carol', 'dave', 'alice', 'alice']);
|
||||
});
|
||||
|
||||
test('odražený odpad zmenší útok, víc než tabulka poslat nejde', () => {
|
||||
const ctx = setup();
|
||||
ctx.startGame('alice', 'bob');
|
||||
ctx.game.cleared('alice', 4, 1);
|
||||
ctx.clock.advance(MIN_ATTACK_GAP_MS);
|
||||
ctx.game.cleared('alice', 2, 0); // vše odraženo → žádný útok
|
||||
ctx.game.cleared('alice', 2, 50);
|
||||
ctx.clock.advance(MIN_ATTACK_GAP_MS);
|
||||
ctx.game.cleared('alice', 3, -5);
|
||||
expect(ctx.garbage.map(g => g.lines)).toEqual([1, 1]);
|
||||
});
|
||||
|
||||
test('poslední hráč ve hře vyhrává', () => {
|
||||
const ctx = setup();
|
||||
ctx.startGame('alice', 'bob', 'carol');
|
||||
|
||||
Reference in new issue
Block a user