Урок 4
Готовый код игры
program pingpong;
uses GraphABC;
var
game,pd,pu,ad,au,dx,dy:boolean;
width,height,ypl,yan,wid,hei,spp,xb,yb,rb,speed,sc1,sc2:integer;
procedure KeyDown(k:integer);
begin
if k=VK_S then pd:=True;
if k=VK_W then pu:=True;
if k=VK_Down then ad:=True;
if k=VK_Up then au:=True;
end;
procedure KeyUp(k:integer);
begin
if k=VK_S then pd:=False;
if k=VK_W then pu:=False;
if k=VK_Down then ad:=False;
if k=VK_Up then au:=False;
end;
begin
//set
game:=True;
width:=1024;
height:=768;
lockDrawing();
SetWindowSize(width,height);
wid:=15;
hei:=100;
ypl:=(height-hei)div 2;
yan:=(height-hei)div 2;
spp:=20;
xb:=width div 2;
yb:=height div 2;
rb:=20;
speed:=10;
while game do
begin
//logic
if (dx and dy) then
begin
xb+=speed;
yb+=speed;
end
else if (dx and not dy) then
begin
xb+=speed;
yb-=speed;
end
else if (not dx and not dy) then
begin
xb-=speed;
yb-=speed;
end
else if (not dx and dy) then
begin
xb-=speed;
yb+=speed;
end;
if (pd and (ypl+hei<=height))then ypl+=spp;
if (pu and (ypl>=0)) then ypl-=spp;
if (ad and (yan+hei<=height)) then yan+=spp;
if (au and (yan>=0)) then yan-=spp;
if (xb-rb<=wid)then
begin
if(yb+rb>=ypl) and (yb-rb<=ypl+hei)then
dx:=not dx
else begin
xb:=width div 2;
yb:=height div 2;
dx:=True;
dy:=False;
sc2+=1;
end;
end;
if (xb+rb>=width-wid)then
begin
if (yb+rb>=yan) and (yb-rb<=yan+hei) then
dx:=not dx
else begin
xb:=width div 2;
yb:=height div 2;
dx:=False;
dy:=False;
sc1:=1;
end;
end;
if ((yb>=height-rb) or (yb<=rb)) then
dy:=not dy;
OnKeyDown:=KeyDown;
OnKeyUp:=KeyUp;
//draw
window.clear();
SetBrushColor(clBlue);
FillRect(width div 2-5,0,width div 2+5,height);
//player and anemy
FillRect(0,ypl,wid,ypl+hei);
FillRect(width-wid,yan,width,yan+hei);
FillCircle(xb,yb,rb);
//text
SetFontSize(50);
SetBrushColor(clRed);
TextOut(width div 4,20,sc1);
TextOut((width div 4)*3,20,sc2);
redraw();
end;
end.
Презентация
Завершив проектную работу на этом уроке, попросите группы представить дизайн и результаты проекта своим одноклассникам. Ученики могут использовать программу Pascal, видео, интерактивные доски, блоги и другие мультимедиа. Можно использовать различные творческие методы презентации.
Заключение
На этом проекте ученики узнали побольше информации о языке программирования Паскаль. Создали игру с помощью программы Паскаль.
Оценивание
Критерий оценивания по PBL:
Project based learning (проектно-ориентированное обучение) – это метод обучения, при котором учащиеся приобретают знания и навыки, работая над одним проектом в течение 3-х или 4-х недель, для исследования и поиска ответа на подлинный, интересный и сложный вопрос, проблему или вызов (далее перейдите по ссылке PBL Rubrics на рубрики).

