PDA

View Full Version : سوال در ساخت بازی پینگ پنگ در پاسکال



nimja145
سه شنبه 20 فروردین 1387, 21:50 عصر
سلام به همه دوستان
من میخوام بازی پینگ پگ تو پاسکال رو بسازم.تا جاهایی رو هم ساختم.
این کدش:

rogram pnigpong ;
uses crt,graph;
const directory ='c:\tp\bgi';
cup = chr(72);
cdown = chr(80);
cesc = chr(27);
var driver,x,y,xc,yc,limy,limx, mode : integer;
chkey : char;
begin
x:=50;
y:=100;
xc:=300;
yc:=150;
limy:=1;
limx:=1;
initgraph ( driver , mode ,directory);
setfillstyle (1,1);
bar (100,50,500,250);{miz}
setfillstyle (1,4);
bar (501,x,520,y);{raket rast}
BAR (80,x,99,y); {raket chap}
{rasme toop}
setcolor(15);
circle (300,150,5);
setfillstyle(1,15 );
floodfill(300,150,15);
{bakhshe harekat}
repeat
begin
{harekat toop}
if yc>=245 THEN
limy:=limy*(-1);
if yc<=55 then
limy:=limy*(-1);
if xc>=495 then
limx:=limx*(-1);
if xc<=105 then
limx:=limx*(-1);
xc:=xc+limx;
yc:=yc+limy;
setfillstyle (1,1);
bar (100,50,500,250);{miz}
setcolor(15);
circle (xc,yc,5);
setfillstyle(1,15 );
floodfill(xc,yc,15);
chkey :=readkey;
{key}
if chkey=cdown then
begin
SETFILLSTYLE (0,0);
BAR (80,50,99,250) ;
BAR (501,50,520,250) ;
x:=x+2;
y:=y+2;
SETFILLSTYLE (1,4 );
BAR (80,x,99,y);{raket chap}
bar (501,x,520,y)
end;
if chkey=cup then
begin
SETFILLSTYLE (0,0);
BAR (80,50,99,250) ;
BAR (501,50,520,250) ;
x:=x-2;
y:=y-2;
SETFILLSTYLE (1,4);
BAR (80,x,99,y);{raket chap}
bar (501,x,520,y)
end;
end;
until chkey=cesc;
readln;
closegraph
end.

سوال یا همون مشکل من مربوط به بخشی هست که پررنگ کردم.یعنی بخش حرکت ها.
اول یک سوال :آیا تابعی برای حرکت یک شکل درپاسکال وجود داره یا نه؟
چون من چنین تابعی پیدا نکردم مجبور شده که با استفاده از repeat حرکت رو ایجاد بکنم.
این حرکت به خوبی کار مینه. قط یه مشکل کوچیک داره.هر وقت دکمه up یا down رو بزنی و فشار بدی توپ حرکت میکنه. یعنی با بالا کردن و پایین کردن راکت ها توپ حرکت میکنه.و وقتی هیچ دکمه ای رو نزنی توپ ثابت میمونه.
نمیشه کاری کرد توپ به حرکتش ادامه بده؟؟؟

خواهش میکنم فقط سریع پاسخ بدید. اگر هم قسمتی از برنامه براتون ابهام داشت بپرسید تا براتون توضیح بدم.
ممنون

nimja145
چهارشنبه 21 فروردین 1387, 08:05 صبح
خواهشا لطف کنید پاسخ بدید
شدیدا احتیاج دارم
ممنون