Salve a tutti sono nuovo in questo forum e sono molto giovane nonché un principiante del settore.
Ma iniziamo subito.... A scuola ci è stato chiesto di sviluppare un gioco semplice con l'uso dei vettori utilizzando le librerie di Allegro. Io scelsi di creare un semplice Impiccato che permetta ad un giocatore di inserire un array di caratteri che formino una parola e l'altro giocatore a tentativi deve indovinarla. Dato che di allegro non abbiamo fatto nulla hanno lasciato a noi studenti il compito di studiarlo e io sono in serie difficoltà ma dato che ci tengo molto vorrei imparare qualcosa. Il vero problema è la gestione dell'input della parola da tastiera che non so come gestire dato che il cin>> e il cout<< non vanno.Vorrei creare un modo semplice e banale per l'immissione senza tanti fronzoli, dunque l'essenziale per farlo funzionare ma per ora mi sono solo complicato la vita senza risolvere nulla. Spero in un vostro aiuto per risolvere la questione e se avete domande in merito fatele pure
Vi allego il pessimo codice fatto fin'ora ma non fateci caso alla poca efficienza.
#include <allegro.h>
#include <cstdlib>
#include <iostream>
#include <string>
#include <stdio.h>
#include <alfont.h>
#include <alfontdll.h>
#define WHITE makecol(255, 255, 255)
using namespace std;
PALETTE colori;
BITMAP *buf, *sprite;
int x,y;
void init();
void deinit();
void doppiobuffering()
{
vsync();
blit(buf,screen,0,0,0,0,640,480);
clear(buf);
}
void struttura()
{
masked_blit( sprite, buf, 0,0, x, y, 320, 320);
}
void textual ()
{
FONT* font1=load_font("font1.pcx",NULL,NULL);
textout_ex(buf, font1, "L'impiccato",290, 5,
makecol(255, 125, 45), -1);
/*cout<<"Give the text";
textout_ex(buf, font1, parola,330, 290,
makecol(255, 125, 45), -1); <--- Prova fallita */
}
int main() {
//char stringa1[]={'I','n','s','e','r','i','s','c','i'};
int depth, res;
allegro_init();
depth = desktop_color_depth();
if (depth == 0) depth = 32;
set_color_depth(depth);
res = set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
if (res != 0) {
allegro_message(allegro_error);
exit(-1);
}
install_timer();
install_keyboard();
install_mouse();
set_palette(colori);
buf=create_bitmap(640,480);
clear(buf);
sprite= load_bmp("strut.bmp",NULL);
x=150;
y=100;
while (!key[KEY_ESC]) {
doppiobuffering();
struttura();
textual();
}
deinit();
return 0;
}
END_OF_MAIN()
void deinit() {
clear_keybuf();
destroy_bitmap(buf);
destroy_bitmap(sprite);
}