2017-09-16 3 views
0
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パラメータは不要になり、消え去ります。

より意味のある名前が使用されているものを提供するために利用可能なコンテキストの手がかりを使用して、まったく属していないものを削り取ってください。コードを分析するだけではなく、実行時のデバッグによっても推測できないことがあるかもしれませんが、farを読みやすくする必要があります。 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; 
関連する問題