Hola, como muchos otros me he pasado a las NFlib de PAlib, y me ha surgido una duda de una función que usaba con PAlib pero que no sé como será con NFlib. La función en cuestión es: PA_RandMinMax (o algo por el estilo :P), y sirve para sacar un número al azar entre dos números. Mi pregunta es la siguiente: ¿cómo es esta función en NFlib? o ¿cómo hago para usar una función como esta en NFlib?
Espero que me podais ayudar.
Salu2.
Gracias por la firma The Dark Master
Por si te sirve de ayuda.
Toma esto, es del codigo de Palib:
extern inline u32 PA_Rand(void) {
u32 lo, hi;
lo = 16807 * (RandomValue & 0xFFFF);
hi = 16807 * (RandomValue >> 16);
lo += (hi & 0x7FFF) << 16;
lo += hi >> 15;
if (lo > 0x7FFFFFFF)
lo -= 0x7FFFFFFF;
RandomValue = lo;
return(RandomValue);
}
extern inline u32 PA_RandMinMax(u32 min,u32 max){
return ((PA_Rand()%((max + 1)-min)) + min);
}
No sé si eso funciona, si esta completo, si es compatible con las nuevas combinaciones, como yo me apaño con la funcion en si.
salu2
// Variables generales y
// Variables generales y inicializacion del random
u8 n = 0;
srand(time(NULL));
// Crea las bolas en la pantalla superior
s16 bola_x[32];
s16 bola_y[32];
s8 bola_spx[32];
s8 bola_spy[32];
for (n = 0; n < 32; n ++) {
bola_x[n] = (rand() % 223);
bola_y[n] = (rand() % 159);
bola_spx[n] = (rand() % 3) + 1;
bola_spy[n] = (rand() % 3) + 1;
NF_CreateSprite(0, n, 0, 0, bola_x[n], bola_y[n]);
}
Recuerda en incluir el time.h
El 90% de cosas que querais hacer seguramente no tienen que ver con funciones de mi libreria, como numeros aleatorios, saber si un sprite se ha tocado, etc, Son casi simempre funciones del C de toda la vida, por eso siempre aconsejo aprender a programar lo basico en C y luego adentrarse en librerias mas especificas. Mucha gente se cree que con mi libreria se hace todo, mentira. Lo que programais, ya sea con libnds, palib o nflib es C. Las librerias solo facilitan el hacer tareas mas complicadas y repetitivas, como mostrar fondos, cargarlos etc, pero no dejan de ser instrucciones basicas de C agrupadas en funciones. Siempre que querais hacer algo, mirar primero si es posible hacerlo con C, vuestro programa quedara mas optimizado y elegante.
Nuestra web oficial:
http://www.nightfoxandco.com/
Siguenos en facebook:
http://www.facebook.com/pages/NightFox-Co/284338634917917
Por favor, no useis los MP para preguntas, usar el FORO:
http://www.nightfoxandco.com/forum/
Asi nos ahorramos de contestar lo mismo 20 veces.
Ok, gracias a los dos.
Ya veré como lo meto en mi proyecto, gracias a los dos por ayudarme.
Salu2
Y también stdlib.h, para el
Y también stdlib.h, para el rand() y srand().
OK, ahora mismo lo pruebo
Gracias a los dos por ayudarme, ahora mismo lo probaré a ver si funciona, muchísmas gracias.
PD: ¿Cómo es que no tienes bandera de coder Almamu? Porque con tus hb, tus tutoriales y lo que ayudas por aquí, no sé como no la tienes :P
Salu2
Gracias por la firma The Dark Master
Lo respondió hace unos días.
http://nds.scenebeta.com/entrada-de-bitacora/grand-thief-auto-ds-scenery...
No nos salgamos del tema.
Salu2TS!
Cierto
Ok, siento mucho el desvío, lo que pasa es que no lo había leído :P, lo siento.
Gracias a todos los que me ayudasteis otra vez.
Salu2.
EDIT: Ya lo probé, y al incluir lo que me dijisteis (almamu y antoniond) [puse un include de cada cosa] me dió error o warning. Sólo lo incluí, no llegué a usar el rand. ¿Cuál puede ser el fallo? Espero que me podais ayudar :P (otra vez...). Siento ser tan pesado.
Salu2
Gracias por la firma The Dark Master
Si es un warning
probablemente sea porque incluyes librerías que no usas.
Salu2
PD: Repito, sólo si es un warning. Si es un error ponlo para ayudarte.
Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderás trucos para resolver tus dudas antes.