Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Znowu Menu

Ostatnio zmodyfikowano 2009-06-02 10:50
Autor Wiadomość
Haker123
Temat założony przez niniejszego użytkownika
Znowu Menu
» 2009-06-01 15:25:56
Chce zrobic "Menu" takie jak w starych grach jest ze jak przesune strzalke w gore to zmieni sie pozycja w menu i zostanie podswietlona ta opcja (tak jak w ksiazce telefoniczen z kursu z tymi osobami co na czerwono bylo) Myslalem ze dam rade zrobic to w tablicach ale nie umiem albo sie nie da :( teraz pruboje zrobic z pomoca Struct ale nie wychodzi mi to :( bede wdzieczny jak ktos napisze mi jakis przyklad jak zrobic "Menu" albo poprawi mi ten kod i troszke wytlumaczy jak to zrobic bo poprostu nie umiem tego zrobic :(

zamieszczam moj kod ktury jest napewno zly :(

C/C++
#include <iostream>
#include <conio.h>
#include <console.ddt>

using namespace ddt::console;
using namespace std;

struct Komendy
{
    string Dodaj;
    string Pokaz;
    string Wyjscie;
};

void WyswietlKomunikat( Komendy tablica[], int pozycja );


int main()
{
   
    int pozycja = 0;
    bool koniec = false;
    while( koniec == false )
    {
        textcolor( 7 );
        textbackground( 0 );
       
        WyswietlKomunikat( Komendy tablica[], pozycja );
       
       
        int wybor;
       
        wybor = getch();
       
        switch( wybor )
        {
        case 224: //klawisze specjalne
            wybor = getch();
            switch( wybor )
            {
            case 72: //strzałka w górę
                pozycja -= 1;
                break;
            case 80: //strzałka w dół
                pozycja += 1;
                break;
            };
        };
       
       
        //if(pozycja==3) pozycja=2;
        //if(pozycja<0) pozycja=0;
       
    };
   
   
    void WyswietlKomunikat( Komendy tablica[], int pozycja )
    {
        for( int i = 0; int y = pozycja; i++ )
        {
            if( i == y )
            {
                textbackground( 12 );
                textcolor( 14 );
            } else
            {
                textbackground( 0 );
                textcolor( 7 );
            }
            gotoxy( 35, 10 );
            cout << tablica[ i ] << endl;
            gotoxy( 35, 15 );
            cout << tablica[ i ] << endl;
            gotoxy( 35, 20 );
            cout << tablica[ i ] << endl;
        }
    }
P-7355
driver1995
» 2009-06-01 15:52:43
C/C++
#include <iostream>
#include <conio.h>
#include <console.ddt>

using namespace ddt::console;
using namespace std;
string tablica[ 3 ] = { "Dodaj", "Pokaz", "Wyjscie" }; //Tablica z nazwami
void WyswietlKomunikat( int zaznacz ); //deklaracja funkcji


int main()
{
    int pozycja = 0;
    bool koniec = false;
    char wybor;
    while( koniec == false )
    {
        textcolor( 7 );
        textbackground( 0 );
       
        WyswietlKomunikat( pozycja ); //odwołanie funkcji do pozycji (czyli zaznacz(w deklaracji) jest równe pozycji...
       
        wybor = getch();
       
        switch( wybor )
        {
        case 224: //klawisze specjalne
            wybor = getch();
            switch( wybor )
            {
            case 72: //strzałka w górę
                pozycja -= 1;
                break;
            case 80: //strzałka w dół
                pozycja += 1;
                break;
            } //switch
        } //switch
        if( pozycja > 2 ) pozycja = 0; //wiadomo.. żeby zaznaczenie szło na okrągło
       
        if( pozycja < 0 ) pozycja = 2;
       
    } //while
    return 0;
} //main

void WyswietlKomunikat( int zaznacz ) //odwołanie do funkcji zadeklarowanej wcześniej
{
    for( int i = 0; i <= 2; i++ )
    {
        if( i == zaznacz ) //jesli i jest równe zaznacz, czyli jest też równe pozycji..
        {
            textbackground( 12 );
            textcolor( 14 );
        } else
        {
            textbackground( 0 );
            textcolor( 7 );
        } //else
        gotoxy( 35, 10 + i * 4 ); //rysowanie x=35 , y= 10 + i*4 czyli jak i wynosi 0 to y będzie 10, jeśli i wynosi 1 to y będzie 10 + 1*4 czyli 14 itp. (można to oczywiście inaczej zrobić...
        cout << tablica[ i ] << endl; // wyświetlanie napisów...
    } //for
} //void
P-7357
Haker123
Temat założony przez niniejszego użytkownika
» 2009-06-02 10:35:44
Wielkie dzieki ;] teraz mam nadzieje ze sobie sam poradze i nie bede musial juz pisac kolejnego posta :P No to zabieram sie do roboty xD Jeszcze raz dzieki ;]
P-7376
GoldWolf
» 2009-06-02 10:50:35
Wielkie dzieki ;] teraz mam nadzieje ze sobie sam poradze i nie bede musial juz pisac kolejnego posta
Zamknij temat, gdy jesteś usatysfakcjonowany.
P-7377
« 1 »
  Strona 1 z 1