Serwis został przeniesiony pod nową domenę: http://cpp0x.pl/
PowrótPowrótHistoria odwiedzonych stron
AutorWiadomość
Data: 2007-12-12 14:48:01

Pito
[Konsola, C++] Poruszanie obiektem za pomocą strzałek

Mam programik w którym trójkąt ma się również przemieszczać góra dół i prawo lewo za pomocą strzałek, no i na tych strzałkach sie rozwaliłem bo nie mogłem znaleźć nic gdzie jest to sensownie wytłumaczone.

#include <iostream.h>
#include <conio.h>
#include "console.ddt"
using namespace ddt::console;
main()
{
  char z;
  int x, y,
  i, // licznik petli

  /*wielkość*/
  b, //tyle znakow ma każdy bok

  /*sterowanie*/
  /*te parametry zmieniają położenie figury*/

  pl = 0, //prawo lewo
  gd = 0 //gora dol
  ;



  cout<<"Podaj znak jakim chcesz narysowac figure";
  cin>>z;

  /*wczytanie wielkości*/
  cout<<"Podaj wielkość figury"<<"\n od 1 do 25 : "<<endl;
  cin>>b;
  if (b>25)
  {
    cout<<" za dużo!!!";
    getch();
    b = 25;
  }
  clrscr();

  char key;
  cin<<key;

  switch (key)
  {
    case vk_up:
    {
      gd++;
      break;
    }
  }

  /*lewe skośne ramie*/
  for (i = 0, x = 1 + pl, y = 25 - gd; i < b ; i++ , x++, y--)
  {
    gotoxy(x,y);
    cout<<z;
  }

  /*prawe ramie skośne*/
  for (i = 0, x = 1 + (b-1) + pl, y = 25 - (b-1) - gd; i < b ; i++ , x++, y++)
  {
    gotoxy(x,y);
    cout<<z;
  }

  /*podstawa trojkata*/
  for (i = 0, x = 1 + pl, y = 25 - gd; i < b ; i++ , x = x + 2)
  {
    gotoxy(x,y);
    cout<<z;
  }




  getch();


}



Piotrek jak byś mógł to napisz jak to zrobić lub z jakiej biblioteki skorzystać.
Z góry dziękioczko

Data: 2007-12-12 15:01:16

Piotr Szawdyński


Praktyczny przykład wykorzystania strzałek znajdziesz w temacie: http://ddt.pl/forum/?Tid=26.

Obsługa klwaiatury za pomocą strzałek (powinno się kompilować nie sprawdzałem):

#include<conio.h>
int main()
{
  bool koniec=false;
  while(koniec==false)
  {
    unsigned char znak=getch();
    switch(znak)
    {
      case 0://klawisze specjalne (czasem zero czasem 224 - zależne od pc'ta chyba)
      case 224://klawisze specjalne
      znak=getch();
      switch(znak)
      {
        case 72://strzałka w górę
        break;
        case 80://strzałka w dół
        break;
        case 75://strzałka w lewo
        break;
        case 77://strzałka w prawo
        break;
      }
      znak=0;
      break;
      case 13://ENTER
      break;
      case 27://ESC
      koniec=true;
      break;
    }
  }
  return(0);
}
Data: 2007-12-12 16:30:10

Pito


Wielkie dzięki działa:D

1



Statystyki tematuOstatnio przeczytali
Czytało użytkowników:15fish13, malan, kizia, SeaMonster131, skovv, Dante, Miroslaw, skarbiec_m, pekfos, Pito, DeBugger, Piotrus, zax090, takano, Ateniarz
Przeczytało użytkowników:15
Czytało osób ogólnie:24
Przeczytało osób ogólnie:24



PowrótPowrótHistoria odwiedzonych stron
Panel Logowania
Login:
Hasło:

Użytkowników
Obecnie aktywnych:11
Zalogowanych:2
Zarejestrowanych:4367
Ostatnie 24h:531
Non-cookie 24h:2665
Wszystkich:214127
Ostatnia Aktualizacja
2010-09-01 19:27:34 (4 dni temu)
Ostatnio aktywni
Mateusz1244 min
SeaMonster1319 min
Gronek862421 min
wiew68 min
Koni79 min
fish131 godz
wiewiorka2 godz
lenrokskate9 godz
dmx8111 godz
steckel12 godz
pixelmaster15 godz
maciejo15 godz

Wynajem Sopot - wakacje
Pokój 2 osobowy 130zł/doba;
Lokalizacja: Sopot


O portaluArchiwumHistoriaIndeksRegulaminWyszukiwarkaLinki
Kurs HTML - strona WWW za darmoRestauracja "ATOL" - SopotValid HTML 4.01 TransitionalValid CSS!HTML CSS JavaScript FLASH PHP MySQL