program GameMain;
uses SwinGame, sgTypes;
function buttonClicked(p1, Next_PARAM_thingie: Single; W, lastOne: Integer): Boolean;
var blah, blee: Single; _r_, BTMOB: Single;
begin blah := MouseX(); blee := MouseY(); _r_ := p1 + W; BTMOB := Next_PARAM_thingie + lastOne; result := false;
if MouseClicked( LeftButton ) then
begin
if (blah >= p1) and (blah <= _r_) then
begin result := true;
end;
end;
end;
procedure Main();
var
clr: Color;
begin
OpenGraphicsWindow('Test Program for Button Click Code', 800, 600);
ShowSwinGameSplashScreen();
clr := ColorWhite;
repeat
clearScreen(clr);
drawframerate(0,0);
fillRectangle(ColorGrey, 50, 50, 100, 30);
drawtext('Click Me', ColorBlack, 'arial.ttf', 14, 55, 55);
RefreshScreen();
Processevents();
if buttonClicked(50, 50, 100, 30) then
begin
clr := RandomRGBcolor(255);
end;
until WindowCloseRequested();
end;
begin
main();
end.
我一直试图弄清楚什么是什么,但它不会很好。我可以使用一些帮助试图找出每个随机单词的作用,这样我就可以更改名称,以便代码更加理解
答案 0 :(得分:0)
我要做的第一件事就是去掉那些不需要的东西。在给出的代码示例中,BTMOB完全未使用,因此我将删除它以及设置其值的代码。删除BTMOB后,不再需要lastOne参数,因此它就会消失。
继续削减完全不属于的东西,并使用任何上下文线索来提供使用更有意义的名称的东西。有些事情你可能无法通过分析代码来猜测,甚至可能通过运行时调试,但你应该能够使它远更具可读性。下面是一个关于buttonClicked在第一次传递之后的样子的示例(您还必须更改调用它的代码,不再传递已删除的未使用参数)。
function buttonClicked(p1: Single; W: Integer): Boolean;
var posX: Single; _r_: Single;
begin posX := MouseX(); _r_ := p1 + W; result := false;
if MouseClicked( LeftButton ) then
begin
if (posX >= p1) and (posX <= _r_) then
begin result := true;
end;
end;
end;