Hirdetés
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Yettel topik
- Samsung Galaxy S22 és S22+ - a kis vagány meg a bátyja
- iPhone topik
- Honor Magic V3 - mágikus realizmus
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Android alkalmazások - szoftver kibeszélő topik
- Xiaomi: Android 16 zápor, zivatar
- Xiaomi 14T - nem baj, hogy nem Pro
Új hozzászólás Aktív témák
-
Drótszamár
őstag
csak fél perc alatt átfutattam a kódot, szal lehet hogy valamit félreolvastam.
De ha jól láttam rosszul vizsgáltad a hajók elhelyezését. A halyók nem csak egymáson nem lehetne, hanem nem is érhetnek egymáshoz. Tehát a hajók körüli mezőket is figyelni kell.
Én a szakdogámban (3D torpedo (delphi)) ezt egy mátrixal oldottam meg. Bejelöltem a hajót és a körülötte lévő mezőket (1-et hozzáadtam az akt értékhez). Ha valahol 1-nél nagyobb szám jött ki akkor rossz az elhelyezés. Tudom ez nem annyira hatékony, mint a kockánkénti ellenőrzés, de jóval eccerűbb lessz az algoritmus. -
nori
csendes tag
ez az alap ezt kéne tovább vnni ezért köszi
program torpedos;
const maxn=10;
type tomb=array[1..maxn] of integer;
matrix=array[1..maxn] of tomb;
sztomb=array[1..10] of string;
szmatrix=array[1..10] of sztomb;
var tabla:matrix;
sztabla:szmatrix;
procedure beolvas(var tabla:matrix);
var i,j:integer;
begin
for i:=1 to 10 do
for j:=1 to 10 do tabla[j]:=0;
tabla[4][2]:=1;
tabla[6][2]:=2;
tabla[6][3]:=2;
tabla[3][5]:=3;
tabla[4][5]:=3;
tabla[5][5]:=3;
end;
procedure tablakirajzolas(sztabla:szmatrix);
var i,j:integer;
begin
write(' ');
for i:=1 to 10 do write(' ', i,' ');
writeln;
for i:=1 to 10 do
begin
writeln;
writeln(i);
for j:=1 to 10 do write (' ',sztabla[j]);
end;
end;
procedure torpedo(var tabla:matrix; var sztabla:szmatrix);
var i,o,s:integer; nyerteme:integer;
begin
i:=1; nyerteme:=0;
while (nyerteme<3) and (i<=100) do
begin
tablakirajzolas(sztabla);
writeln;
writeln('Kérem az oszlopindexet');
readln (o);
writeln('Kérem a sorrendet');
readln (s);
if tabla[o][s]>0 then
begin
writeln('TALÁLT') ;
nyerteme:=nyerteme+1;
sztabla[o][s]:='T';
end
else begin
writeln ('NEM TALÁLT');
sztabla[o][s]:='~';
end;
if nyerteme=3 then write('GRATULÁLOK',i,' lépésből nyert');
i:=i+1;
end;
end;
begin
beolvas(tabla);
torpedo(tabla,sztabla);
readln;
end. -
zolika-
csendes tag
köszönöm szépen ismét.örülnék ha én is igy tudnám a programozást lenne itt még egy problémám de nem olyan nagyon sürgös ráér.
számítsuk ki egy derékszögü trapéz adatait ! (K, T)
Számítsuk ki egy deltoid adatait az oldalaiból és
átlójából ! (K, T)
ezt a feladatot kaptam ezt kéne megoldani valahogy
köszi -
QuarK
senior tag
-
QuarK
senior tag
Előre is bocsi a szájbarágó stílusért, de akkor leírom még egyszer, mindent megmagyarázva... Meg egy picit valtoztattam is.
uses crt;
crt unitot hasznaljuk; abban van a keypressed() es a readkey() fuggveny
var ch : char;
a ch valtozoban taroljuk majd a karakter erteket
begin
repeat
ciklust inditunk
ch := #0;
Ez ilyen formasag, kezdoerteknek legyen a karakter erteke 0.
if KeyPressed then
begin
Ha lett billentyu lenyomva, akkor beolvassuk, mit kaptunk
ch := ReadKey;
if ( ch = #0) then
Ha 0-t kapunk, az azt jelenti, specialis karakter fog kovetkezni...
pl ESC eseten egy #0-t, majd #27-et kapunk, fel gomb eseten.
Ha meg pl. a fel gombot, akkor #0, majd 'H'-t (#72).
Ilyenkor tehat meg egyszer beolvassuk a karaktert
ch := ReadKey;
Write( UpCase( ch));
Kiirjuk a nagybetusitett valtozatot
end;
until ( ch = #27);
ESC billentyut utottunk? Ha igen, kilepes a ciklusbol
end.
[Szerkesztve] -
nori
csendes tag
Légyszi segítsetek turbo pascalba kell torpedot programozni random segítségével a hajókat véletlenszerűen kell elhelyezni ugy hogy nem érhetnek egymáshoz sehogy sem elhelyzkedésük függöleges és vizszintes legyen minél hamarabb köszi nagyon előre is!!!!!!!
-
zolika-
csendes tag
Köszönöm szépen nagy segítség volt.
ha lehet egy kis magyarázatot kérhetek pl.:#0 mit jelent az összes billentyüzetröl érkező karakter? köszi -
-
zolika-
csendes tag
Hy.Lenne egy kérdésem hozzátok biztos jobban értetek a turbo pascalhoz mint én mert csak most kerdtem.szeretnék egy olyan progit amelyikkel ha beütök egy kis betüt akkor a képernyőre nagy betüt fog kiirni persze ua a betüt.
köszi -
gabor907
tag
helloka
nagy feladatot szeretnék kérni!
pascalban kellene egy játkot írni
na most olyasmi programra gondoltam ami a ''hülyének is egyszerű'' mármint nekem
ha nem lenne nagy feladat megtudnátok csinálni vmi aknakereső vagy saját elgondolás alapján egy progi ami egyszerű dolgokból áll
köcce -
Tottu
senior tag
Köszönöm a sok tippet és segítséget! Majd ha lesz időm neki állok és mindent áttanulmányozok. Thx mégegyszer!

-
VladimirR
nagyúr
válasz
#16741888
#978
üzenetére
csinalsz egy rekordot az auto adataival, es ket mutatoval
-egyik mutato mutasson a lista legelso elemere, masik a lista kovetkezo elemre (az utolsonal a kovetkezore mutato legyen nil)
-egyik mutato mutasson az elozo, masik a kovetkezo elemre (elso elemnel az elozore, utolso elemnel a kovetkezore mutato mutato erteke legyen nil (ezt reszletezem)
pelda1:
p_listaelem=^listaelem; (* ez lesz az alabbi rekor tipusu mutato *)
listaelem=record
marka:string
tipus:string;
szin:string;
rendszam:string;
gyartaseve:string;
prev:p_listaelem; (* ez mutat az elozo elemre *)
next:p_listaelem; (* ez mutat a kovetkezo elemre *)
end;
pelda2:
p_listaelem=^listaelem; (* ez lesz az alabbi rekor tipusu mutato *)
listaelem=record
marka:string
tipus:string;
szin:string;
rendszam:string;
gyartaseve:string;
first:p_listaelem; (* ez mutat az elso elemre *)
next:p_listaelem; (* ez mutat a kovetkezo elemre *)
end;
lista letrehozasa:
kell egy elem, es egy temp elem, amibe az adatfeltoltes tortenik, s amit majd a listahoz fuzol
var elem=p_listaelem;
temp=p_listaelem;
letrehozzuk, es feltoltjuk a listat (a beolvasas nincs benne):
for i:=1 to 30 do begin
(* marka, tipus, szin, rendszam es gyartaseve valtozok beolvasasa *)
new(temp); (* memoriafoglalas egy listaelem szamara *)
temp^.marka:=marka;
temp^.tipus:=tipus;
temp^.szin:=szin;
temp^.rendszam:=rendszam;
temp^.gyartaseve:=gyartaseve;
if i=1 then (* ha az elso elemet hozzuk letre, vagyis a listank meg ures, nincs aktualis eleme *)
temp^.prev:=nil; (* akkor az elozore mutato mutato legyen nil *)
else begin (* egyebkent *)
temp^.prev:=elem; (* az elozo legyen az aktualis elem *)
elem^.next:=temp; (* az aktualis elem kovetkezoje pedig legyen a jelenlegi *)
end;
temp^.next:=nil; (* mivel jelenleg nincs kovetkezo elem, ezert az legyen nil *)
elem:=temp; (* legyen az ujonnan letrehozott elem az aktualis *)
end;
ugras a lista elejere (addig megyunk, amig nem lesz elozo elem):
while elem^.prev <> nil do
elem:=elem^.prev;
ugras a lista vegere (addig megyunk, amig nem lesz kovetkezo elem):
while elem^.next <> nil do
elem:=elem^.next;
listaelem beszurasa az aktualis elem moge:
new(temp); (* memoria foglalasa az uj listaelemnek *)
temp^.prev:=elem; (* az uj elem elott levo a jelenlegi elem lesz *)
temp^.next:=elem^.next; (* az uj elem utan a jelenlegi elemet koveto elem lesz *)
temp^.prev^.next:=temp; (* az uj elem elott levo elemnek megmondjuk, hogy az uj elem lesz mogotte (tudom, hulyen hangszik) *)
temp^.next^.prev:=temp; (* az uj elem utan jovo elemnek megmondjuk, hogy az uj elem lesz elotte (tudom, ez is) *)
a program vegen illik (kvazi kotelezo) torolni a listankat, felszabaditva ezzel a memoriat:
ehhez eloszor a lista elejere (vagy vegere) kell allnunk (fentebbi kod), es sorbamenni az elemeken, majd mindet torolni
ha elol allunk a kovetkezokeppen torlunk (ha a vegen, akkor a next, es a prev ertelemszeruen felcserelendo)
while elem^.next <> nil do begin
temp:=elem; (* fogjuk az aktualis elemet *)
elem:=elem^.next; (* majd az azt kovetot tesszuk aktualissa *)
dispose(temp); (* vegul felszabaditjuk az elem altal foglalt memoriat *)
end;
mivel ezzel nem toroljuk az utolso elemet (aminel ugye a next nil volt), ezert azt kulon kell torolnunk
dispose(elem);
erdemes egyebkent a tesztelesi szakaszban a program elejen es vegen is megszamolni a szabad memoriat
program elejen:
size:=memavail;
program vegen:
writeln;
writeln(size);
size:=memavail;
writeln(size);
ha a ket ertek nem egyezik, akkor valami gubanc van a kodban: vagy tobb elemet hoztunk letre, mint amennyivel szamoltunk es vagy emiatt, vagy az esetlegesen a torlesnel levo hibabol adodoan kevesebbet toroltunk, mint amennyi van
ekkor erdemes lepesenkent ellenorizni a memoriameretet
megnezzuk, hogy mekkora egy
sizeof(elem);
majd a letrehozas utan is lekerdezzuk a szabad memoriat, es ebbol kivojnuk az elemek szamanak, es azok meretenek szorzatat, es ekkor meg kell kapnunk a kezdetbeni szabad memoria meretet
remelem tudtam seginteni, amr eleg reg pascaloztam, de akkor ugyahogy mentek ezek a dinamikus listak
ha valami kellene meg, vagy ebbol nem tiszta valami (pedig erot vettem magamon, es kommenteztem is), akkor kerdezz nyugodtan
peldaprogi itt => Bovebben: [link] -
#16741888
törölt tag

nagy nevetés lesz, passzív félévemet töltöm, aztán gyúrok a progra.
Nem akarok mégegyszer passzívra menni, eggyik haverom küldi a feladatokat, mondta hogy segít felfejlődni
, maximalista a srác, bár ebbe a feladatsorba inkább azt érzem hogy nem akar több feladatot küldeni
, korábban kell ahhoz felkelnie.
A unitot nagyon szívesen fogadom, megpróbálom én is megcsinálni.
-
#16741888
törölt tag
Ahogy észrevettem az emberek rákfenéjével fordulok most hozzátok
, nem nagyon kaptam srgítséget sehonnan.
Igen, a láncolt listák, pascalban...
Feladat:
Egy autó adatait (márka, típus, szín, rendszám, gyártás éve) tartjuk nyilván. Készítsen olyan programot, amely bekéri 30 autó adatait, majd megkeresi a legnépszerűbb márkát és megjeleníti a képernyőn! – Az adatokat láncolt lista adatszerkezetben tároljuk!
nem kérek megoldást, csak legalább azt mondjátok el hogy miről mire kell mutatni=>recordokat hogy deklaráljam
, mert eléggé tanácstalan vagyok
-
#16741888
törölt tag
Tudnátok nekem egy linket adni ahol a pascal beépített fügvényei vannak? felsorolva, kellene nekem egy pár és rohadtul nem találom meg

-
_eskimo
csendes tag
Azon, hogy nem tartasz a tömböknél, nem nagyon tudok segíteni.

Viszont írtam pár megjegyzést a .pas -ba. Innen le lehet szedni: [link]
/A futam.txt nekem is marhaságokat ír ki, de a Total Commander nézőkéje kiírja normálisan. Nem értem, hogy miért hülyeségeket ír ki. Ha a képernyőre írom ugyanezt, akkor jó./ -
cucka
addikt
flush eljárás esetleg? kiüríti a file-hoz tartozó buffer-t. lehet, hogy a readln kavar be, amit minden sor kiiratása után kérsz be, mondjuk beragad egy enter a buffer-be. egy próbát talán megér. (valami hasonlóval voltak nekem is gondjaim, de ez nagyon rég volt, így lehet, hogy full hülyeség, amit most írtam
)
egyébként a külső repeat ciklus elején be kéne false-ra állítani a kor változót, hogy az első üres sor után ne lépjen ki soronkét a belső repeat-ből. így is működik, csak nem túl szép
[Szerkesztve] -
_eskimo
csendes tag
Nem jöttem rá, hogy neked miért nem megy. Nekem megy (ugyanazzal a kikötéssel: sor<>'').
Megírtam a progit, ami megoldja a feladatod (az én bike.be fájlomon). (Igaz a futam.txt -t csak a TC nézőkéje írja ki normálisan, a jegyzettömb valamiért nem.
).
Javaslom, hogy először a te progid próbáld az én bike.be fájlomon, hátha megy. Ezzel .be a fájllal megoldható a feladat.
Ha nem megy, akkor próbáld ki az én exem a te bike.be fájlodon.
Megtalálod a zipet itt: [link]. (Ebben benne van az exe, a bike.be és a forráskód.)
(A forráskódot csak segítségnek szántam. Böngészd át nyugodtan, hátha találsz benne valami használhatót, de a programot ÍRD MEG TE IS, abból is csak tanulsz. Egyébként én is azért írtam meg, mert jó kihívásnak láttam. Mindenesetre másképp fogtam neki, mint te.) -
RAM
őstag
válasz
[HUN]Zolee
#965
üzenetére
EZ vmi TK pl?

-
Tottu
senior tag
válasz
VladimirR
#963
üzenetére
Termesztessen text. A kiolvasással semmi gond. Raktam be még ppár üres sort de az sem segített rajta. Az üres sorokat kiírja és ha azok is elfogynak akkor jönnek azok a nyíl karakterek.
Ez lenne a feladat: (hogy mindenki értse mire is kell ez)
Ismert a SuperBike világbajnokság 0 < N < = 12 idei futamának beérkezési sorrendje, a BIKE.BE szövegfájlban. Minden sorban egy név van, futamonként legfeljebb hat. Az egyes futamokat egy üres sor választja el egymástól (mindig maximum hatan érkeztek be).
1. Adjuk meg azok névsorát a FUTAM.TXT fájlban, akik minden futamon célba érkeztek! Minden sorban pontosan egy név szerepeljen!
2. A LISTA.TXT -be kerüljön be a világbajnokság eredményrangsora (rendezés)! A győztes 6, a többiek rendre eggyel kevesebb pontot kapnak! Minden sorban egy név legyen, mellette egy szóköz, után a pontszám!
Példa:
a b c d e f a c d f a f c b g a f b c
LISTA.TXT
a 23
c 15
f 13
b 11 d 7
g 6
e 2
FUTAM.TXT
a c f -
Tottu
senior tag
Valami akkor sem stimmel:
repeat
repeat
readln (file_1 , versenyzo);
If versenyzo = '' then
begin
kor := true;
end
else
begin
writeln (versenyzo);
readln;
end;
v_lista[versenyzo].reszvet := v_lista[versenyzo].reszvet + 1;
v_lista[versenyzo].nev := v;
until kor;
until eof(file_1);
Valamiért 2. repeat-until ciklusból nem lép ki, mert a versenyzo soha nem lesz egyenlő '' (üres sorral). És így egy végtelen ciklust kapok, és jobbra mutato kurzor nyilakat ír ki ha már nincs több char a fileban.
[Szerkesztve] -
Tottu
senior tag
Hi all!
Kellene egy kis segítség: egy file-ból olvassuk a köv. karaktereket:
a
b
c
d
e
f
a
c
d
A kiolvasás után össze kell hasonlítani hogy melyik sorozatban szerepelt ugyan az a char. Ezért a két sorozatot külön akarom kezelni (még van más feladat is), de azt hogyan vizsgáljam meg hogy a sor üres-e? -
_eskimo
csendes tag
Nem tudja valaki, hogy a 'Programozási feladatok és algoritmusok Turbo Pascal nyelven' című könyvet hol lehetne megszerezni?
Kerestem neten, de mindenhol kifogyott vagy nem is lehet már kapni
-
_eskimo
csendes tag
Hello!
Javaslom, hogy szerezz be egy editort és hozzá egy freepascal fordítót. Én most Editplust használok, nekem nagyon bevált. Gyors, a teljes képernyő egy gomb
, könnyen kezelhető, multifunkciós (több programnyelvet is kezel, ami a későbbiekben jól jön), de ez általában jellemző az editorokra. (Ultraedit is jól ment.)
Pascalból én a freepascalt jobban szeretem, mint borlandékat. (Ez csak magánvélemény.)
Egyébként holnap valaki Gábor Dénes versenyen 11-12.es programozó kategóriában nem indul?
-
bbazsy
őstag
hali
technikai jellegu kerdes:
pascalt (borland, 7) ra tudom venni valahogy, h teljes képernyőben normálisan fusson, esetleg még arra is, h ne 100% procit zabáljon?
tud valaki valami okost?
thx -
Neo...
aktív tag
Hi!
kellene 1 link hogy letöltsem a Pascalt!
ha valaki megtenné és pl ftp re felötltené nagyon megköszönném !
Nagyon fontos lenne ! -
#16741888
törölt tag
Egy fügvénynek hogy adok visszatérési értéket?
gondoltam ilyenre hogy return, elég lehangoló volt az eredmény
4. feladat: Kérjen be három pozitív egész számot a felhasználótól! Döntse el, hogy a három megadott szám lehet-e egy háromszög három oldala! Döntésének eredményét jelenítse is meg a képernyőn! – írjon komplett programot
Ez a feladatom egyébként, eljárással megoldottam de fügvénnyel kell... google nem volt kegyes hozzám
-
#16741888
törölt tag
Sziasztok, újabb kis problémám lenne.
ASCII kódtábla, van rá fügvény hogy megnézzem a karakter kódját? Azazhogy átalakítsa arra, sugót néztem nem nagyon találtam.
google kisegített, sorry.
[Szerkesztve] -
Lortech
addikt
válasz
#16741888
#942
üzenetére
Hát ez így elég érdekes kérdés.
(vagy lehet, hogy csak nekem fura
)
Attól függ minek felelteted meg a logikai értékeket.
Pl ha i/h jelenti az igaz/hamist, akkor c:=readkey (var c:char), és egy if c=''i'' then logikai:=true else logikai:=false; szelekcióval oldod meg a megfeleltetést.
szerk: javítva
[Szerkesztve] -
#16741888
törölt tag
Köszönöm a tegnapi segítséget. végülis egy 3.féleképpen oldottam meg.
Ma is lehet egy apró kérdésem?
logikai változót hogy tudok beolvasni? -
VladimirR
nagyúr
esetleg megnezi a tizes alapu logaritmusanak felfele kerekitett erteket
RAM: ko egy pecs a crt unit-hoz, meg van egy progi, amivel a mar leforditott progikat lehet megjavitani - crt unit hasznalata eseteben van csak gaz (runtime error 200 - division by zero)
Bovebben: [link] (nemtom ebben mi van benne, hirtelen gugliztam)
[Szerkesztve] -
RAM
őstag
200 MHz felett mit is kell beállítani?

-
#16741888
törölt tag
Lenne egy egyszerű kérdésem, alap, tudom
Adott számról hogy állapítom meg hogy hány karkterből áll?
Gondolok valamire, de félek hogy nagy marhaság.
-
domesz
aktív tag
Amugy ha megcsinálom év végéig minden hónapba kapok egy 5-öst

-
domesz
aktív tag
Hi all!
Lenne egy nagy problémám! Tanárom adot egy feladatot de sajna nemtom megcsinálni. Akinek van ideje meg TurboPascal mester az légyszi segitsen! A feladat az ami a képen van: [link] Ezt kellene látni amikor futtatom a progit! De pl .ha rámegyek hogy megnyitás nem kell semmit csináljon, csak lehessen látni hogy ottvan, ennyi! előre is köszi mindenkinek -
skylaner
senior tag
Valamiért nem leeht elérni a filet...de különben csak ennyi az inicalizálás:
Program a;
uses Crt, Graph;
var Gd, Gm: Integer;
begin
Gd := Detect;
InitGraph(Gd, Gm, '');
if GraphResult <> grOk then
Halt(1);
............................
end.
Ha nem találja meg az EGAVGA.BGI -t akkor megszakítja a program futását.
Ha megtalálja akkor meg tovább rendesen..
Melyik egyetemre jársz?
[Szerkesztve] -
skylaner
senior tag
válasz
geree@bl
#927
üzenetére
HA sugoba belemész és megnézed bármely grafikus módba hazsnálatos parancsot ot mindig be le van írva a példa programba a grafikus képernyő inicalizálása..
De egyébként itt van a ping-pongos progim ami már teljesen jó(Halász Csaba segítségével), itt is megtalálod a ping eljárásban a grafikus inicalizálását..
http://skylaner.freeweb.hu/ROBI.PAS
Ahhoz h müködjon a C:.....\TP\BGI\EGAVGA.BGI filet át kell másolni oda ahova letöltötted a programomat,amjd a Pascalba a File\Change Dir -t oda állísd be ahol van az EGAVGA.BGI [nálam így nézz ki... itt van a progi meg a .BGI file D:\TP\Programok\ , a change dirt is uygan ide kell beállítani]
Esetleg még a program végén az eljárások meghívásnál állítsd be a késleltetést a géepd szerint ,mert pl nekem itthon kell a 900-as delay de suliba 10 delay-el ment ugyan olyan sebeséggel.. [ így: ping(900,ss3s,dbd); helyett mondjuk ping(10,ss3s,dbd); ] -
geree@bl
senior tag
Üdv mindenkinek!
Egyetemen tanulok programozni, viszont még messze van a grafikai rész kódolása, ezért ehhez szeretnék kérni valami anyagot, ha valakinek van, esetleg egy működő grafikai résszel ellátott program forráskódját, mert engem nagyon érdekelne.
E-mailbe is jöhet a forráskód, az adatoknál van a címem.
Előre is köszönöm!
-
Jester01
veterán
válasz
skylaner
#924
üzenetére
Próbáld ki

Nekem tetszik, de ha pont az ütõ végét találod el, akkor bukta van
Sebességvektornak csak a neve ijesztõ
Legyen vx, vy a vektorod, akkor értelemszerûen az új koordináták: x + vx és y + vy, visszapattanás pedig a megfelelõ komponens szorzása mínusz eggyel. Igy nem kell a sok if le/jobbra és rögvest könnyen csinálsz változó sebességû és irányú mozgást. -
Jester01
veterán
Szerintem viszont nem ennyire egyszerû.
Azt kell megvizsgálni, hogy a labda (a körvonal) érintkezik-e az ütõvel.
Ha csak vízszintesen mozoghatna, akkor lehetne shev7 megoldását alkalmazni, annyi kiegészítéssel, hogy (x-r-1 = xl) or (x+r+1 =xl) kell.
Favágó módszer, de elsõ közelítésnek ez talán jó:
var
nx, cy, r2: Integer;
tmp: longint;
hit: boolean;
...
r:=10;
r2:=sqr(r+1);
...
hit := false;
if jobbra then nx := x + 1 else nx := x - 1;
tmp := r2 - sqr(xl - nx);
if tmp > 0 then begin
cy := yl;
while not hit and (cy <= zl) do begin
hit := sqr(cy - y) < tmp;
Inc(cy);
end;
if hit then jobbra := not jobbra;
end;
if not hit then begin
if jobbra then inc(x) else dec(x);
if le then inc(y) else dec(y);
end;
Ez megnézi, hogy a következõ iteráció során lenne-e olyan pontja az ütõnek ami közelebb lenne a labda közeppontjához annak sugaránál, és ha igen, akkor megfordítja az x irányú sebességvektort, de nem lép. Nem kezeli viszont ha a labda az ütõ alját vagy tetejét éri.
Egyébként javaslom, hogy a jobbra és le változók helyett ténylegesen sebességvektort használj, átláthatóbb lesz. -
emitter
őstag
válasz
skylaner
#917
üzenetére
megnéztem a progit, de mivel már rég pascaloztam, nem minden világos benne
de a lényeget sztem értem
a problémád nem az, hogy nem tudod hogyan tudhatod meg az ütő koordinátáit, azért, h a labda, ha elérkezik az ütő vonalába, visszapattanhasson róla, nem?
ha jól látom a helyzetet, akkor minden egyes bill-lenyomásnál ha tegyükföl épp egy fölfelé-gombot nyomtál, akkor ugye valahány pixellel eltolod az ütőt. Namost, ezt az eltolást, vagyis az ütő új koordinátáit eltárolva, már le tudnád kezelni azt az eseményt, ha a labda elér az ütő vonalába, nem? Ha a labda koordinátája benne van az ütő koordnátái között, akkor visszapattan onnan, ha nincs, akkor meg gameover
-
skylaner
senior tag
Hello.
Kéne egy kis segítség pascalba.
A feladat egy pin-pong progi készítése.
A képernyő bal oldalán van egy ''ütö'' arról kéne visszapatani a labdának,meg a képernyő oldalairól.
A nagyját már megcsináltam(kész az ütő mozgása[fel,le, csak egy síkban],a labda minden oldalról visszapattan),
csak az nem sikerül h az utöröl is visszapatanjon a labda.
HA valaki tudna segíteni megköszönném.
Valahogy lekéne kérdezni az aktuálisan kirajzolt vonal x,y kordinátáit,de nem talákatm olyan fgv.t
Itt a progi: http://skylaner.freeweb.hu/PINGPOGB.PAS
(aki ért hozzá,az tudni fogja h hogyan kell elindítani ugy h ne írja ki h nem találja az EGAVGA.BGI-t.) -
HAYES
csendes tag
csá!
Az lenne a kérdésem hogy ebben mi a rossz:
Program vmi;
uses crt;
Begin
clrscr;
Writeln('Hi!');
Readln;
End.
A clrscr sorába kiírja hogy: Error 200 Division by zero.
Lehet hogy nagyon egyszerű kérdés, de nem nekem kellene, én pedig semmit nem értek a pascalhoz. Ha valaki tudja a választ légyszi írja már meg!
Thx! -
cucka
addikt
nagy számok ábrázolására megfelelő lehet a string, tömb, lista, stb. a string/tömb minden eleme egy számjegy.
favágó típusú megoldás, hogy megírjuk ezekre a nagy számokra az összeadás, számjeggyel való szorzás és eltolás (10el való szorzás) függvényeket. ezek elég egyszerű függvények. ezután bármilyen szorzást visszavezethetünk ezekre a függvényekre. pl. x*123=x*100+x*20+x*3 .
biztos van ennél elegánsabb megoldás is, most hirtelen ennyire futotta. (remélem valamennyire azért érthető voltam)
[Szerkesztve] -
Szenty
tag
-
cucka
addikt
#896-ban mondta az, aki segítséget kért a program elkészítéséhez, olvass vissza.
ha ez egy egyszerű program, aminek a célja a ciklusok v. rekurzió gyakorlása, akkor valószínüleg senki nem fogja kipróbálni, milyen eredményt ad 25!-ra.
ha a feladat kiírásában szerepel, hogy a program ki kell tudja számolni akár a 25!-t is, akkor meg a longint-es megoldás nem jó. például lehet reprezentálni nagyon nagy számokat string-ekkel, és ezekre lehet írni szorzást is. -
almi
senior tag
Köszöntem szépen!

-
Szenty
tag
Többek között azért. De rengeteg újítást tartalmaz, ami miatt a TP-t már nyugdíjaztam.

Néhány feature a teljesség igénye nélkül:
- Teljesen 32 bites (linux alá már van 64 bites compiler is)
- tetszőleges méretű tömbök deklarálása és használata (ameddig a gépedben van virtuális memória persze)
- int64
- multi platform (dos, linux (még powerpc is), win32)
- a beépített IDE már megközelíti a TP-ét használhatóságban. (Egyre kevesebb bug van benne, és már debuggolni is príma)
- TP help fájlok haszálata
Ez a felsorolás nem teljes, de ezek azok, amiket már ki is használtam.
[link]
[Szerkesztve] -
cucka
addikt
''És 25! is elég lenne''
szerintem nem fog beférni egy longint-be (integer-be meg főleg)
Új hozzászólás Aktív témák
- Hővezető paszták
- sh4d0w: Kalózkodás. Kalózkodás?
- Villanyszerelés
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Torrent meghívó kunyeráló
- Vezetékes FÜLhallgatók
- LEGO klub
- Battlefield 6
- Vezeték nélküli fülhallgatók
- További aktív témák...
- Game Pass Ultimate előfizetés azonnal, problémamentesen, méghozzá OLCSÓN! Immáron 8 éve!
- Eladó egy oneplus 9 pro 256/12
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- 152 - Lenovo LOQ (15IRH8) - Intel Core i5-12450H, RTX 4060
- Samsung Galaxy S23 / 8/128GB / Kártyafüggetlen / 12Hó Garancia
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

ha lehet egy kis magyarázatot kérhetek pl.:#0 mit jelent az összes billentyüzetröl érkező karakter? köszi



, korábban kell ahhoz felkelnie.
, nem nagyon kaptam srgítséget sehonnan.





