| klex234 Temat założony przez niniejszego użytkownika | Czy tak robi się język skryptowy? » 2012-08-23 16:58:23 oto kod: #include <iostream>#include <windows.h>
 #include <string>
 #include <conio.h>
 
 using namespace std;
 
 
 int main() {
 
 int a = 1;
 string b, c, d;
 
 
 while( a == 1 )
 {
 cout << ">";
 getline( cin, b );
 
 
 if( b.find( "exit" ) == 0 ) { return 0; }
 if( b.find( "echo" ) == 0 ) { if( b.find( " " ) == 4 ) { b.erase( 0, 5 ); cout << b << endl; } else { cout << "Error!" << endl; } }
 
 
 
 
 }
 
 
 }
 
 | 
|  | 
| bingo009 | » 2012-08-23 17:02:44 Kod podawaj w tagi(bez gwiazdek): [*cpp] //tu kod [*/cpp] dzięki czemu uzyskasz coś takiego: int dodaj( int a, int b ){
 return a + b;
 }
 
A co do twojego pytania, to najprościej mówiąc język skryptowy, to taki który po podaniu komendy i parametrów coś się wykonuje w jakiejś aplikacji, czy grze. Weźmy taką grę rpg. W pliku skrypt.game(rozszerzenie możesz sobie sam wymyślić jakie chcesz, game to przykład) masz taki kod: PostawObiekt(waza, 12, 12) Gra po załadowaniu pliku skrypt.game, przelatuje w odpowiednim momencie i po "przeczytaniu" tej linijki, "wie", że ma postawić waze na pozycji 12, 12. A jeżeli jest coś takiego: PostawObiekt(12, 12) to powinno wywalić błąd, bo jest za mało parametrów. Pierwsze sprawdzasz komendę, a po jej rozpozaniu sprawdzasz parametry i odpowiednio reagujesz w grze/aplikacji. To co ty pokazałeś, trochę jest błędne, ponieważ mogę sobie wpisać asdasfexit i tak się program wyłączy. A on musi mieć ściśle określone komendy. Na warsztat.gd masz artykuł o tworzeniu języka skryptowego. | 
|  | 
| m4tx | » 2012-08-23 17:03:11 | Czy tak robi się język skryptowy? | 
 Niezbyt. Który język zamknie Ci program, jak wpiszesz "blaafsslkfjklajklfjqwlkejlexitajikdfiwefklslkewsa"? :P | 
|  | 
| klex234 Temat założony przez niniejszego użytkownika | » 2012-08-23 17:15:46 bingo009:
 więc wydaje mi się że tak
 
 m4tx:
 
 nad tym się popracuje ;)
 | 
|  | 
| pekfos | » 2012-08-23 17:21:28 Ładujesz skrypt i dzielisz go na słowa które później po kolei interpretujesz. Im lepszy parser napiszesz, tym bardziej elastyczna będzie składnia. Przy samym dzieleniu na słowa, kod musiałby wyglądać np tak: if( cos == 123 ) { zrob cos; } Bardziej zaawansowany parser rozpozna np taki kod: if(cos*013==0x123)sth(); Taki zaawansowany parser miałby jakieś 200 linii kodu (wiem, bo sam niedawno taki napisałem :> ) | 
|  | 
| klex234 Temat założony przez niniejszego użytkownika | » 2012-08-23 17:25:29 Skrypt się wpisuje, rozpoznaje polecenia i wykonuje odpowiednią akcję, więc wydaje mi się że jest dobre. | 
|  | 
| pekfos | » 2012-08-23 17:30:43 | Skrypt się wpisuje, rozpoznaje polecenia i wykonuje odpowiednią akcję, więc wydaje mi się że jest dobre. | 
 Mówisz o swoim kodzie? Jest zły. Spróbuj wpisać "please,dontexit". Program się wyłączy, bo jednak gdzieś w poleceniu jest "exit". Użyta przez ciebie metoda w ogóle się do tego nie nadaje. | 
|  | 
| klex234 Temat założony przez niniejszego użytkownika | » 2012-08-23 17:33:39 Ok, zrobię że jak nie zna polecenia to napisze np. "Unknown Command", a reszta kodu jest ok? | 
|  | 
| « 1 »  2 3 4 5 6 |