Skocz do zawartości

If zmienna= text lub text różniący się 1 lub 2 słowami


level123

Rekomendowane odpowiedzi

Mam pole w którym trzeba wpisać określony text i jeśli się go wpisze wyskakuje okienko z napisem 'Good', problem polega na tym, że chciałbym też aby można tam było wpisać inny tekst różniący się może 1 lub 2-ma nie określonymi słowami i wtedy też jest zaliczony, da się coś takiego zrobić (wiem że nie pisze zbyt jasno ,ale może ktoś zrozumie)

Odnośnik do komentarza
Udostępnij na innych stronach

text1 = "Bla bla bla bla"
text2 = "bla bla blllla"
wpisz = ""
if wpisz = text1 or text2
show_massage("Good")

??

 

Ale musi sobie zrobic mozliwosc edycji zmiennej "wpisz", teraz Ci kodu nie dam ale w wiki znajdziesz :)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Nie mozna pisać if COSTAM = mama or tata. Trzeba if COSTAM = mama or COSTAM = tata,

 

________________________

 

Co do tego "good".

 

var test,get;
get = get_string("Wpisz","coś");
test = string_copy(get,1,4);

if test == "Good"
{
///
}

Odnośnik do komentarza
Udostępnij na innych stronach

Nie chodzi mi coś or coś, tylko że np masz wpisać 200 słów w jednym polu ,takie słowa jakie poda ci program, ale np. wpiszesz przez pomyłkę 3 inne słowa to wtedy też ci zalicza, a jeśli wpiszesz 5 słów nie poprawnie to już nie - taki limit błędów, dla tych którzy dalej nie rozumieją ,jeśli 197 słów na 200 się zgadza to też uznaje (zgada się to znaczy jest takie samo słowo jakie ma być w tym samym miejscu w którym ma być), nieważne czy te 3 słowa w których popełniliśmy błąd występują na początku na końcu, w środku, czy każde gdzie indziej. A najlepiej by było jak by jeszcze pisało błędów popełniłeś.

Odnośnik do komentarza
Udostępnij na innych stronach

Ekhm, jest to do zrobienia, tylko musisz napisac ok.1000 słów, a potem z choose wybierać 20 czy 30, każde musiałbyś wyodrębnić i sprawdzać czy są dobrze wpisane. Można takie coś zrobić na tablicach. Poszukaj przykładu tablic, jest łatwiej uczyć się na metodzie prób i błędów więc próbuj.

Odnośnik do komentarza
Udostępnij na innych stronach

Otóż : Zobacz ten temat nie są to zwykłe tablice, ale są świetne :)

 

Tworzysz takową "siatkę" i wymyślasz ok.500 wyrazów, aby się w miarę nie powtarzały.

 

wyrazy=ds_grid_create(50,10)

Tworzysz siatkę o wymiarach 50 poziomo i 10 pionowo, czyli łącznie 500 pól.

ds_grid_set(wyrazy,0,0,wyraz1);

dodajesz do pierwszego pola(lewy górny róg) wyraz :)

ds_grid_set(wyrazy,1.0,wyraz2);

dodajesz wyraz do drugiego pola pierwszej lini

itd.

np.

ds_grid_set(wyrazy,50,10,wyraz500);

 

Następnie musisz wylosować : poszukaj coś o "choose" :) ja tam choose nie używam :) ale pewnie będzie jakoś tak

text=ds_grid_get(wyrazy,choose(20))

nie wiem :)

 

Jeśli się nie będzie zgadzało to zrób tak jak gnysek pisał.

Odnośnik do komentarza
Udostępnij na innych stronach

Aha, miło. Kod na oddzielanie wyrazów:

__l = ds_list_create();
__s = get_string( 'Podaj stringa:', '' );

__a = '';

for( __i = 0; __i < string_length( __s ); __i += 1; )
{
    __c = string_char_at( __s, __i + 1 );
    if ( __c == ' ' )
    {
        ds_list_add( __l, __a );
        __a = '';
    }
    else
    {
        __a += __c;
        if ( __i == string_length( __s ) - 1 )
        {
            ds_list_add( __l, __a );
        }
    }
}

for( __i = 0; __i < ds_list_size( __l ); __i += 1; )
    show_message( 'Wyraz nr ' + string( __i + 1 ) + ': ' + ds_list_find_value( __l, __i ) );

Reszty ci nie zrobię, póki nie wytłumaczysz...

Odnośnik do komentarza
Udostępnij na innych stronach

Dobra i co mi da taka ramka w której się losuje jakiś wyraz? Dla pentala: masz okienko do wpisania tekstu, nie? W tle leci piosenka a ty musisz pisać to co w niej śpiewają, gdy piosenka się kończy wyskakuje podsumowanie, ile razy się pomyliłeś przy wpisywaniu owego tekstu. Jeśli popełniłeś tylko 1,2 lub 3 błędy to wyskakuje okienko "Very Good!" Jeśli popełniłeś 4 lub 5 błędów to wyskakuje okienko "Ok" itd. aż do "Bad!" przy np. 15 błędach

Odnośnik do komentarza
Udostępnij na innych stronach

Trzeba było od razu mówić, że to chodzi o piosenkę. :twisted:

Musiasz napisać te słowa piosenki w zmiennej i zrobić dzielenie wyrazów wg Pentala. A to "Good" zrób jak gnysek mówił

Odnośnik do komentarza
Udostępnij na innych stronach

Zaraz ci to zrobię, ale najpierw objaśnienie:

__l = ds_list_create(); // tworzy liste wyrazow
__s = get_string( 'Podaj stringa:', '' ); 

__a = ''; // to aktualny wyraz, na razie pusty

for( __i = 0; __i < string_length( __s ); __i += 1; ) // przejezdza po kazdym znaku string_length( __s ) <- dlugosc tekstu ktory podales
{
    __c = string_char_at( __s, __i + 1 ); // aktualny znak
    if ( __c == ' ' ) // jesli to spacja, znaczy ze wyraz poprzedni sie skonczyl wiec dodajemy wyraz do listy a aktualny nadal jest pusty
    {
        ds_list_add( __l, __a ); // dodajemy ten wyraz
        __a = ''; // aktualny jest znowu pusty
    }
    else // a jesli nie ma spacji
    {
        __a += __c; // aktualny wyraz zwieksza sie o aktualna literke
        if ( __i == string_length( __s ) - 1 ) // jesli to koniec zdania
        { 
            ds_list_add( __l, __a ); // dodajemy ostatni wyraz
        }
    }
}

for( __i = 0; __i < ds_list_size( __l ); __i += 1; ) // tyle ile jest wyrazow tyle wyswietlamy :) 
    show_message( 'Wyraz nr ' + string( __i + 1 ) + ': ' + ds_list_find_value( __l, __i ) );

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...