C/Visual C - c++ ayuda

   
Vista:

c++ ayuda

Publicado por samuel (1 intervención) el 20/02/2011 17:39:27
Tengo este codigo:
--------------------------------------…
#include <cstdlib>
#include <iostream>
#include "conio.h"

using namespace std;

class Marker {
private:
int x,y;//son 3 atributos x,y,c
char c;
void show(){
gotoxy(x,y);cout<<c;
}
void hide(){

gotoxy(x,y);cout<<' ';
}

public:
Marker(int x,int y,char c): x(x),y(y),c(c)//asigno a x y c los del xyc de private
{
show();
}
Marker(){
x=rand()%80+1;//busque en 80 espacios comienza en 1
y=rand()%24+1;//busque en 24 espacios comienza en 1
c=rand()%26+65;
show();
}
void focus(){
show();
}

void up(){
if(y==1) return;
hide();y--;show();

}
void down()
{
if(y==24) return;
hide();y++;show();
}
void left()

{
if(x==1) return;
hide();x--;show();
}
void right()

{
if(x==80) return;
hide();x++;show();
}
void change()
{

}

};

class Game{
private:
Marker *m[10];
public:
Game(){
clrscr();//para sembrar una semilla
srand(time(NULL));
for(int i=0;i<10;i++) m[i]=new Marker;
}
void play(){
char Key=0; int i=0;
while (Key !=27) {
Key=getch();
switch (Key){
case'i':m[i]->up(); break;
case'k':m[i]->down();break;
case'j':m[i]->left();break;
case'l':m[i]->right();break;

case 'n': if(i<9)i++;else i=0;
m[i]->focus();break;
case 'm':
m[i]->change();break;
}
}
}
~Game(){
for(int i=0;i<10;i++) delete m[i];
clrscr();
}
};


int main(){
Game g;
g.play();

}
--------------------------------------…
--------------------------------------…
necesito que cuando yo presione la tecla m y dirija el objeto con j,k,l,i este vaya dejando el rastro del caracter generado y si vuelvo a presionar m no deje mas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder