Пікірлер
@Oscar-td5sl
@Oscar-td5sl Күн бұрын
Muy buen tutorial, ahora estoy trabajando en mi propio matamarcianos que espero poder enseñar pronto. Y por supuesto, con ganas de saber mas sobre Godot en C# ya sea con un proyecto nuevo o continuando con este agregándole mas funcionalidades. Ya está en su mano lo que le sea mas cómodo o inspirador. Un abrazo muy fuerte.
@magmasempai6441
@magmasempai6441 2 күн бұрын
Que buen tuturial, por favor has una serie de tuturiales juego de plataformas
@angeltrujillo426
@angeltrujillo426 2 күн бұрын
Hola Buen tutorial, pues me gustaria que siguieras puliendo mas el juego, un saludo
@kg3233og
@kg3233og 2 күн бұрын
bro, ayudame me manda error de compilación, se Python y voy a aprender pascal primero porque encontre un libro de mi madre que se llama Pascal Turbo Pascal,y segundo porque al ser compilado creo yo que me ayudara a entender otros como c++, aqui el error: compilation aborted (me paso algo muy similar con el c++)
@kg3233og
@kg3233og 2 күн бұрын
era porque puse " en ves de ' jajajaj.
@actionlight2102
@actionlight2102 5 күн бұрын
Como se hace para corregir un fallo tipográfico en una linea?gracias
@Nacho_Cabanes
@Nacho_Cabanes 4 күн бұрын
La forma larga es volver a teclear toda la línea para reemplazarla. Si la línea no es muy breve, resulta más práctico usar la orden EDIT para poder modificarla (por ejemplo: EDIT 20)
@actionlight2102
@actionlight2102 4 күн бұрын
​@@Nacho_Cabanesmuchas gracias nacho, estoy escribiendo un programa de revista en mi amistad cpc y voy por línea 87, en la 22 hay fallo y si subo cursor hacia arriba tras List, no aparecen las líneas superiores iniciales,en pantalla. Intenté con GOTO 22 pero modifico y no hace efecto Miraré con Edit, gracias, saludos!!
@angeltrujillo426
@angeltrujillo426 9 күн бұрын
Hola Buen tutorial, serie posible que hicieras un curso sobre C# desde cero, un saludo.
@Nacho_Cabanes
@Nacho_Cabanes 4 күн бұрын
Ya lo tienes, con más de 150 vídeos y más de 30 horas de duración, en esta lista de reproducción: kzbin.info/aero/PL0bfr51v6JJEvSoAnCNYHM9b-75JQSoad
@angeltrujillo426
@angeltrujillo426 9 күн бұрын
Hola Buen video, espero que despues de esto sigas con un juego en 3D, un saludo.
@Nacho_Cabanes
@Nacho_Cabanes 4 күн бұрын
Me parece buena idea. Aun así, quizá sea más razonable hacer antes un pequeño juego de plataformas en 2D, para ver cosas como la gravedad y el diseño de niveles, pero acepto sugerencias. ¿Qué tipo de juego te gustaría?
@cristianruiz6487
@cristianruiz6487 10 күн бұрын
Excelente lista de reproduccion, muchas gracias por compartir estos videos, me sirvieron para regularizar una materia de mi carrera de profesorado de secundaria en matematicas, ahora estoy preparandome para el examen final y me esta sirviendo nuevamente. Saludos desde Argentina.
@magmasempai6441
@magmasempai6441 16 күн бұрын
Muy útil , gracias
@sebastiantorres6985
@sebastiantorres6985 17 күн бұрын
program booleanos; var pares: boolean; par1, par2: integer; begin pares:=false; //inicializo previamente la variable boolean con el valor (falso) repeat //Bucle repeat-unitl por si el usuario ingresa numeros que no son pares write('Escribe el primer numero par: '); readln(par1); writeln; write('Escribe el segundo numero par: '); readln(par2); if (par1 mod par2 = 0) then pares:=true //Cambia de valor a (verdadero) cuando el resto de la división entre par1 y par2 sea 0 else writeln('Los numeros que ingresaste no son pares') until pares; //El ciclo culmina cuando ambos sean pares writeln('Los numeros ingresados son pares!'); end.
@Nacho_Cabanes
@Nacho_Cabanes 15 күн бұрын
Te acercas, pero con tu condición compruebas si uno es múltiplo del otro, no si son pares.
@cruzsandoval9071
@cruzsandoval9071 19 күн бұрын
Estimado amigo Nacho, he aprendido pascal y SQL en tu sitio web hace ya 7 años y me ha ayudado a automatizar muchas actividades en mi trabajo, desde reportes automatizados, procesos de carga de información a bases de datos hasta procesos ETL, interfaces para terminales 3270, sistemas interfazados con correo mediante COM,...ETC. gracias totales por tu dedicación y esfuerzo.
@Oscar-td5sl
@Oscar-td5sl Ай бұрын
Muy bueno como siempre, no se si entrará en tus planes pero quizás añadir algunos niveles para próximas entregas estaría bien
@Nacho_Cabanes
@Nacho_Cabanes 28 күн бұрын
Buena sugerencia. Antes nos queda hacer que nos disparen y mejoras adicionales como tener varias vidas y un fondo en movimiento, pero sí, es buena idea. Tanto el caso (sencillo) de "mayor dificultad" en cada nivel (mayor velocidad, menor tiempo entre disparos) como el caso de niveles con enemigos distintos y cuya lógica también pueda ser distinta. Me lo apunto.😉
@lucasbracamonte8239
@lucasbracamonte8239 Ай бұрын
Super recomendado está lista de reproducción.
@lucasbracamonte8239
@lucasbracamonte8239 Ай бұрын
Hola,gracias de agradezco por estos tutoriales me sirven de mucho.
@bobertg213sanimations3
@bobertg213sanimations3 Ай бұрын
Muchas gracias, esta informacion vale millones. la mayoria de tutoriales en monogame estan en ingles. me has salvado
@labacademia_jL
@labacademia_jL Ай бұрын
espectacular, muchísimas gracias!!
@gigatronicsgt7268
@gigatronicsgt7268 Ай бұрын
no me corre el programa ,, me sale al compialcion fallo todo el progfram esta ok no se porque no corre
@Nacho_Cabanes
@Nacho_Cabanes Ай бұрын
Los mensajes de error están para ayudarte. Mira en qué línea y columna te dice que está el error. Si aun así no lo encuentras, copia y pega aquí tu programa.
@markbiophysicist5935
@markbiophysicist5935 Ай бұрын
Hola, amigo. ¿te importa decirme cómo haces para indentar bloques de código por asignación de teclas? He probado en VS Enterprise 2022 y no hay manera de que funcione. Desconozco si hay que deshabilitar alguna de las configuraciones por defecto para conseguir que no se superpongan atajos. Supongo que debe haber alguna explicación lógica. 😰
@Nacho_Cabanes
@Nacho_Cabanes Ай бұрын
No acabo de entender la pregunta. Por una parte, Visual Studio suele "auto indentar" en cuanto ve que comienzas algún bloque (al abrir llaves, por ejemplo). Por otra parte, siempre está la alternativa de seleccionar todo un bloque de líneas y usar la tecla Tab o la combinación Mays+Tab para mover todo ese bloque a derecha o izquierda, respectivamente. ¿Te refieres a eso?
@vladimirmerilesvelasquez619
@vladimirmerilesvelasquez619 Ай бұрын
hola buenas, tus videos me ayudan muchísimo. eres un grande! podrías hacer un video de como hacer trampas con área 2d, por ejemplo un pincho en C#
@Oscar-td5sl
@Oscar-td5sl Ай бұрын
Una forma que se me ocurre es tratar las trampas como un enemigo, y que se active la animación cuando el jugador jugador colisione. A falta de una mejor solución, yo pondría 2 cajas de colisiones, una que activa la animación y otra que hace daño cuando la animación ha finalizado.
@Nacho_Cabanes
@Nacho_Cabanes Ай бұрын
Lo tienes en el siguiente video, en el 7 😉
@Oscar-td5sl
@Oscar-td5sl Ай бұрын
Muy buen video, he aprendido cosas nuevas y que me parecen mas optimas a como enseñaban en otros tutoriales. Gracias siempre por tu dedicación.
@Jaime-xd4mj
@Jaime-xd4mj Ай бұрын
Nacho, gracias por estas explicaciones tan claras. Suscrito.
@adrianjoselopezguzman4155
@adrianjoselopezguzman4155 Ай бұрын
agradecido, vídeos fáciles de entender y muy buenos. Solo me falta aprender como modificar los datos guardados y como eliminarlos
@NaniBlack-_-
@NaniBlack-_- Ай бұрын
Creo que el curso deberia ir como viene por defecto con Gdscript
@Nacho_Cabanes
@Nacho_Cabanes Ай бұрын
Es una opinión. Pero de GDscript hay mucho donde elegir, y además mis alumnos trabajan en C#, y se trata de que puedan aplicar sus conocimientos a algo "menos serio".
@Oscar-td5sl
@Oscar-td5sl Ай бұрын
Impaciente por los siguientes videos, y la verdad ojalá te animes a hacer mas "temporadas" donde toques el motor en mas profundidad con este lenguaje.
@Nacho_Cabanes
@Nacho_Cabanes Ай бұрын
Si hay interés y mi poco tiempo libre lo permite, puedes contar con ello 😊
@DeleteDCode74
@DeleteDCode74 Ай бұрын
Gracias maestro,recomiendas godot antes que unity??,se integra godot bien con c#??
@Nacho_Cabanes
@Nacho_Cabanes Ай бұрын
Para principiantes y aficionados, sí lo recomiendo. Para proyectos de mucha envergadura, todavía tiene más peso Unity. Además, como verás en la próxima entrega, Unity se integra mejor con C# que Godot.
@Oscar-td5sl
@Oscar-td5sl Ай бұрын
Tanto Unity como Godot son gratis(Unity con sus clausulas), lo mejor es que te descargues los dos y pruebes con cual te sientes mas cómodo, es engorroso si pero también es importante hacer estos trabajos de investigación. No por tener un mejor motor vas a ser mejores juegos, eso depende de cada uno.
@desoft8b
@desoft8b Ай бұрын
Pero no instalaste nada del entorno .NET este ni nada? no es necesario?
@Nacho_Cabanes
@Nacho_Cabanes Ай бұрын
No debería hacer falta. Pronto lo usaremos junto con Visual Studio, para tener un entorno más cómodo, pero debería funcionar tal cual.
@aaroncol6165
@aaroncol6165 Ай бұрын
Saludos desde Venezuela Nacho, estoy cursando Ingeniería de Sistemas y toda la facultad de Ingeniería de Sistemas vemos tus videos para aprender programación. Este es mi código del ejercicio que planteaste: program AmbosPares; var n1, n2: integer; ambosPares: boolean; begin writeln('Dime un numero'); readln(n1); writeln('Dime otro numero'); readln(n2); ambosPares:= (n1 mod 2 = 0) and (n2 mod 2 = 0) = true; if ambosPares then writeln('Ambos numeros son pares') else writeln('Ambos numeros son impares'); ambosPares:= false; end.
@Nacho_Cabanes
@Nacho_Cabanes Ай бұрын
Se acerca mucho, pero realmente no necesitas los " = true" cuando das valor a un booleano a partir de una comparación. En casi cualquier lenguaje moderno bastará con algo como: "ambosPares := (n1 mod 2 = 0) and (n2 mod 2 = 0);"
@aaroncol6165
@aaroncol6165 Ай бұрын
@@Nacho_Cabanes Vale muchas gracias por la corrección Nacho
@sebastian.gallego
@sebastian.gallego Ай бұрын
Muy buen video, esperando mas contenido !!!
@Oscar-td5sl
@Oscar-td5sl Ай бұрын
Genial video. Es bueno que se le de mas importancia a Godot con C#, que está un poco ninguneado. Espero mas entregas suyas.
@coyotico20
@coyotico20 Ай бұрын
Profesor, Qué alegría volver a verle por acá.
@LuisDiaz-uu7xg
@LuisDiaz-uu7xg 2 ай бұрын
Hola Nacho tu juego del ahorcado C# lo estoy probando hacer con CPC basic... Pero hay algo que no me sale me ayudas ? 10 dim p$(4):dim ver$(30) 20 cls:border 4:mode 2 21 p$(0)="La grande vadrouille" 22 p$(1)="Batman" 23 p$(2)="Le grand bleu" 24 p$(3)="Le cercle des poetes disparus" 25 p$(4)="Fast and furious" 26 RANDOMIZE TIME 30 peli$=p$(rnd*4) 31 ver$=peli$:nbr=len(ver$) 32 for i=1 to nbr 33 if ver$(i)=" " then print " "; else print "-"; 34 next i 40 print peli$ 50 input"Press any key to redo";a$ 60 goto 20 Es esto que no va 33 if ver$(i)=" " then print " "; else print "-";
@Nacho_Cabanes
@Nacho_Cabanes Ай бұрын
Sobra el ";" antes de "else". Quizá te interese renumera esas líneas (con la orden RENUM) o dentro de poco te costará insertar órdenes intermedias, si lo llegas a necesitar.
@LuisDiaz-uu7xg
@LuisDiaz-uu7xg Ай бұрын
@@Nacho_Cabanes Nacho, ya esta.. ya funciona casi bien.. voy a seguir. Gracias
@Yasmin-dy3uk
@Yasmin-dy3uk 2 ай бұрын
Voy a empezar a aprender esto por simple curiosidad, mi mamá tiene un libro y lo encontré me emocioné demasiado, es Pascal turbo Pascal, ya se python así que creo que no se me dificultará.
@yomisionero
@yomisionero 2 ай бұрын
Pregunta. Esta explicación es sólo válida para SQL, también trabajamos las 3 relaciones de existencia de la misma manera en Access. Tenía entendido que una relación 1.1 siempre una clave principal viajaba como ajena, la que tú quieras, y listo. Pero claro, eso en Access. Viendo lo que has comentado aquí, no sé si es que Access es más sencillito, o que sólo he aplicado el caso de 1º restricción de asistencia, o que directamente sólo en SQL se aplican estas cuestiones. Gracias por la respuesta.
@Nacho_Cabanes
@Nacho_Cabanes Ай бұрын
Lo que yo cuento son conceptos generales, aplicables a cualquier gestor de bases de datos. Lo importante es qué tipo de relación 1:1 estás planteando (sin existencia, una existencia o doble existencia). En cualquier caso, prueba a introducir datos y ver si realmente cumplen esas restricciones, porque quizá te lo hayan explicado de una manera alternativa que también sea válida.
@yomisionero
@yomisionero 2 ай бұрын
Quería darte las gracias. Muy buena labor docente.
@K4rv3r
@K4rv3r 2 ай бұрын
Esto es oro puro Nacho, muchas gracias
@AngelProfesor
@AngelProfesor 2 ай бұрын
Hola. ¿Por qué en el primer ejemplo del matrimonio un rombo está relleno y el otro medio relleno? ¿Es alguna notación que usas o ha sido algo arbitrario y no tiene ninguna importanticia?
@Nacho_Cabanes
@Nacho_Cabanes Ай бұрын
Es una notación alternativa para una relación "uno a muchos", menos habitual que otras pero muy expresiva. La zona sombreada indica el lado del "muchos".
@RTLINK-developer
@RTLINK-developer 2 ай бұрын
Muchas gracias por lo que haces,me suscribo a tu canal
@ZaTuRsSsS
@ZaTuRsSsS 2 ай бұрын
Yo la verdad aun sigo sin entenderlo, no soy programador, pero si me gustaria aprenderlo.
@Nacho_Cabanes
@Nacho_Cabanes 2 ай бұрын
Pues para eso sólo hace falta dedicarle tiempo. Este curso dura más de 30 horas. Si lo sigues de principio a fin, puedes aprender mucho. Si quieres algo más breve (pero, obviamente, menos exhaustivo), tengo una versión compacta, de 2 horas, que puedes encontrar aquí: www.udemy.com/course/lo-basico-de-csharp/
@josev98
@josev98 2 ай бұрын
buenas noches ud puede poner el link de descarga pascal para pc.. gracias
@Nacho_Cabanes
@Nacho_Cabanes 2 ай бұрын
Claro! El compilador se llama Free Pascal y la descarga para Windows y para otros sistemas operativos está en su web oficial : www.freepascal.org/download.html
@LuisDiaz-uu7xg
@LuisDiaz-uu7xg 2 ай бұрын
Hola Nacho molan mucho tus videos. que te parece BlitzBasic? haras un curso sobre hacer juegos con BLitz?
@Nacho_Cabanes
@Nacho_Cabanes 2 ай бұрын
Me lo anoto. No he usado Blitz, pero espero que no me costaría mucho hacerme con su manejo básico. Lo que pasa es que tendrá que esperar un poco, porque ahora mismo tengo que terminar el de C (cosa que ocurrirá pronto, estoy preparando ya los contenidos que faltan), y luego quiero crear una versión actualizada del de Godot con C#, para mis alumnos de este año.
@LuisDiaz-uu7xg
@LuisDiaz-uu7xg 2 ай бұрын
​@@Nacho_Cabanes chulo Muchas gracias
@IanCardoso666
@IanCardoso666 2 ай бұрын
Bien! No entendía la representación de la agregación, simplemente se envuelve en un rectángulo todo el conjunto para "agregarlo" a ese conjunto. Luego, podemos tratar toda la agregación como un conjunto
@Nacho_Cabanes
@Nacho_Cabanes 2 ай бұрын
Efectivamente, así es. Aún así, es algo que se utiliza en pocas ocasiones.
@NestorMonsalve18
@NestorMonsalve18 3 ай бұрын
Si quieren mas bibliotecas agrueguen crt
@NestorMonsalve18
@NestorMonsalve18 3 ай бұрын
Extrairdinario
@NestorMonsalve18
@NestorMonsalve18 3 ай бұрын
Genial esto es mas facil para luego ir a Cc+
@benjaminlopezvidarte3746
@benjaminlopezvidarte3746 3 ай бұрын
Genioo muy buenoo, nuevo sub
@exitod9401
@exitod9401 3 ай бұрын
gracias me sirvio
@daniloalvarez6181
@daniloalvarez6181 3 ай бұрын
Muuuchas gracias! Like y suscrito
@MANGONDRAS
@MANGONDRAS 3 ай бұрын
MI MEGA PROPUESTA: program MediaDeBloques; const Bloques = 2; Datos = 10; var Numeros:array[1..Bloques,1..Datos] of real; suma,media:Real; nombrebloque,opcion,dato,bloque:Integer; begin for bloque:= 1 to Bloques do for dato:= 1 to Datos do begin Write('Dato ', dato,' del bloque ', bloque,':'); ReadLn(Numeros[bloque,dato]); end; repeat suma:= 0; media:=0; WriteLn(); WriteLn('¿A cuales numeros les quieres sacar la media?'); WriteLn('Escribe el numero del bloque o "0" para todos los bloques'); WriteLn('si quieres terminar escribe "-1"'); ReadLn(opcion); WriteLn(); if opcion = 0 then begin for bloque:= 1 to Bloques do for dato:= 1 to Datos do suma := suma + Numeros[bloque,dato]; media := suma / (datos*bloques); WriteLn('La media de todos los bloques es: ', media); end; for bloque:= 1 to Bloques do begin if opcion = bloque then begin nombrebloque := bloque; for dato:= 1 to Datos do suma := suma + Numeros[bloque,dato]; media := suma / Datos; WriteLn('La media del bloque ',nombrebloque,' es: ',media); end; end; until opcion = -1 end.
@MANGONDRAS
@MANGONDRAS 3 ай бұрын
AQUI MI PROPUESTA program MenuDeDatos; const DatosTotales = 10; var Datos,Datos2: array [1..DatosTotales] of integer; Auxiliar,W,Mov,M:Integer; DatoEcontrado: Boolean ; begin for M:= 1 to DatosTotales do begin Write('Escribe el dato ', M,': '); ReadLn(datos[M]); datos2[M] := datos[M] end; WriteLn(); repeat WriteLn(); WriteLn('¿Que haras con la lista de datos?'); WriteLn('1- Mostrar lista'); WriteLn('2- Buscar dato en concreto'); WriteLn('3- Mostrar el dato mas grande'); WriteLn('4- Ordenar lista de datos'); WriteLn('5- Nada, salir'); ReadLn(Mov); WriteLn(); Case Mov of 1: begin WriteLn('lista de datos'); for M := 1 to DatosTotales do begin datos[M] := datos2[M]; Write(datos[M],' '); end; WriteLn(); end; 2: begin WriteLn('escribe el dato a buscar'); DatoEcontrado := false; repeat for M:= 1 to DatosTotales do datos[M] := datos2[M]; readln(W); DatoEcontrado := (W >0) and (W <= DatosTotales); if not DatoEcontrado then WriteLn('Dato no econtrado'); until DatoEcontrado; WriteLn('Este es el dato: ', datos[W]); end; 3: begin Auxiliar := datos[1]; WriteLn('Este es el dato mas grande'); for M:= 1 to DatosTotales do if Auxiliar < datos[M] then Auxiliar := datos[M]; WriteLn(Auxiliar); end; 4: begin WriteLn('Este es el orden de los datos de menor a mayor'); for M:= 1 to DatosTotales-1 do for W:= M+1 to DatosTotales do begin if datos[M] > datos[W] then begin Auxiliar := datos[M]; datos[M] := datos[W]; datos[W] := Auxiliar; end; end; for M:= 1 to DatosTotales do WriteLn(datos[M]); end; end; until Mov = 5; end.
@MauroStegmayer
@MauroStegmayer 3 ай бұрын
como se llama el lenguaje?
@Nacho_Cabanes
@Nacho_Cabanes 3 ай бұрын
Te he contestado ya en el video 13, pero lo hago aquí también. Es "Pascal". Lo pone tanto en el título del video como en la descripción.