No tenia intención de meter el lápiz xD si eso, par algun detallito tonto, o para los "minijuegos", pero para el juego en si, no
Menú principal: Programación más sencilla con el stylus que con el pad.
Posted 12 October 2008 - 09:28 PM
No tenia intención de meter el lápiz xD si eso, par algun detallito tonto, o para los "minijuegos", pero para el juego en si, no
Posted 13 October 2008 - 09:43 PM
#include <stdio.h>
#include <stdlib.h>
unsigned long level;
int main(int argc, char *argv[])
{
printf("Type the level number: ");
scanf("%d", &level);
printf("\n");
level -= 1;
level &= 0x7FFFFFF;
unsigned short wTemp0;
unsigned short wTemp1;
unsigned short wTemp2;
unsigned long dwTemp3;
unsigned char temp_num;
unsigned long long code_number;
unsigned long long base_10 = 100000000000;
wTemp0 = ((level & 0xFFFF0000) >> 16);
if((wTemp0 & 1) == 1){ //if there is carry
wTemp0 = (wTemp0 >> 1) ^ 0x8810;
}else{
wTemp0 = (wTemp0 >> 1);
}
wTemp1 = (wTemp0 ^ (level & 0xFFFF));
if((wTemp1 & 1) == 1){
wTemp1 = (wTemp1 >> 1) ^ 0x8810;
}else{
wTemp1 = (wTemp1 >> 1);
}
wTemp2 = (wTemp1 & 0x3F) ^ 0x55;
dwTemp3 = ((level + 0x01234567) & 0x7FFFFFF);
dwTemp3 = ((dwTemp3 & 0xFFFF0000) >> 16) | ((dwTemp3 & 0xFFFF) << 16); // Swap
wTemp1 = (wTemp1 << 5) & 0xF800;
dwTemp3 |= wTemp1;
dwTemp3 = ((dwTemp3 & 0xFFFF0000) >> 16) | ((dwTemp3 & 0xFFFF) << 16); // Swap
dwTemp3 = (dwTemp3 >> 6) | (dwTemp3 << 26);
dwTemp3 = dwTemp3 ^ 0xAAAAAAAA;
unsigned char temp_num;
unsigned long long code_number;
unsigned long long base_10 = 100000000000;
code_number = ((unsigned long long) wTemp2 << 32) | dwTemp3;
//Here code_number contains the code stored as a 64bit variable, in decimal.
//This is, actually, handled by the Genny; using specifically coded subroutines
//to operate with "virtual" 64bits values.
//My compiler doesn't like long longs in a printf so I have to print it by this
//dirty way.
int I = 0;
printf("Code: ");
for(I = 0; I<=11; I++)
{
temp_num = 0;
while(((unsigned long long) code_number / base_10) > 0)
{
code_number -= base_10;
temp_num++;
}
printf("%u", temp_num);
base_10 = base_10/10;
if((I == 3) || (I == 7) || (I == 11))
{
printf(" ");
}
}
printf("\n");
system("PAUSE");
return 0;
}
Posted 13 October 2008 - 10:15 PM
Posted 13 October 2008 - 10:21 PM



Editado por FvG, 24 de noviembre 3400 A.C. - 06:20 PM.
Posted 13 October 2008 - 10:23 PM
Tú lo has dicho xDDse limita a sacar un mapa en formato texto del nivel
Posted 22 October 2008 - 01:38 PM



Editado por FvG, 24 de noviembre 3400 A.C. - 06:20 PM.
Posted 22 October 2008 - 05:42 PM
Posted 22 October 2008 - 08:08 PM
0 members, 0 guests, 0 anonymous users