- HBO Max & OD topic
- Otthoni hálózat és internet megosztás
- Windows 11
- Microsoft Excel topic
- Microsoft Office és Office 365 topic
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
- A pápa egyre jobban tart a romlott AI veszélyeitől
- Crypto Trade
- Súlyos adatvédelmi botrányba kerülhet a ChatGPT az EU-ban
- Proxmox VE
Új hozzászólás Aktív témák
-
VladimirR
nagyúr
arra, hogy az emlitett jatekokat nem ismered, egyetlen mentseged lehet, megpedig a korod - ha elmultal mar 18 eves, akkor megbocsajthatatlan bun, hogy ezeket kihagytad, de mindenkeppen potlando hianyossag, mitobb, meg tanulhatsz is belole, adhat otleteket
Szakadt csoves => Bovebben: [link]
Revenge on School => Bovebben: [link]
Revenge on Police => Bovebben: [link]
Revenge on Army => Bovebben: [link]
agyelszivas => Bovebben: [link] -
VladimirR
nagyúr
blablabla
if a then begin end;
blablabla
pont azert kerdeztem, mert en meg egyszer sem talalkoztam azzal, hogy szuksegem lett volna a nop utasitasra
feltetelnel egyebkent lehet egyszerubb lenne ugy, hogy ha azt akarod, hogy:
if a then nop else valami;
ahelyett csinalsz inkabb olyat, hogy
if not a then valami
[Szerkesztve] -
Lortech
addikt
Ha beiktatsz egy char beolvasást elé, az nem jó neked?
Egy kicsit egyszerűbben: hogyan lehet a string első betűjét levágni?
Vagy konkrétan: s:=copy(s,2,length(s)-1); - tetszőleges hosszú sztring első karakterének levágása.
[Szerkesztve]Thank you to god for making me an atheist
-
Gyuri16
senior tag
szerintem elotte rontod el a jel valtozot. Ha megprobalod, es irsz egy kis programot, amiben csak jel:=readkey van, akkor benne lesz a #27. szvsz 13 csak akkor lehet benne ha valahonnan bennemaradt, ahhoz meg az egesz programot kellene latni. szerintem F8 al nezd vegig, hogy hol valtozik a valtozod erteke...
Nem vagyok egoista, csak uborkagyalu!
-
VladimirR
nagyúr
mint Gyuri16 is irta, lehet, hogy bennmaradt a buffer-ben egy enter meg korabbrol
en ezt a kovetkezokeppen szoktam kikuszobolni
while keypressed do readkey;
es ezt a readkey ele jel := readkey ele tennem be
ez annyit csinal, hogfy barmit, ami a buffer-ben van, ksizedi onnan, es eldobja (pontosabban tarolas nelkul kiolvassa), s csak ezutan kezdi figyelni, hogy kerul-e valami (pl az altalad vart esc) a buffer-be
[Szerkesztve] -
QuarK
senior tag
Az még hagyján, amiket előttem elmondtak; de van más is. Ugyanis imho ha ESC-et ütsz le, vagy fel-le gombot (legalábbis feltételezem, hogy nem P és H gombokat vársz); akkor egy vezérlőkaraktert (#0) fogsz elcspíni legelőször (Tehát fel esetén: #0+#80)
Tehát a javaslatom:
while ( keypressed) do readkey;
jel := readkey;
if ( jel = #0) then jel := readkey;
...
Így tuti nem fogsz kósza karaktereket kapni a pufferben, és érzékelni fogja a speciális billentyűleütéseket, amik két karaktert dobnak (#0 és egy másik). -
Lortech
addikt
Az szokta okozni a gondot a readkeyyel, hogy pl egy tömböt túlindexeltél, és ez pont elrontja a változódat amibe readkey-jel olvasol. Nem egyszer belefutottam már, és nem könnyű kiszűrni. Már a legelső kódodnak is működnie kéne.
Thank you to god for making me an atheist
-
N!tRo
tag
hmm, csak egy kis ötletem támadt, hogy hogyan valósítsad ezt meg:
van ez a ''buffer törlő'' megoldás by VladimirR
while keypressed do readkey;
aztán én a fel-le-jobbra-balra gombokkal valósítanám meg a választást, amit így tudsz beolvasni:
jel:=readkey;
jel:=readkey; {azért kell kétszer mert a speciális karakterek egy readkey-nel #0-t adnak vissza}
BAL #75 ; JOBB #77 ; FEL #72 ; LE #80
Szerintem...My Frist Android Logic Game -[ Frame It! ]- keresd az Android Market-en!
-
QuarK
senior tag
Tuti, hogy trash-eled a memóriát, kiírsz az egyik tömbödből. Minden tömbbe író utasítás elé biggyessz be egy ellenőrzést.
pl.:
if ( x > tomb_meret) then begin writeln( 'itt a baj (1)'); end;
tomb[x] := blah;
if ( x + 1 > tomb_meret_2) then begin writeln( 'itt a baj (2)'); end;
tomb[x + 1] := bleh;
stb.
Ezzel jól meg fogsz most szenvedni -
rii
nagyúr
if jel:=#0
1. itt a feltételben kinulláztad jelet
2. ha nem nullűzod ki,a kkor azt néezd meg, hogy #0 van -e benne ... #0 -t akkor szokott visszaadni ,ha vezértlőkaraktert (jobbra-barla-le-föl nyíl, F1-F12 stb), nyomsz le, ez esetben két értékkel tér vissza a readkey (vagy mi) , elősször a #0-val, majd másodjára egy normál értékkel ....
pld. a jobbra nyil az a (#0, #220) (most csak írtam valamit) értékkel tér vissza
szóval én csak azt nem értem, miért a #0 visszatérését vizsgálod ..... de este van, és nem néztem meg az előzményeket ... úgyhogy ki-ki nyugalomba
----------------- ---------------------- -------------------------- ----------------------------- -------------------
szerk.: pedig most látom, kellett volna, mert már kitárgyalták előttem .....
[Szerkesztve]piros-kapszula: https://www.youtube.com/watch?v=oW-VZVYohRg
-
QuarK
senior tag
Na kapcsold csak be szépen a Options -> Compiler panelen az összes range chechkinget, és sasold meg, hány helyen történnek turpisságok. Sok helyen 0-ból is kivonsz nullát, és csak utána ellenőrzöl; holot azelőtt kéne, mielőtt elvégzed a műveletet; és az ominózus ESC lenyomásakor szám helyett szöveget olvas be a fájlból; nagyon, de nagyon kusza cuccost sikerült összekotyvasztanod.
Talán ki tudnám halászni, mi miért és hol romlik el, de annyira ne tudom átlátni a stílusodat; meg megérteni a megoldási módszereid, hogy ebbe most nem fognék bele. Amit tudok javasolni; hogy szépen step-by-step menj végig minden kódsoron; és azokat az ellenőrzéseket tartsd bekapcsolva, és akkor minden bibinél runtime error-t fog dobni, aztán filózhatsz, hogy az vajon miért történt. -
N!tRo
tag
Hali!
Ha minden igaz, ez az az ominózus rész, amiből problémák adódtak:
repeat
oe:=o;
while ( keypressed) do readkey;
jel := readkey;
if ( jel = #0) then jel := readkey;
if jel=#80 then o:=o+1;{fel}
if jel=#72 then o:=o-1;{le}
if jel=#27 then exit; {esc}
if o=0 then o:=n; {tulhaladas}
if o=n+1 then o:=1; {vedelem}
if (jel=#72) or (jel=#80) then begin
textbackground(white);gotoxy(2,y+oe);write(lehet[oe]);{elozo atfestese}
textbackground(blue);gotoxy(2,y+o);write(lehet[o]);{uj atirasa}
end;
until (jel=#13) or (jel=#27);
if jel=#27 then begin szoveg:='';exit;end;{kilep a menube,esc}
if jel=#13 then{enter}
case o of
1:fej:=lehetfej[o];
2:fej:=lehetfej[o];
3:fej:=lehetfej[o];
4:fej:=lehetfej[o];
5:fej:=lehetfej[o];
end;
szoveg:='';reset(fajl2);
end;
Átírtam egy két dolgot, csak azért hogy jobban átlátható legyen, de lehet hogy a feltételezett hibát is kijavítottam ezzel, kérlek teszteld le, nekem nincs rá most lehetőségem, meg őszintén, megnéztem a progidat, nagyon szétszórt az egész. De ha te átlátod no problem
Szóval szerintem így:
while (keypressed) do readkey;
jel:= readkey; if jel = #0 then jel:=readkey;
repeat
oe:=o;
case jel of
#80: begin
o:=o+1; {fel}
textbackground(white); gotoxy(2,y+oe); write(lehet[oe]); {elozo atfestese}
textbackground(blue); gotoxy(2,y+o); write(lehet[o]); {uj atirasa}
end;
#72: begin
o:=o-1; {le}
textbackground(white); gotoxy(2,y+oe); write(lehet[oe]); {elozo atfestese}
textbackground(blue); gotoxy(2,y+o); write(lehet[o]); {uj atirasa}
end;
{ ezt itt nem ertem, itt is exit, meg par sorral lejjebb is??? kell ez ide???
nem lenne jobb ha until utan van csak exit? szerintem torold ezt a sort, de te tudod }
#27: exit; {esc}
end;
if o=0 then o:=n; {tulhaladas}
if o=n+1 then o:=1; {vedelem}
until (jel=#13) or (jel=#27);
case jel of
{ ide se kell a szoveg:='' mert par sorral lejjebb mindenkepp vegrehajtodik ez a parancs
vagy tedd az until utan rogton hogy szoveg:='', szerintem }
#27: begin szoveg:=''; exit; end; {kilep a menube,esc}
#13: case o of
1..5: fej:=lehetfej[o];
end;
end;
szoveg:=''; reset(fajl2);
end;
Üdv: Attila
ui.: remélem tudtam segíteni
[Szerkesztve]
[Szerkesztve]My Frist Android Logic Game -[ Frame It! ]- keresd az Android Market-en!
-
N!tRo
tag
Szóval akkor működik?
Amugy az elején az a választás, hogy Betöltés, Új Játék, Kilépés is érdekesen működik
De amúgy tetszik a játék ötlete, karakterfejlesztő (asszem
Sok sikert hozzá!
Üdv: egy másik AttilaMy Frist Android Logic Game -[ Frame It! ]- keresd az Android Market-en!
-
emitter
őstag
-
N!tRo
tag
Írok példákat, hátha megérted belőlük:
// ------------------------------------------ //
function tangens(szog:real):real;
begin
tangens:=sin(szog) / cos(szog);
end;
...
writeln(tangens(45));
// ------------------------------------------ //
function kocka:integer;
begin
randomize;
kocka:=random(6)+1;
end;
...
writeln(kocka);
// ------------------------------------------ //
function negyzet(x:integer):longint;
begin
negyzet:=x*x;
end;
...
writeln('4-nek a négyzete= ',negyzet(4));
{ tudom hogy van SQR függvény, csupán demonstrálás céljából csináltam }
// ------------------------------------------ //
Tehát a lényeg, hogy a function mindig egy értékkel tér vissza, lehet kezdőértékeket, egyéb paramétereket is adni neki (lásd: tangens, negyzet) de nem muszály (lásd kocka), a function tpye-ja határozza meg a visszatérő érték típusát is, tehát function meghaltam:boolean; egy logikai változót fog takarni, meghaltam-e a csatában vagy sem, de az is lehetne hogy function nevek(sorszam:integer):string ami egy megadott ''sorszam''-ú ember nevét, stringjét adja vissza neked.
De ez csak alapdolgok, ennél bővebben az előző hozzászóló linkjeiben találsz még leírást.My Frist Android Logic Game -[ Frame It! ]- keresd az Android Market-en!
-
ViragL
tag
Ha megfelelő célszoftvert (pl. bármelyik általános szövegszerkesztőt) használnál a mellékelt szöveg megírására (és nem egy DOS alapú editort) akkor a helyesírás nem jelentene problémát.
Minden tiszteletem annak a személynek, aki rászánja az időt és kijavítja a helyesírási hibáidat. -
@Jocó@
tag