« first day (1970 days earlier)      last day (1435 days later) » 
02:00 - 13:0013:00 - 00:00

02:02
@anythingg no tiene mucho sentido aprobar una edicion a una pregunta en ingles que no fue traducida y para colmo cerre... quien la edito solo va a perder esos puntos..
 
5 hours later…
07:14
Wenas
07:25
0
Q: c++ ,guardar objeto pila llamado craps

user218384Guarde en un objeto pila llamado Craps, cada uno de los jugadores, el estado de su juego (gana o pierde), con cuantos puntos ganó o perdió cada uno y, si fue en el primero tiro o con “punto del jugador”

Me da pereza hasta comentarle el "como preguntar"
Buenos días
Ya la contestó Mauricio XD
@MauricioContreras Gracias :-)
además eso de "llamado craps", me ha roto
XD
@abulafia la pregunta es crap
@abulafia has trabajado con la librería socket? (Python)
@MauricioContreras Sí, bastante
Tengo entre manos un código de un sistema cliente - servidor. El servidor muere luego de que un cliente se conecta. Yo generé un bucle para reiniciar el servidor después de una conexión, pero no me suena que sea eso lo correcto.
07:37
No, no tiene pinta
lo normal es que el servidor esté en un bucle infinito dentro del cual lo primero que hace es accept(), para esperar un cliente. Después típicamente entra en otro bucle en el que alterna recv() y send() para dar servicio a ese cliente, hasta que el cliente desconecte, en cuyo caso cierra su socket de datos y vuelve al inicio del bucle a esperar otro cliente
La idea es que el servidor esté disponible siempre que un cliente haga una petición. Pero como nunca he trabajado con esa librería, voy a ciegas. El código me lo pasaron as is para corregirlo.
@abulafia vale, creo que eso es lo que hice
while True:
  sd, origen = accept(socket_pasivo)
  dar_servicio_cliente(sd)
  sd.close()
Entonces, cuando el cliente vaya a hacer la petición, si el servidor está muerto, cómo la hace?
ERR_CONNECTION_REFUSED
sd sería el socket de datos. dar_servicio_cliente() retornaría cuando detecte que el cliente ha desconectado, por ejemplo. Aunque depende del protocolo que estés implementando
07:40
@Aaronibio el cliente intenta la conexion, si falla la reintenta. Tiene un número limitado de reintentos
el servidor detecta cuándo el cliente desconecta porque recv(sd) retorna una cadena vacía b""
pero no entiendo cuando se te muere el servidor. ¿Es justo tras el accept()? ¿O es cuando el cliente desconecta?
Vale, voy bien encaminado entonces. Pensé que eso de while True: era medio crazy
sospecho que sea lo segundo, y que puede ser debido a que el servidor no detectó correctamente que el cliente ya cerró el socket e intenta escribir en él una respuesta
@abulafia cuando desconecta. El código estaba así, se muere el servidor al desconectarse un cliente. Yo lo estoy refactorizando para que ello no suceda y ya lo tengo hecho. Al llegar a casa paso el código y lo miramos. Es que voy camino al depósito de chavalines a dejar al mío.
def dar_servicio_cliente(sd):
   # Implementación de "echo"
   while True:
     recibido = sd.recv(5000)
     if not recibido:     # Detectada desconexión del cliente
        return            # O break, como prefieras
     sd.send(recibido)
07:43
@MauricioContreras Como me gusta esa expresión: Depósito de chavalines xDD
Ten en cuenta que esta implementación es super simple y "tonta". Solo puede estar admitiendo a un cliente. Si otros intentan conectar quedarán a la cola del socket pasivo esperando ser aceptados. Hasta que el server no acaba con uno no se pone con otro
Quitando el propósito de escuela, pues es como un Bluespace para chavalines. El precio anual: la cuota del AFA/AMPA.
xDD
Mientras que no te cobren por retirarlo ... xD
una implementación más razonable usaría algún tipo de concurrencia para manejar varios clientes a la vez. Por ejemplo multihilo, o un bucle de eventos asíncrono
@abulafia eso digo yo. Pero quien lo está implementando es un NO Programador
Le digo concurrencia y flipa que no veas.
07:56
@MauricioContreras aaaaahhh vaalee
@MauricioContreras Versión asíncrona de servicor eco que soporta un número ilimitado de clientes concurrentes
import asyncio

async def dar_servicio(reader, writer):
    print("Cliente conectado!")
    while True:
        data = await reader.read(100)
        if not data:
            writer.close()
            print("Cliente desconectado!")
            return
        writer.write(data)
        await writer.drain()


async def main():
    server = await asyncio.start_server(dar_servicio, "0.0.0.0", 8989)
    async with server:
       await server.serve_forever()

asyncio.run(main())
Jo, creo que con eso tengo. Gracias
En esta implementación el bucle infinito "principal" (el que itera sobre accept()) está oculto en la llamada a serve_forever()
cuando se conecta un cliente, dentro de server_forever() se acepta su conexión y se almacena el socket de datos en una lista, que contiene todos los sockets de datos de todos los clientes que se hayan conectado hasta ese momento.
Cada vez que llega algo por alguno de esos sockets de datos, se ejecuta desde el bucle de eventos la función dar_servicio() pasándole un par de handles que están ligados al socket de datos por el que se acaba de recibir algo
así, esa función lee datos de ese socket y luego los escribe otra vez. Lectura y escritura son asíncronas para que el hilo no se bloquee, y el bucle de eventos pueda seguir aceptando clientes (u otras "instancias" de dar_servicio() puedan seguir atendiendo a sus respectivos sockets)
08:25
jelou
buenaas
Hoy vamos a empezar tempranito:
ninguna instancia de funci?n sobrecargada "std::basic_ostream<_CharT, _Traits>::operator<< [con _CharT=char, _Traits=std::char_traits<char>]" coincide con la lista de argumentos -- los tipos de argumento son: (std::__cxx11::string) -- el tipo de objeto es: std::ostream
Y el ostream::operator<<( const std::string & ) lleva ahí desde antes que yo aprendiera C++ O_o
@Aaronibio Cuando se usa setTimeout, el primer parámetro es la función a llamar, pero no quieres llamarla en ese momento, sólo se la pasas como una varable cualquiera
Ya vi tu comentario si, estoy mirando a ver
Como devolver todo a su cauce XD
a menos que esa función devuelva una función, nunca pones () dentro de un setTimeout
08:45
"Tengo un problema, me mandaron a practicar el ingreso de cadenas con las funciones strcat() y memset()" Ciertamente es un problema, si te mandaron practicar esas funciones mientras te enseñaban c++ el problema es que estás perdiendo el tiempo. — PaperBirdMaster 7 mins ago
Por desgracia es muy común ver escuelas y facultades donde lo que se les está explicando es C, pero usan C++ solamente para usar cin y cout evitándose así el uso de printf() y scanf() cuya sintaxis algunos profesores consideran demasiado confusa para el alumno
algunos profesores incuso han acuñado un jocoso término para este engendro: C++--
Yo viví el caso contrario, usaba cosas de C++ en mis prácticas pensando que era C
si no recuerdo mal, lo de pasar parámetros con * y ** (¿o era con &?) no era estrictamente C
Las escuelas van mas lentas que la programación
hace ya 15 años y no recuerdo bien, pero lo de cout nunca llegué a usarlo :P
es una lástima que entonces no existieran cosas github y todo se entregara en disquetes o email de la universidad, no tengo ninguna de mis prácticas
09:02
Buenas, tengo una duda de C. estoy tratando de hacer una función que copie los caracteres de s2 en s1 y añada un NULL al final y que devuelva la dirección de s1. He tratado lo siguiente, pero no se muestra la copia completa, sino los últimos caracteres
@Oscar Buenas. Para que alguien te diga algo, tendrá que ver el código :-)
char *copy(char *dest, char *src)
{
while (*dest++ = *src++)
*dest = 0;
return dest;
}
Normal, estás devolviendo el último valor contenido en dest, que se incrementa en el bucle
Necesitas otra variable
Además falta un punto y coma al final de la línea del while
@abulafia Cierto
09:10
@PabloLozano Te refieres a la declaración de un parámetro "por referencia"? Es decir, que el prototipo de la función diga algo como void suma(int a, int b, int &resultado) ?
eso es cosa de C++. En C no hay paso "por referencia". Lo que tienes, eso sí, es que un parámetro puede ser un puntero. En C pondrías void suma(int a, int b, int *resultado)
0
Q: Loteria Nacional (ESPAÑA) programacion en C

hmnkgrhfaewgnHoma bsoy nuevo en esta pagina; Dentro de unos dias tengo que entregar varios projectos para poder realizar el examen final , estoy haciendo los projectos pero hay uno que no lo se hacer , y preguntaba si alguno de los programadores que hay en esta pagina me lo podrian llegar a hacer el projecto ...

Por lo menos es educado xD
@abulafia Sí, creo que era eso
@Trauma Madre del amor hermoso. Es el fin de la civilización
Exagerao xD
La verdad es que hay dias que pienso que como especie estamos perdidos xD
captura de pantalla de un movil, haciendo una foto a un monitor donde se muestra un pdf. Y eso dejando ya de lado que está pidiendo que le hagan un proyecto!
creo que ha conseguido varias medallas con esa pregunta
09:14
Apunta maneras, el chaval. En alguna empresa de las grandes, llegará lejos xD
ESPERA QUE HAY MAS!
la pantalla que ha fotografiado tenía el texto en catalán y lo ha traducido con una app OCR automatizada!
(y el resultado deja bastante que desear)
¡¡¡ 😱😱😱😱😱😱😱😱😱😱😱😱😱😱😱😱😱😱 !!!
¡ Eso ya es el sumum absoluto !
ya te digo. Pregunta insuperable
Tengo que hacerle foto e imprimirla para enmarcarla antes de que se borre
Ha alcanzado la cima, creo. Si si, totalmente insuperable O_O
@abulafia ¡ HAHAHA !
Ahí tienes un futuro director de área, como mínimo xD
Si es que hasta el nombre de usuario denota desidia
09:18
XDDDDDDD
No me había fijado
¿ Porqué no está cerrada todavía ?
Vamos lentos cerrando cosas
Y encima PaperBirdMaster la edita para mejorar la redacción y le pide que no pegue fotos. ¿Pero se ha fijado en la foto? ¿Ha leido la pregunta?
@Trauma y el premio a la peor pregunta es para... hmnkgrhfaewgn!!!!!
por favor vaya al baño, deposite su premio y recojalo
@NicolasOñate Estrellita ;-)
Mis frases estrelladas andan en el limite de normativa del chat XD
09:30
Pero son 100% acertadas :-)
XD en la vida real normalmente cuando suelto alguna perla como esta me suelen mirar como a una persona sin escrúpulos porque lo digo a la cara, lo peor es que no me doy cuenta, la peor sin duda fue en un campamento que estaba, había 3 hermanos, se murió su abuela, 2 decidieron irse, 1 quedarse, en mi lógica binaria, hablando con ella se me ocurrió la gran idea de decir si ella se había quedado porque no la quería, me di cuenta de mi error en el momento que se puso a llorar
los padres tuvieron que dar la vuelta, estabamos a 600 km de casa y cuando ocurrió ya llevaban la mitad
@NicolasOñate Veo que lo tuyo no es la delicadeza, precisamente xD
@Trauma no... nunca he tenido filtro
09:46
¡¡ La Hostia En Verso !!
¡¡ Le ha explicado al Paper lo que hay que hacer !!
-3
Q: Loteria Nacional (ESPAÑA) programacion en C

hmnkgrhfaewgnDentro de unos días tengo que entregar varios proyectos para poder realizar el examen final , estoy haciendo los proyectos pero hay uno que no lo se hacer , y preguntaba si alguno de los programadores que hay en esta pagina me lo podrían llegar a hacer el proyecto que no se hacer. Muchas gracias ...

En los comentarios
@Trauma La que le está cayendo no? XD
Insuperable. Totalmente INSUPERABLE
No se podría hacer un apartado de "preguntas hall de la fama"?
o respuestas
Habría mas que de los normales xDD
Lo que más me llama a mi la atención,es que no ha tenido ni siquiera la poca decencia de poner una recompensa monetaria al que lo haga
(inserta broma ofensivamenete general de los catalanes)
09:52
Si hombre. Con lo fácil que es pedirlo gratis
@abulafia, duda. Estoy implementado tu ejemplo con asyncio, pero no sé si es culpa de la versión de Python que estoy usando (que es la que debe usarse en este proyecto particular, no me preguntes porqué) es la 3.6.9. Y me tira: AttributeError: module 'asyncio' has no attribute 'run'
@Aaronibio Fan de Noguera?
@Trauma Madre mía. Ha roto todos los niveles
@abulafia No tengo ni idea de quién es. Mas bien fan del humor negro y absurdo
Vale, es para Python 3.7 o superior. Debo hacerlo con Python 3.6. :V
@MauricioContreras Sí, eso del run es cosa de python 3.8 (o quizás 3.7?)
@MauricioContreras entonces la sintaxis es más fea
09:58
@abulafia Ok, creo que la alternativa es: loop = asyncio.get_event_loop() y luego: loop.run_until_complete(asyncio.wait(<lista de elementos>))
Ya veré como lo implemento. Thanks
la 3.6 tenía async/await?
La 3.6.9 lo tiene
Es la que trae ubuntu 18
Perdón, trae el módulo asyncio, así que supongo que soportará esa síntaxis
Hmmm, es que estoy mirando el ejemplo de servidor eco usando asyncio que viene en la propia documentación de Python 3.6 y no usa async/await en el ejemplo, sino yield from y mierdas de esas, pre-async/await
Voy a tratar de escribirlo con async/await y ver si traga
Sí, parece que funciona
import asyncio

async def dar_servicio(reader, writer):
    print("Cliente conectado!")
    while True:
        data = await reader.read(100)
        if not data:
            writer.close()
            print("Cliente desconectado!")
            return
        writer.write(data)
        await writer.drain()

loop = asyncio.get_event_loop()
coro = asyncio.start_server(dar_servicio, '127.0.0.1', 8888, loop=loop)
server = loop.run_until_complete(coro)
loop.run_forever()
@Trauma exacto. El tema es que el servidor se ejecutará en un Ubuntu Server 18.
probado con la 3.6.9
10:08
Eso. Gracias @abulafia y disculpa la joda.
El arranque del programa es feo de narices
@abulafia no necesita ser guapo, sólo funcional.
Hablando de guapo:
Para mi sí es un requisito que sea guapo. Si no, me cuesta mucho más entenderlo
me estaré volviendo sibarita
10:13
Acabo de crear el peor juego para mi mismo en js
Bueno, "juego"
Intenta dar clic al botón. Un listener al botón con mouseover, que le hace cambiar de posición. es imposible!
¡ Anda ! Esto si que no me lo esperaba ... ni se me ocurre como solucionarlo :-/
error: invalid conversion from 'int' to 'mtoutils::LogLevel'
@Aaronibio Etiqueta el botón como "El sentido de la vida"
... ummm ...
In instantiation of ?void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = mtoutils::MtoMemoryLog::LogEntry; _Args = {int&, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >}; _Tp = mtoutils::MtoMemoryLog::LogEntry]?
Y, sin embargo, esa clase no tiene ningun campo int, usa una enum:
LogLevel severity;
Osea, que al instanciar plantillas, promociona los enum al tipo int
Tampoco sirve usando enum class ... ¿ Un constructor que admita int ?
@abulafia Solo hay una manera de ganar, y es que el rng se ponga a tu favor y te lo genere justo encima de donde tienes el ratón. no es muy probable, pero me gustaría poder cambiar eso que ya me ha pasado XD
Vale, con un constructor que admita un int en lugar de la enum funciona. Curioso O_O
10:21
Los enum son int camuflados, no?
Sip
Pero si declaras una variable como de tipo enum, no te deja asignarle un entero directamente
Y mi variable es un enum
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from MtoMemoryLogTest
[ RUN      ] MtoMemoryLogTest.Log
./run: line 3:  4048 Segmentation fault
jejeje ... creo que no va fino aun xD
Hola nuevamente. Tengo otra duda. Estoy tratando de concatenar dos str usando memoria dinámica. El problema es que cuando invoco a la función esta me lanza nulo, sin embargo al imprimirla con printf localmente(dentro del propio main y no desde otro módulo) me concatena bien las string
tengo lo siguiente:
10:36
@Aaronibio Eso es un clásico, había un programa de coña en Windows 95 que te sacaba un "confirm" con el texto "El disco C: será formateado" con dos botones, Aceptar y Cancelar. Por supuesto, en cuando el ratón se ponía encima de Cancelar, la ventana intercambiaba los dos bonotes, para que sólo pudieras pulsar Aceptar
@PabloLozano Si, yo me acuerdo de minijuegos, de cuando era peque, algo parecido a eso
char *copy(char *str1, char *str2){
  int i = 0;
  char *str3 = malloc(strlen(str1) + strlen(str2) + 1);

  while(*str1){
      str3[i++]=*str1++;
  }
  while(*str2){
      str3[i++]=*str2++;
  }
  str3[i]='\0';

  printf("%s\n", str3);

  free(str3);

  return 0;
}
Por ejemplo, si introduzco hola y hola esto me devuelve:
cadena1: hola
cadena2: hola
concatenacion: holahola
cadenafinal: (null)
Chicos, no entiendo el error, he seguido la documentación y no me sale:
window.addEventListener("load", ()=>{
	var btn = document.querySelector('.joker');
	var x = document.body.onmousemove=posXmouse(event);
	console.log(x);
	var y = document.body.onmousemove=posYmouse(event);
	console.log(y);
	tryToClicBtn(btn, x, y);
});

function posXmouse(e){
	return e.clientX;
}

function posYmouse(e){
	return e.clientY;
}
e.clientX y e.clientY no obtienen el valor de las posiciones XY del ratón
@Oscar Ese código borra la cadena concatenada antes de salir, y siempre devuelve NULL
¿ Que se supone que espera que haga ? Hace exactamente lo que tú has programado xD
@Oscar No será que querías hacer return str3? Y naturalmente en ese caso sobra el free()
10:48
@Trauma si, el problema es que si invoco esa función desde otro módulo u función me devuelve el null. Por ejemplo:
return 0 es return NULL
NULL es solo un nombre optativo para 0
@abulafia Si, lo he hecho. Pero me lanza error si quito el free
quien te lanza el error? qué error?
@Oscar Eso no tiene sentido
En todo caso, te dará un warning de valor retornado por 'malloc( )' no usado no algo así
¿ En C se soportan los modificadores, como en C++ ? Tipo [[nodiscard]]
La verdad es que no lo se xD
@Trauma no tengo ni idea de qué es eso, así que asumo que es que no :)
11:03
Dan una especie de meta-información sobre funciones
[[nodiscard]] se usa, por ejemplo, en malloc( ). Te dice que el valor retornado no se puede descartar
No se si el compilador genera un error o un warning por ellos
@Trauma Y eso qué implica?
que no puedes poner una línea que diga simplemente malloc(10) ?
Correcto
Te daría warning, this call is marked with NODISCARD o algo así
y esa anotación dónde se pondría? en el prototipo de la función?
sip
void [[noreturn]] abort( );
void *[[nodiscard]] malloc( )
Vale, ya saqué los valores X e Y del ratón y solamente he conseguido empeorar el juego...
11:10
@Aaronibio El código para los eventos que has escrito ... realmente me cuesta entender qué quieres hacer
Lo cambio, mira
al menos por el código
window.addEventListener("load", ()=>{
	document.onmousemove = function(event){posMouse(event)};
});

function posMouse(e){
	var x = e.clientX;
	var y = e.clientY;
  	var btn = document.querySelector('.joker');

  	tryToClicBtn(btn, x, y);
}

function tryToClicBtn(btn, x, y){
	btn.addEventListener('mouseover', ()=>{

		var rngX = Math.random()*x;
		var rngY = Math.random()*y;

		btn.style.top= rngX+"px";
		btn.style.left= rngY+"px";
	});

	btn.addEventListener('click', ()=>{
		alert('Has hecho trampas');
@PabloLozano hombre, de funcionar a no funcionar XDDDD
11:11
el de la pregunta no funcionaba
Lo malo es que, aunque funcione, funciona mal, porque reposiciona el boton lejos, sino cerca
uf, y si lo pulsas....
quita ese on click de tryToclick
porque cada vez que pones el ratón sobre el botón, le añades un listener nuevo
con lo que me salen cientos de alerts
el caos es que NO quiero que se pulse XD
caso*
@PabloLozano Ya se a lo que te referías XD
Ya lo solucioné
window.addEventListener("load", ()=>{
	document.onmousemove = function(event){posMouse(event)};
	var btn = document.querySelector('.joker');
		btn.addEventListener('click', ()=>{
		alert('Has hecho trampas');
	})
});

function posMouse(e){
	var x = e.clientX;
	var y = e.clientY;
	var btn = document.querySelector('.joker');

  	tryToClicBtn(btn, x, y);
}
El caso es que me sigue dando el mismo por culo que antes...Porque el botón al estar en una posición XY muy pequeña, se reposiciona las primeras veces muy cerca, y es demasiado fácil darle clic porque es demasiado fácil que se reposicione encima
Si a los rng los pongo un *500, entonces se reposicionan a tomar vientos. Pero no es el caso. tendría que generar un área donde pudiera reposicionar, en plan, minimo 100px desde el ratón.
11:27
¡ Carajo !
Segmentation fault
¿¿ Que estoy haciendo mal aquí ??
namespace details {

template< typename T > inline void makeString( std::ostringstream &os, T arg ) {
    os << std::forward< T >( arg );
}

template< typename T, typename... ARGS > inline void makeString( std::ostringstream &os, T first, ARGS... args ) {
    os << std::forward< T >( first );
    makeString( os, std::forward< ARGS >( args )... );
}

} // namespace details.

template< typename... ARGS > inline std::string makeString( ARGS... args ) {
    std::ostringstream oss;

    details::makeString( oss, std::forward< ARGS >( args )... );
Me explota testarudamente ahí O_o
qué línea?
Ni idea :-(
pues gdb core
No me deja pasar línea a línea. Asco de optimizaciones :-(
Estoy recompilando en Debug, a ver si lo pillo
Vale, ya. A ver si ahora puedo ver algo O_O
Que asco. Sigue sin dejarme ver los argumentos variádicos :-((
Pero por lo menos puedo entrar en las plantillas simples
me fascinan estos monólogos tuyos
11:35
¿ Y eso ? xD
@abulafia Y a mi
Soy mi propio patito de goma xDD
sobre todo porque entiendo sólo la mitad, es algo arcano
A ver, no tengo a nadie con quién consultar estas cosas ... pues las expongo en público
a mi conseguir meter la palabra "variádicos" en una frase me parece ya un logro
11:36
xDDD
gana mucho al natural, con acento malagueño
@Trauma Oye, no te cortes, eh?
XDDDD
No no, si estaba a punto de continuar. Sabiendo que tengo expectadores, mola mas :-)
di que si @Trauma, yo hago lo mismo pregntando en el foro XD
Bueno, el makeString( ) de primer nivel a funcionado bien. Devuelve la cadena correcta ... en modo Debug
No descarto que explote en Release
11:38
típico heisenbug
un momento ... aquí pasa algo raro ... tengo this == nullptr
¿¿ Como va a ser this == nullptr ??
Si es un singleton
hablando de cuántica, algún ajedrecista en la sala? hace unos días subió Crespo (QuantumFracture) un vídeo sobre una modalidad "cuántica" del ajedrez
Yo ya soy rematadamente malo en la versión clásica de la física
No quiero ni imaginarmelo en versión cuántica
no, esto tiene más de ajedrez que de cuántica. De todas formas no me enteré de nada, pero parecía divertido
@abulafia Yo, pero ni zorra del cuantico
Eso si, me gustaría tener uno la verdad
Hace mucho que no machaco a mi mujer en el ajedrez XD
11:41
según creí entender, además de movimientos "normales" tienes movimientos "cuánticos" en los que una pieza se puede "desdoblar" e ir a dos casillas a la vez (ambas siguiendo las reglas de movimiento de esa pieza)
es como si el tablero se desdoblara en dos partidas
el problema es que cuando quieres usar una de las piezas desdobladas para "comer" a otra, entonces "colapsa", y con un generador aleatorio se decide si consigues o no la captura
Y no se aplica la indeterminación del peón? donde cuando dejar de mirarlo se ha comido al rey por casualidad?
si sale que no, es que esa pieza tuya "no estaba ahi", y colapsa por tanto a la otra posición desdoblada
@abulafia Eso mola muchísimo
el enrocamiento cuántico produce además entrelazamiento entre el rey y la torre
@abulafia Si muere uno muere el otro?
11:43
o sea, que una vez colapsa uno de los dos, el otro colapsa también consecuentemente
Por tanto, haces un jaque a la torre? es un suicidio eso entonces
no, no.. tú puedes enrocar corto o largo. En el cuántico haces ambos enroques a la vez
con lo que se te desdobla el rey y la torre
pero el rey del corto queda entrelazado con la torre del corto, y lo mismo con el largo
Por eso digo
asi que cuando colapse ya sea la torre o el rey, ambos colapsan "al corto" o "al largo"
Ah coño vale, ya lo entendí
Con el generador aleatorio no? si colapsa, es X posición y sino Y
11:46
el generador aleatorio dice "capturas" o "no capturas". y entra en juego cuando intentas hacer una captura a una pieza clásica con una pieza desdoblada
pero la verdad, no lo entendí todo bien. No sé si una pieza cuántica puede capturar a otra cuántica...
o si una clásica puede capturar a una cuántica, o si en ese caso también se usa el generador o cómo va
encima una desdoblada se puede desdoblar de nuevo, pero reduces las probabilidades a la mitad con cada desdoble
menudo follón
Luego echo un vistazo al vídeo, porque la verdad lo tengo en la lista de espera XD
No existe el jaque (si desdoblas el rey)
simplemente te intentarán comer una de las versiones desdobladas y si se consigue, se acabó la partida
Nada, que no lo pillo. Es como si el singleton no funcionara correctamente O_o
¡¡¡ MIERDAMIERDAMIERDAMIERDA !!!
¡¡¡ Se me pasó ponerle el static delante !!!
TONTOTONTOTONTO
1 Hora aquí perdida con esto ... cagontoloquesemena
@abulafia por tanto, sería un jaque, o al menos, una posibilidad. Si el rey está desdoblado, no tienes por qué moverlo por obligación porque hay un 50% se que te salga si o no, y por tanto, hay una probabilidad de salvación, por tanto no sería jaque directo, pero si lo sería porque si no la mueves y encones te comen el rey desdoblado y sale que si, es su posición real, está muerto, fin de partida
Jaque cuantico XD
@Trauma Cambiate a Python y olvidate de problemas.
11:55
no no, si en el fondo me lo paso bien :-)
@Trauma Tedrías que haber pedido en el foro que te hicieran el trabajo gratis tio
Lo que pasa es que, como diría mi cria, soy muy dramático :-)
Vale, ya encontré el problema del puñetero botón
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from MtoMemoryLogTest
[ RUN      ] MtoMemoryLogTest.Log
[       OK ] MtoMemoryLogTest.Log (0 ms)
[----------] 1 test from MtoMemoryLogTest (0 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (0 ms total)
[  PASSED  ] 1 test.
Asco de static :-(
Alguien conoce alguna API gratuita (para probar) para el envío de Whatsapps automáticos desde visual studio?
12:09
Solamente conozco whatsapp business, pero estarás hartisimo de encontrartelo como yo
@Fernando Pero si la encuentras por dios dimelo Xd
@Fernando no existe. Hay que pagar
habeis visto esto? :OOO
@lois6b Que maravilla macho
@Aaronibio pero esto lo hace?
12:20
@lois6b no lo entiendo...pero he ganado ya 3 combates XD
@Pikoh Pokemon Master
hahaha
@Fernando En teoría para eso es, pero no se si es de pago o no
@Aaronibio Te he "arreglado" lo del botón, a ver qué te parece
@PabloLozano lo estaba investigando ahora mismo hasta que me ha saltado la alarma del chat XD. Estaba mirando el getBoundingClientRect
Que no se lo que es
@Aaronibio Si, pero creo que solo para empresas grandes tipo booking
Si si, lo estaba leyendo, gracias
osea que entiendo que hace un cuadrado, y tu haces que se salga de ese cuadrado?
compruebo que la nueva posición del botón no coincida con el cursor del ratón
y si lo hace, lo vuelvo a mover
Maravilloso! Muchsísimas gracias
Ahora a buscarme otro ejercicio para practicas
12:40
No sé si te leiste lo de var, let, const...
veo que sigues usando var
pero se considera "old fashioned"
@PabloLozano poco a poco XD
¿ old fashioned ? ¿ Que fue del deprecated ?
No es lo mismo. Comer carne cruda está deprecated. Comerla asada pero con las manos es old fashioned
Joooeeeeeeeee
@Trauma y lo rica que está...?
12:46
El sibaritismo está llegando a niveles insospechados ya, por lo que veo O_O
Me duele la ceja de ser tan sibarita
pero aunque esté pasada de moda, no pasa nada por usarla no?
02:00 - 13:0013:00 - 00:00

« first day (1970 days earlier)      last day (1435 days later) »