Bonde

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 2. august 2021; checks kræver 19 redigeringer .
Bonde
Sprog klasse C-formet
Udførelsestype kompileret
Dukkede op i 1998
Forfatter ITB CompuPhase
Filtypenavn _ .pwn, .p, .amx, .inc
Frigøre 4.0.5749 ( 18. oktober 2017 [1] )
Blev påvirket Lille-C [2]
Licens zlib licens
Internet side compuphase.com/pawn/pawn...
 Mediefiler på Wikimedia Commons

Pawn (tidligere Small ) [1]  er et simpelt, utyperet 32-bit scriptsprog med en C - lignende syntaks . Compileren genererer P-kode (eller bytecode ) til at køre på den abstrakte maskine . Pawn kildekodefiler har filtypenavnet .pwn ; kompileret og klar til at køre - .amx . Et populært programmeringssprog til spilservere baseret på SAMP. Den har en usædvanlig compiler samt en kodeeditor - Pawno.

Sprogets historie

En introduktion til Pawn -sproget og til konceptet om en abstrakt maskine blev beskrevet fra en programmørs perspektiv og offentliggjort i Dr. Dobb's Journal [3] i oktober 1999 . Sproget var designet til nybegyndere , der lavede mange fejl i forbindelse med frigivelsen af ​​computerhukommelse [ 4] .

Pawn var baseret på C -sproget . Målet for udviklerne var at forenkle og ændre C-sproget på en sådan måde, at sprogets syntaks ville undgå eller omgå de fejl, som uerfarne programmører begår. Valget af C-sproget var bestemt af det faktum, at dette sprog på det tidspunkt nåede det maksimale af sin udvikling og var ret populært [4] .

Funktioner af sproget

Datatyper

Der er 4 datatyper i Pawn -sproget:

Kodeeksempler

"Hello World" ser næsten det samme ud som i C :

vigtigste () { print ( "Hej verden!" ); }

Et eksempel på oprettelse og brug af en matrix til heltalsværdier:

#inkluder <kerne> main () { nyt array [ 4 ]; // Initialiser et array med 4 elementer array [ 0 ] = 43 ; // Ændre værdien af ​​elementet ved indeks 0 array [ 1 ] = 10 ; // Ændre værdien af ​​elementet ved indeks 1 array [ 2 ] = 799 ; // Ændre værdien af ​​elementet ved indeks 2 array [ 3 ] = 121332 ; // Skift værdien af ​​elementet med indeks 3 retur 1 ; // Returnerer 1 }

Et eksempel på en loop og en if-else-sætning:

#inkluder <kerne> main () { nyt i ; for ( i = 0 ; i < 10 ; i ++ ) { hvis ( i != 9 ) { printf ( "%d" , i ); } andet { print ( "ni" ); } } retur 1 ; // Returnerer 1 }

Et eksempel på brug af variable:

#inkluder <kerne> main () { ny a = 3 ; ny b = 1 ; printf ( "A er = %d, og B = %d" , a , b ); // Ved start vil den skrive: A = 3, og B = 1. returner 1 ; // Returnerer 1 }

Et eksempel på brug af udtryksoperatorer:

#inkluder <kerne> main () { ny a = 1 ; ny b = 2 ; ny c = 3 ; if ( a < b ) print ( "A er mindre end B" ); // Ved start vil skrive: A er mindre end B hvis ( c != a ) print ( "C er ikke lig med A" ); // Ved opstart vil den skrive: C er ikke lig med A hvis ( a == 1 && a != b ) print ( "A er lig med 1 og er ikke lig med B" ); // Ved start vil skrive: A er 1 og ikke lig med B hvis ( b == 2 || c == 3 ) print ( "B er 2 eller C er 3" ); // Ved start vil skrive: B er lig med 2 eller C er lig med 3 return 1 ; // Returnerer 1 }

Anvendelse af sproget

Nogle eksempler på brug af Pawn -sproget :

  • Grand Theft Auto: San Andreas Multiplayer  - til at skrive spiltilstande/scripts ved hjælp af API'et til dine egne servere i det populære uofficielle multiplayer San Andreas Multiplayer fra Grand Theft Auto: San Andreas -spillet .
  • AmxModX [5]  - skriveplugins til AmxModX, der giver dig mulighed for at udføre scripts på spilservere baseret på GoldSrc-motoren . De mest populære er applikationer i Half-life og Counter-Strike spil
  • SourceMod  - skrive plugins til SourceMod -moduler , der giver dig mulighed for at udføre scripts på serverne til Half-Life 2: Deathmatch , Counter-Strike: Source og andre spil på Source -motoren .
  • WOWCube  - skrive applikationsspil til denne spillekonsol og dens emulator [6] .

Noter

  1. 1 2 The Pawn Language  (engelsk)  (link utilgængeligt) . Hentet 19. juli 2011. Arkiveret fra originalen 14. august 2012.
  2. Bondehæftet: 1. Sprogvejledning (link utilgængeligt) (4. marts 2008). Arkiveret fra originalen den 14. august 2012. 
  3. Dr. Dobb's Journal  (engelsk)  (link ikke tilgængeligt) . Arkiveret fra originalen den 14. august 2012.
  4. 1 2 Pawn-sproget - sprog- og værktøjskassefunktioner  (eng.)  (link utilgængeligt) . Hentet 19. juli 2011. Arkiveret fra originalen 14. august 2012.
  5. AMX Mod X - Half-Life Scripting for professionelle! . www.amxmodx.org. Hentet 10. april 2019. Arkiveret fra originalen 10. april 2019.
  6. Dean Takahashi . Cubios' WowCube er en håndholdt spillekonsol inspireret af Rubik's Cube , VentureBeat  (30. maj 2018). Arkiveret fra originalen den 2. juni 2021. Hentet 28. juni 2018.

Links