C
Hatte die bool Variable vergessen anzufügen, hier ist die richtige Version:
#include <allegro.h>
#include <string.h>
BITMAP *Bild1;
BITMAP *Bild2;
BITMAP *Bild3;
BITMAP *Bild4;
BITMAP *Bild5;
BITMAP *Bild6;
BITMAP *Bild7;
BITMAP *Bild8;
BITMAP *Bild9;
BITMAP* buffer;
int main()
{
allegro_init();
char Name[900];
install_keyboard();
install_mouse();
set_color_depth(32);
set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
set_window_title("Zierpflanzenbau");
show_os_cursor(MOUSE_CURSOR_ARROW);
buffer=create_bitmap(640, 480);
Bild1=load_bitmap("bmps//Background.bmp", NULL);
Bild2=load_bitmap("bmps//begonie1.bmp", NULL);
// bool Variable, die die Ausführung der Funktion prüft!
bool fertig = false;
int x = 1;
int y = 1;
while( !key[KEY_ESC])
{
draw_sprite(buffer, Bild1, 0,0);
textprintf_ex(buffer, font, 330, 80, makecol(0, 0, 0), makecol(51, 204, 204), "Deutsch:");
textprintf_ex(buffer, font, 330, 150, makecol(0, 0, 0), makecol(51, 204, 204), "Botanisch:");
//////////////////////////////////////////////////////////////////////////////////////////////
draw_sprite(buffer, Bild2, 34,27);
// Hier wird die Funktion aufgerufen und mit if abgefragt ob diese bereits ausgeführt wurde, wenn nicht führe sie aus.
if (!fertig)
{
Eingabe(font,"Bitte geben Sie Ihren Namen ein: ",0,0, makecol(0, 0, 255), -1, Name);
// Variable wird auf wahr gesetzt, sodass es nicht wieder ausgeführt wird beim erneuten Durchlauf der while Schleife ;)
done = true;
}
textprintf_ex(buffer, font, 405, 80, makecol(0, 0, 0), makecol(51, 204, 204), "Eisbegonie");
// Blit Funktion zum Zeichnen auf den Bildschirm
blit(buffer, screen, 0, 0, 0, 0, SCREEN_W, SCREEN_H);
}
destroy_bitmap(Bild1);
destroy_bitmap(Bild2);
//destroy_bitmap(Bild3);
//destroy_bitmap(Bild4);
destroy_bitmap(buffer);
return 0;
}
END_OF_MAIN();