Usi Borland ? outtextxy è tipico della libreria BGI del Borland. Tra l'altro è un compilatore vetusto.
In ogni caso devi similare te l'inserimento dei caratteri.
Ad esempio:
char s[2];
s[1] = '\0';
int i = 0;
do
{
s[0] = getch();
outtextxy(100 + 10 * i, 50, s);
}
while(c != '\n');
Poi magari potresti anche tenere conto del backspace per cancellare il carattere precedente (incollando un rettangolo sopra la lettera per eliminarla) e creare una specie di cursore in grafica che identifica la posizione successiva per l'inserimento.
Grazie :ave: :ave:
cmq si è bc.
invece per cancellare il carattere precedente nn ne ho bisogno, visto che diciamo che lo scopo è quello di realizzare il gioco dell'impiccato ;)
ti copio il sorgente, anche se cmq dovrebbe essere perfetto :)
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <graphics.h>
const int parole=92;
void delay(double sec){
clock_t t;
t=clock()+CLOCKS_PER_SEC*sec;
while (clock()<t);}
void main(){
int gdriver=DETECT,gmode;
initgraph (&gdriver,&gmode,"C:\\Bcpp\\BGI");
char parola [parole][30]={"bianco","rosso","verde","cronometro","radiante","radioattivita","nero","bianca","parsani","esoterico","esotico","mango","camino","comignolo","tavolo","misa","computer","ragnarock","valhalla","cumulonembi","calorifero","tavolozza","guanti","lapsus","lapis","cavolo","mela","armadillo","finestra","autobotte","autotrento","virgola","ventola","piastrella","cosmogonia","calcificazione","plexiglass","tendoni","vecchio","giovine","dattero","iguana","gargantuesco","pulsante","biro","farenight","kelvin","dinamometro","centrifuga","cose","caso","waterloo","indovino","incompleto","polimero","pentatonico","estrionico","sarmazia","impero","regione","continente","oceano","quarzo","kriptonite","vampiro","salamandra","draconide","triceratopo","wraith","lich","yugi-oh","arconte","segugio","coppia","sonata arcitca","drifter","killer","cangiante","abbeccedario","abazia","alchemico","australopiteco","dromedario","mazinga","suppaman","parmenideo","trascendentale","zuzzurellone","deep","underworld"};
char indovina[30];
char lettera,risposta;
int tentativi=6,i,indovinato=0,partite=0;
char out1[]={"hai ancora "},out2a[]={" tentativi"},out2b[]={" tentativo"};
char out3[]={"la parola da indovinare ti appare ora cosi'"},out4[]={"."};
char out5[]={"cerca di indovinare una lettera prima che arrivi la tua morte..."},out6[]={"lettera = "};
char out7[]={"+-------------------------------------------"},out8[]={"|"};
char out9[]={"| la parola e' "},out10[]={"| hai finito "},out11[]={" partite"},out12[]={"| Fine del Gioco"};
char out13[]={"Vuoi Giocare ancora? (s/n)"},s[1],s2[1];
do{
partite++;
tentativi=6;
cleardevice();
randomize();
i=random(parole+1);
for (int j=0; j<30 ; j++){
if (parola [i][j]!='\0'){
indovina[j]='_';}
else
indovina[j]='\0';}
while (tentativi > 0 && strcmp(parola[i],indovina)>=0 ){
cleardevice();
itoa(tentativi,s,10);
line(300,300,400,300);//base
line(350,300,350,150);//staffa
line(350,150,280,150);//staffa2
line(280,150,280,170);//corda
if(tentativi<=5)
circle(280,180,10); //testa
if(tentativi<=4)
line(280,190,280,240);//corpo
if(tentativi<=3){
line(280,200,295,210);//braccio dx
line(280,200,265,210);}//braccio sx
if(tentativi<=2){
line(280,240,295,250);//gamba dx
line(280,240,265,250);}//gamba sx
if(tentativi<=1){
line(295,210,300,200);//mano dx
line(265,210,260,200);}//mano sx
if(tentativi>1){
outtextxy(10,10,out1);
outtextxy(100,10,s);
outtextxy(110,10,out2b);}
else{
outtextxy(10,10,out1);
outtextxy(100,10,s);
outtextxy(110,10,out2a);}
outtextxy(10,30,out3);
delay(0.5);
outtextxy(10,40,out4);
delay(0.5);
outtextxy(15,40,out4);
delay(0.5);
outtextxy(20,40,out4);
outtextxy(10,50,indovina);
outtextxy(10,60,out5);
outtextxy(10,70,out6);
lettera=getch();
indovinato=0;
for (j=0 ; j<30 ; j++){
if (lettera==parola[i][j]){
indovina[j]=lettera;
indovinato=1;}}
if (indovinato==0)
tentativi--;}
if(tentativi<=0){
line(295,250,300,260);//piede dx
line(265,250,260,260);}//piede sx
itoa(partite,s2,10);
outtextxy(10,80,out7);
outtextxy(10,90,out8);
outtextxy(10,100,out9);
outtextxy(130,100,parola[i]);
outtextxy(10,110,out10);
outtextxy(130,110,s2);
outtextxy(140,110,out11);
outtextxy(10,120,out12);
outtextxy(10,130,out8);
outtextxy(10,140,out7);
outtextxy(10,150,out13);
risposta=getch();
}while (risposta=='s');
closegraph();}
ti rigrazio ancora, e Auguri di Buon Natale :) :)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.