Exemplo n.º 1
0
void get_players_name(int nb_players, char **names) {
    s32 pos = 0;
    char letter = 0;
    int player = 0;

    PA_InitKeyboard(1);
    PA_KeyboardIn(25, 100);

    while (player < nb_players) {
        clear_screen(1);

        letter = PA_CheckKeyboard();

        if (letter > 31 && pos < 7) {
            names[player][pos] = letter;
            pos++;
        } else if ((letter == PA_BACKSPACE) && pos) {
            pos--;
            names[player][pos] = ' ';
        } else if (letter == '\n') {
            names[player][8] = '\0';
            player++;
            pos = 0;
        }

        PA_OutputSimpleText(1, 8, 11, names[player]);
        PA_OutputText(1, 0, 0, "Player %d/%d", player+1, nb_players);

        PA_WaitForVBL();
    }

    clear_screen(1);

    PA_KeyboardOut();
}
Exemplo n.º 2
0
// Function: main()
int main(int argc, char ** argv)
{
	PA_Init();    // Initializes PA_Lib
	PA_InitVBL(); // Initializes a standard VBL
	
	PA_InitText(1, 0);  // Initialise the text system
	
	PA_InitCustomKeyboard(2, keyboardcustom); // Load the keyboard on background 2...
	
	PA_KeyboardIn(20, 95); // This scrolls the keyboard from the bottom, until it's at the right position
	// PA_KeyboardOut() can be used to scroll the Keyboard out
	// PA_ScrollKeyboardXY(x, y) can be used to set the keyboards position
	
	
	PA_OutputSimpleText(1, 7, 10, "Text : "); 

	s32 nletter = 0; // Next letter to right. 0 since no letters are there yet
	char letter = 0; // New letter to write.
	
	// Infinite loop to keep the program running
	while (1)
	{
		// We'll check first for color changes, with A, B, and X
		if (Pad.Newpress.A) PA_SetKeyboardColor(0, 1); // Blue and Red
		if (Pad.Newpress.B) PA_SetKeyboardColor(1, 0); // Red and Blue
		if (Pad.Newpress.X) PA_SetKeyboardColor(2, 1); // Green and Red
		if (Pad.Newpress.Y) PA_SetKeyboardColor(0, 2); // Blue and Green
		
		letter = PA_CheckKeyboard();
		
		if (letter > 31) { // there is a new letter
			text[nletter] = letter;
			nletter++;
		}
		else if(letter == PA_TAB){// TAB Pressed...
			u8 i;
			for (i = 0; i < 4; i++){ // put 4 spaces...
				text[nletter] = ' ';
				nletter++;
			}
	
		}
		else if ((letter == PA_BACKSPACE)&&nletter) { // Backspace pressed
			nletter--;
			text[nletter] = ' '; // Erase the last letter
		}
		else if (letter == '\n'){ // Enter pressed
			text[nletter] = letter;
			nletter++;
		}
		
		PA_OutputSimpleText(1, 8, 11, text); // Write the text
		PA_WaitForVBL();
	}
	
	return 0;
} // End of main()