diff --git a/leaky-ships/components/Gamefield.tsx b/leaky-ships/components/Gamefield.tsx
index a1110d8..8c3d328 100644
--- a/leaky-ships/components/Gamefield.tsx
+++ b/leaky-ships/components/Gamefield.tsx
@@ -1,5 +1,3 @@
-import { faCrosshairs } from '@fortawesome/free-solid-svg-icons';
-import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { CSSProperties, useEffect, useReducer, useState } from 'react';
import Bluetooth from './Bluetooth';
import BorderTiles from './BorderTiles';
@@ -21,13 +19,14 @@ function Gamefield() {
useEffect(() => {
const { newX, newY, shouldShow, appearOK, eventReady, show, x, y } = targetPreview;
const positionChange = !(x === newX && y === newY);
+ const alreadyTargeting = target.show && target.x === targetPreview.newX && target.y === targetPreview.newY
// if not ready or no new position
if (!eventReady || (!positionChange && show))
return;
if (show) {
// hide preview to change position when hidden
setTargetPreview(e => ({ ...e, appearOK: false, eventReady: false, show: false }));
- } else if (shouldShow && appearOK && !isHit(hits, newX, newY).length) {
+ } else if (shouldShow && appearOK && !isHit(hits, newX, newY).length && !alreadyTargeting) {
// BUT only appear again if it's supposed to (in case the mouse left over the edge) and ()
setTargetPreview(e => ({ ...e, appearOK: false, eventReady: false, show: true, x: newX, y: newY }));
}
@@ -102,10 +101,10 @@ function Gamefield() {
{/* Fog images */}
{/*
diff --git a/leaky-ships/components/Ships.tsx b/leaky-ships/components/Ships.tsx index 11513b2..9eb2f58 100644 --- a/leaky-ships/components/Ships.tsx +++ b/leaky-ships/components/Ships.tsx @@ -1,19 +1,24 @@ -import Image from 'next/image'; import { CSSProperties } from 'react' function Ships() { - let shipIndexes: number[] = []; - - for (let i = 1; i <= 6; i++) { - shipIndexes.push(i); - } + let shipIndexes = [ + { size: 2, index: null }, + { size: 3, index: 1 }, + { size: 3, index: 2 }, + { size: 3, index: 3 }, + { size: 4, index: 1 }, + { size: 4, index: 2 } + ]; return <> - {shipIndexes.map(i => -