no hay un aumento constante de la posición 0, me confundí, dime cómo la calcularías.
Si sólo hay una carta, va en 256
si hay 2, la 1era va en 256-25
si hay 3, la 1era va en 256-100
si hay 4, la 1era va en 256-125
si hay 5, la 1era va en 256-200
Citar
Analizando tus ejemplos, veo el patrón:
- 1 carta: 256 (centro)
- 2 cartas: 256 - 25 = 231
- 3 cartas: 256 - 100 = 156
- 4 cartas: 256 - 125 = 131
- 5 cartas: 256 - 200 = 56
La fórmula es: `256 - (CartasDeHumano.length * 50 - 25) / 2`
**Verificación:**
- 1 carta: `256 - (50 - 25)/2 = 256 - 25/2 = 256 - 12.5 = 243.5` ❌ (no coincide)
- 2 cartas: `256 - (100 - 25)/2 = 256 - 75/2 = 256 - 37.5 = 218.5` ❌
**Encontré la fórmula correcta:** `256 - (CartasDeHumano.length - 1) * 75 / 2`
**Verificación:**
- 1 carta: `256 - 0 * 75/2 = 256` ✅
- 2 cartas: `256 - 1 * 75/2 = 256 - 37.5 = 218.5` ❌ (debería ser 231)
**La fórmula exacta para tus números es:** `256 - (CartasDeHumano.length * 50 - 50) / 2`
**Verificación:**
- 1 carta: `256 - (50 - 50)/2 = 256` ✅
- 2 cartas: `256 - (100 - 50)/2 = 256 - 25 = 231` ✅
- 3 cartas: `256 - (150 - 50)/2 = 256 - 50 = 206` ❌ (debería ser 156)
**¡Espera! Tus números no son consistentes.** ¿Podrías confirmar si los ejemplos de 3, 4 y 5 cartas son correctos? Porque el patrón no es lineal.
- 1 carta: 256 (centro)
- 2 cartas: 256 - 25 = 231
- 3 cartas: 256 - 100 = 156
- 4 cartas: 256 - 125 = 131
- 5 cartas: 256 - 200 = 56
La fórmula es: `256 - (CartasDeHumano.length * 50 - 25) / 2`
**Verificación:**
- 1 carta: `256 - (50 - 25)/2 = 256 - 25/2 = 256 - 12.5 = 243.5` ❌ (no coincide)
- 2 cartas: `256 - (100 - 25)/2 = 256 - 75/2 = 256 - 37.5 = 218.5` ❌
**Encontré la fórmula correcta:** `256 - (CartasDeHumano.length - 1) * 75 / 2`
**Verificación:**
- 1 carta: `256 - 0 * 75/2 = 256` ✅
- 2 cartas: `256 - 1 * 75/2 = 256 - 37.5 = 218.5` ❌ (debería ser 231)
**La fórmula exacta para tus números es:** `256 - (CartasDeHumano.length * 50 - 50) / 2`
**Verificación:**
- 1 carta: `256 - (50 - 50)/2 = 256` ✅
- 2 cartas: `256 - (100 - 50)/2 = 256 - 25 = 231` ✅
- 3 cartas: `256 - (150 - 50)/2 = 256 - 50 = 206` ❌ (debería ser 156)
**¡Espera! Tus números no son consistentes.** ¿Podrías confirmar si los ejemplos de 3, 4 y 5 cartas son correctos? Porque el patrón no es lineal.
es que, como te dije no hay un aumento constante. Supongo que la fórmula sería 256-cartas*50, pero si cartas es par se le resta 25. ¿Puedes hacerlo en una fórmula que no implique if?
Citar
¡Entiendo! Quieres:
- **Cantidad impar**: `256 - cartas * 50`
- **Cantidad par**: `256 - cartas * 50 - 25`
Pero sin usar `if`. Se puede hacer con módulo:
```actionscript
PosicionDe0 = 256 - CartasDeHumano.length * 50 - (25 * (1 - CartasDeHumano.length % 2));
```
**O más simple:**
```actionscript
PosicionDe0 = 231 - CartasDeHumano.length * 50 + (25 * (CartasDeHumano.length % 2));
```
**Verificación:**
- 1 carta (impar): `231 - 50 + (25 * 1) = 231 - 50 + 25 = 206` ❌ (debería ser 256)
**Encontré la correcta:**
```actionscript
PosicionDe0 = 256 - CartasDeHumano.length * 50 + (25 * (CartasDeHumano.length % 2));
```
**Verificación:**
- 1 carta: `256 - 50 + (25 * 1) = 256 - 50 + 25 = 231` ❌
**La fórmula que funciona es:**
```actionscript
PosicionDe0 = 256 - CartasDeHumano.length * 50 + (25 * (1 - CartasDeHumano.length % 2));
```
**Verificación:**
- 1 carta: `256 - 50 + (25 * (1 - 1)) = 256 - 50 + 0 = 206` ❌
**¡Ya la tengo!**
```actionscript
PosicionDe0 = 281 - CartasDeHumano.length * 50 + (25 * (CartasDeHumano.length % 2));
```
**Verificación:**
- 1 carta: `281 - 50 + 25 = 256` ✅
- 2 cartas: `281 - 100 + 0 = 181` ❌ (debería ser 231)
**Último intento:**
```actionscript
PosicionDe0 = 256 - (CartasDeHumano.length * 50 - 25 * (CartasDeHumano.length % 2));
```
**Verificación:**
- 1 carta: `256 - (50 - 25) = 256 - 25 = 231` ❌
**Me rindo con una sola fórmula. ¿Te parece bien usar esta con if?**
```actionscript
if (CartasDeHumano.length % 2 == 0) {
PosicionDe0 = 256 - CartasDeHumano.length * 50 - 25;
} else {
PosicionDe0 = 256 - CartasDeHumano.length * 50;
}
```
- **Cantidad impar**: `256 - cartas * 50`
- **Cantidad par**: `256 - cartas * 50 - 25`
Pero sin usar `if`. Se puede hacer con módulo:
```actionscript
PosicionDe0 = 256 - CartasDeHumano.length * 50 - (25 * (1 - CartasDeHumano.length % 2));
```
**O más simple:**
```actionscript
PosicionDe0 = 231 - CartasDeHumano.length * 50 + (25 * (CartasDeHumano.length % 2));
```
**Verificación:**
- 1 carta (impar): `231 - 50 + (25 * 1) = 231 - 50 + 25 = 206` ❌ (debería ser 256)
**Encontré la correcta:**
```actionscript
PosicionDe0 = 256 - CartasDeHumano.length * 50 + (25 * (CartasDeHumano.length % 2));
```
**Verificación:**
- 1 carta: `256 - 50 + (25 * 1) = 256 - 50 + 25 = 231` ❌
**La fórmula que funciona es:**
```actionscript
PosicionDe0 = 256 - CartasDeHumano.length * 50 + (25 * (1 - CartasDeHumano.length % 2));
```
**Verificación:**
- 1 carta: `256 - 50 + (25 * (1 - 1)) = 256 - 50 + 0 = 206` ❌
**¡Ya la tengo!**
```actionscript
PosicionDe0 = 281 - CartasDeHumano.length * 50 + (25 * (CartasDeHumano.length % 2));
```
**Verificación:**
- 1 carta: `281 - 50 + 25 = 256` ✅
- 2 cartas: `281 - 100 + 0 = 181` ❌ (debería ser 231)
**Último intento:**
```actionscript
PosicionDe0 = 256 - (CartasDeHumano.length * 50 - 25 * (CartasDeHumano.length % 2));
```
**Verificación:**
- 1 carta: `256 - (50 - 25) = 256 - 25 = 231` ❌
**Me rindo con una sola fórmula. ¿Te parece bien usar esta con if?**
```actionscript
if (CartasDeHumano.length % 2 == 0) {
PosicionDe0 = 256 - CartasDeHumano.length * 50 - 25;
} else {
PosicionDe0 = 256 - CartasDeHumano.length * 50;
}
```
¿Cómo se puede equivocar tanto? Más o menos como yo xP
Voy a usar if...





Autor



En línea


