[r3]: / trunk / RetroGames / Pong / CustomFunctionBlocks / POU_SCORECOUNTER / svnobj  Maximize  Restore  History

Download this file

30 lines (29 with data), 3.0 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
FUNCTION_BLOCK POU_SCORECOUNTER
VAR_INPUT
	xGoal : BOOL := FALSE;
	posBall : POSITION;
	iLimit : INT := 13;
	xReset: BOOL := FALSE;
END_VAR
VAR_OUTPUT
	iScore1 : INT := 0;
	iScore2 : INT := 0;
	xFinish : BOOL := FALSE;
VAR
	iWidth: INT;
IF (xReset) THEN
	xFinish := FALSE;
	xReset := FALSE;
	iScore1 := 0;
	iScore2 := 0;
END_IF
IF (iScore1 >= iLimit OR iLimit <= iScore2) THEN
	xFinish := TRUE;
ELSE
	IF (xGoal) THEN
		IF (posBall.iXPos > iWidth /2) THEN
			iScore1 := iScore1 + 1;
		ELSE 
			iScore2 := iScore2 + 1;
		END_IF
	END_IF