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.
Publicado 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
Publicado 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; }
Publicado 13 October 2008 - 10:15 PM
Publicado 13 October 2008 - 10:21 PM
Publicado 13 October 2008 - 10:23 PM
Tú lo has dicho xDDse limita a sacar un mapa en formato texto del nivel
Publicado 22 October 2008 - 01:38 PM
Publicado 22 October 2008 - 05:42 PM
Publicado 22 October 2008 - 08:08 PM
0 miembros, 0 visitantes, 0 usuarios anónimos