non la console, n'est pas Dos !!
si tu peux envisager les fenetres a condition d'utiliser le mode Screen window
voici un exemple qui est basé sur l'ecran dans la fenetre
on peut tout faire avec un ecran, afficher des sprites (personages)
afficher du text, etc ...
Code : Tout sélectionner
#dobro =1
#Police =1
InitKeyboard () : ; j'espere qu'il y a un clavier au moins !!
Resultat = InitSprite () ; initialisation de la gestion des Sprites par Purebasic
; ************** definition des variables ****************
EcranX = 800
EcranY = 600
; ***************************************************
; *********** ouvre une fenetre aucentre de l'ecran sans bordure, mais ayant la petite croix pour fermer *****************
WindowID = OpenWindow (1, 0, 0,EcranX, EcranY, "hello" , #PB_Window_SystemMenu|#PB_Window_BorderLess |#PB_Window_ScreenCentered )
; **************************************************************************************************
;********** placement d'un ecran graphique dans notre fenetre préalablement crée *************************
Result = OpenWindowedScreen ( WindowID (1),0,0, EcranX,EcranY, 1, 0,0)
; *****************************************************************************************
; ******* creation d'un sprite ************
If CreateSprite (1,32,32) ; on creer un sprite vide (une cellule) de 32 par 32 et on lui donne le numero 1
StartDrawing ( SpriteOutput (1) ) ; on va dessiner dedans !
Circle (16,16,16, RGB (255,0,0)) ; on dessine un cercle rouge
StopDrawing ()
EndIf
; ******************************************
; ********* preparation du point de depart de notre sprite *************************
x_sprite=EcranX/2 ; on centre les coordonées du sprite
y_sprite=EcranY/2 ; on centre les coordonées du sprite
; **************************************************************************
Repeat ;********* debut de boucle principale **************************
ExamineKeyboard (); on regarde si le clavier a ete touché par l'utilisateur
; ************************ ecriture dans l'ecran *********************
StartDrawing ( ScreenOutput ()) ; on va ecrire dans le fond de l'ecran
Resultat = DrawText (50, 50, "appuyez sur les touches flechées" , RGB (255,255,0), RGB (0,0,0) )
Resultat = DrawText (50, 150, "pour faire bouger le sprite" , RGB (255,255,0), RGB (0,0,0) )
StopDrawing ()
; ******************************************************************
; le clavier a ete touché !!!
; ********** gestion du clavier ***********************************
If KeyboardPushed ( #PB_Key_Up ) ; press touche fleche haut
Debug "press touche haut"
y_sprite= y_sprite-1 ; diminue la coordonée Y du sprite
EndIf
If KeyboardPushed ( #PB_Key_Down ) ; press touchefleche bas
Debug " press touche bas"
y_sprite= y_sprite+1 ; augmente la coordonée Y du sprite
EndIf
If KeyboardPushed ( #PB_Key_Left ) ; press touche flechegauche
Debug " press touche gauche"
x_sprite= x_sprite-1 ; diminue la coordonée x du sprite
EndIf
If KeyboardPushed ( #PB_Key_Right ) ; press touche flechedroit
Debug " press touche droit"
x_sprite= x_sprite+1 ; diminue la coordonée X du sprite
EndIf
; ****************************************************************
; ******* affichage du sprite ****************************************
DisplaySprite (1, x_sprite, y_sprite) ; affiche le sprite au coordonées modifié par les touches
; ****************************************************************
; *************** affiche l'ecran ********************************
FlipBuffers (): ; affiche l'ecran
; **************************************************************
; **** ok on nettoie pour le prochain affichage **********************
ClearScreen ( RGB (0, 0, 0)) : ;efface l'ecran
; ***************************************************************
Event= WindowEvent ()
Delay (2)
Until Event= #PB_Event_CloseWindow Or KeyboardPushed ( #PB_Key_Escape ) ; press touche droit