Here are results of week of learning:
Screenshots:
Download:
More 

Files was too large to upload into UnrealSoftware, so I uploaded it into megaupload
Download game (version 0.2.1)
Avaible languages:
MegaUpload
MediaFire
Download sources (version 0.2.1)
Avaible languages of sources:

MegaUpload
MediaFire


Files was too large to upload into UnrealSoftware, so I uploaded it into megaupload
Download game (version 0.2.1)
Avaible languages:

Download sources (version 0.2.1)
Avaible languages of sources:

Copyrights:
More 

Game images by Qrchack
Title screen music from main menu in freeware game Rox by Safrosoft.
In-game music: DJ Remo - Ta Ta Ta (Club Mix)
Title screen music from main menu in freeware game Rox by Safrosoft.
In-game music: DJ Remo - Ta Ta Ta (Club Mix)
Changelog:
More 

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Official KONG Changelog by Qrchack
---------------------------------------------------------
Current version: Beta 0.2.1 (29.12.2010)
What I want to add/change in future:
- Joystick support
- More cool sounds
- Menu
- Score limit (changing in menu - limit 5/10/15/20/25/30/unlimited)
- Website
- More modding potential
### Beta 0.2.1 - 30.12.2010
[INFO] Default keysettings has been changed! Read included help file first!
[INFO] Known bug: when score is extremally high game crashes ("Memory acces violation")
[INFO] English translated source code included
[FIXED] "Memory acces violation" error fixed
[ADDED] Title screen & ingame sound
[ADDED] Game field
[ADDED] Used fonts included
[CHANGED] Title screen is now much more cool!
### Beta 0.2.0 - 29.12.2010
[INFO] Now game requires "Alien Encounters" font! Please copy it into
C:\Windows\Fonts, otherwise game may not work correctly!
(font is included in /font folder)
[ADDED] Simple title screen
[ADDED] Score counting
[CHANGED] Files are now in /data folder
[CHANGED] Graphic is now "hidden" (extensions g00,g01,g02,g03,g04,
g05 - there are BMP files)
### Alpha 0.1.6 - 28.12.2010
[INFO] It is alpha version. It has known bugs and may damage your computer!
Use as your own risk!
[ADDED] Playing field added (field.bmp)
### Alpha 0.1.4 - 27.12.2010
Initial release.
Source code (translated from Polish version)
More 

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
;===================================
;============= KONG ================
;============ v.0.2.1 ==============
;===================================
; a simple variation on Pong
;===================================
AppTitle = "KONG 0.2.1"
.keys
; controls
Const A_KEY = 30
Const Z_KEY = 44
Const UP_KEY = 200
Const DOWN_KEY = 208
Const ESC_KEY = 27
.variables
; coordinates of paddles
Player_x = 20
Player_y = 240
Opp_x = 600
Opp_y = 240
; coordinates of ball
Ball_x = 5
Ball_y = 5
; ball speed
SpeedX = 6
SpeedY = 6
.initiation_sound
; Load title screen sound
Menu = LoadSound("data\music\Menu.wav")
.initiation_graphic
; Load graphic and start in 640x480
Graphics 640, 480, 16 ; set graphic mode
SetBuffer BackBuffer() ; drawing in back buffer
.load_graphic
Title = LoadImage("data\graphics\title.g00") ; title screen
Boisko = LoadImage("data\graphics\field.g01") ; playing field
Ball = LoadImage("data\graphics\ball.g02") ; ball
Player = LoadImage("data\graphics\bat.g03") ; player 1 paddle
Opp = LoadImage("data\graphics\bat.g04") ; player 2 paddle
.initiation_points
; Set points of both players to 1
Player_score=0
Opp_score=0
.title_screen
; Loop title screen sound...
LoopSound Menu
; and play it
MenuSound = PlaySound(Menu)
; Draw title screen and wait for any key
While Not value
	value=GetKey() ; dopoki nie nacisnieto zadnego klawisza
	DrawImage Title,0,0 ; rysujemy ekran tytulowy
	Flip ; przekrecamy bufory
Wend
; when player press any key stop title screen music
StopChannel MenuSound
; and delete variable
FreeSound Menu
; now get into loop
.while_loop
; load music
tatata=PlayMusic("data\music\tatata.mp3")
; loop until key esc pressed
While Not KeyHit(1) ; 1 - kod ESC
.ball_postion
Ball_x = Ball_x + SpeedX
Ball_y = Ball_y + SpeedY
; points counting
If Ball_x<1 Then Opp_score = Opp_score + 1
If Ball_x>600 Then Player_score = Player_score + 1
; ball bouncing
If Ball_y<1 Or Ball_y>440 Then
	SpeedY = -SpeedY
EndIf
; restart when ball is outside screen
If Ball_x<1 Or Ball_x>600 Then
	Ball_x=5
	Ball_y=5
	SpeedX=6
	SpeedY=6
EndIf
.collision_checking
If ImagesCollide(Player,Player_x,Player_y,0,Ball,Ball_x,Ball_y,0) Then
	SpeedX= -SpeedX
EndIf
If ImagesCollide(Ball,Ball_x,Ball_y,0,Opp,Opp_x,Opp_y,0) Then
	SpeedX= -SpeedX
EndIf
.keys_1
	; Checking keys of player 1
	
	If KeyDown (A_KEY) ; if A key pressed
	
		Player_y=Player_y-8 ; move paddle 8px up
		If Player_y<0 Then Player_y=0 ; when paddle is on the corner stop moving
	
	EndIf
	
	If KeyDown (Z_KEY) ; if Z key pressed
	
		Player_y=Player_y+8 ; move paddle 8px down
		If Player_y>400 Then Player_y=400 ; when paddle is on the corner stop moving
	
	EndIf
	
	
.keys_2
	; Cheking keys of player 2
	
	If KeyDown (UP_KEY) ; if UP arrow pressed
		
		Opp_y=Opp_y-8 ; move paddle 8px up
		If Opp_y<0 Then Opp_y=0 ; when paddle is on the corner stop moving
		
	EndIf
	
	If KeyDown (DOWN_KEY) ; if DOWN arrow pressed
	
		Opp_y=Opp_y+8 ; move paddle 8px down
		If Opp_y>400 Then Opp_y=400 ; when paddle is on the corner stop moving
	
	EndIf
	
.esc_checking
	; Is ESC key pressed?
	
	If KeyDown (ESC_KEY) ; if pressed
		Goto quit ; go to end
	EndIf
	
; Game drawing
.frame_draw
		Cls ; clear screen
		
.load_fonts
		; load fonts into variable
		fntArial=LoadFont("Arial",14,False,False,False) ; Arial 14pt
		fntScore=LoadFont("Alien Encounters",36,False,False,False) ; Alien Encounters 36pt (included into download)
		
		; draw playing field
		DrawImage Boisko, 0, 0
		
		; set font to Arial and write
		SetFont fntArial
		Text 540,0,"Press ESCAPE to exit",True,False
		
		
		; set font to Alien Encounters...
		
		SetFont fntScore
		
		; and write score
		Text 280,0,Player_score,1
		Text 360,0,Opp_score,1
		
		; go next
		DrawImage Ball, Ball_x,Ball_y ; draw ball
		DrawImage Player, Player_x, Player_y ; player 1 paddle
		DrawImage Opp, Opp_x, Opp_y ; player 2 paddle
		Flip ; flip buffers
	
	
Wend ; end of loop
.quit
; delete variable of font
FreeFont fntArial
; and end
End ; end of program
;===================================
Polish source code:
More 

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
;==================================
;============= KONG ===============
;============ v.0.2.1 =============
;==================================
; czyli wariacja na temat Ponga
;==================================
AppTitle = "KONG 0.2.1"
.klawisze
; sterowanie
Const A_KEY = 30
Const Z_KEY = 44
Const UP_KEY = 200
Const DOWN_KEY = 208
Const ESC_KEY = 27
.zmienne
; zmienne - wspolrzedne paletek
Player_x = 20
Player_y = 240
Opp_x = 600
Opp_y = 240
; zmienna - polozenie pilki
Ball_x = 5
Ball_y = 5
; zmienna - predkosc pilki
SpeedX = 6
SpeedY = 6
.inicjacja_dzwieku
; Wczytujemy muzyke i dzwieki
Menu = LoadSound("data\music\Menu.wav")
.inicjacja_grafiki
; Wczytujemy grafike i ladujemy w 640x480
Graphics 640, 480, 16 ; ustawiamy tryb graficzny
SetBuffer BackBuffer() ; ustawiamy rysowanie w tylnym buforze
.wczytujemy_grafike
Title = LoadImage("data\graphics\title.g00") ; wczytujemy ekran startowy...
Boisko = LoadImage("data\graphics\field.g01") ; boisko...
Ball = LoadImage("data\graphics\ball.g02") ; pilke...
Player = LoadImage("data\graphics\bat.g03") ; paletke gracza...
Opp = LoadImage("data\graphics\bat.g04") ; i przeciwnika
.inicjacja_punkty
; Ustawiamy punkty obydwu graczy na 0
Player_score=0
Opp_score=0
.ekran_tytulowy
; Ekran tytulowy
LoopSound Menu
MenuSound = PlaySound(Menu)
While Not value
	value=GetKey() ; dopoki nie nacisnieto zadnego klawisza
	DrawImage Title,0,0 ; rysujemy ekran tytulowy
	Flip ; przekrecamy bufory
Wend
StopChannel MenuSound
FreeSound Menu
.petla_while
; Petla while
tatata=PlayMusic("data\music\tatata.mp3")
While Not KeyHit(1) ; 1 - kod ESC
.polozenie_pilki
; polozenie pilki
Ball_x = Ball_x + SpeedX
Ball_y = Ball_y + SpeedY
; zliczanie punktow
If Ball_x<1 Then Opp_score = Opp_score + 1
If Ball_x>600 Then Player_score = Player_score + 1
;odbijanie pilki
If Ball_y<1 Or Ball_y>440 Then
	SpeedY = -SpeedY
EndIf
If Ball_x<1 Or Ball_x>600 Then
	Ball_x=5
	Ball_y=5
	SpeedX=6
	SpeedY=6
EndIf
.wykrywanie_kolizji
; wykrywanie kolizji
If ImagesCollide(Player,Player_x,Player_y,0,Ball,Ball_x,Ball_y,0) Then
	SpeedX= -SpeedX
EndIf
If ImagesCollide(Ball,Ball_x,Ball_y,0,Opp,Opp_x,Opp_y,0) Then
	SpeedX= -SpeedX
EndIf
.klawisze_1
	; Sprawdzamy klawisze gracza 1	
	
	If KeyDown (A_KEY) ; jesli nacisniety klawisz A
	
		Player_y=Player_y-8
		If Player_y<0 Then Player_y=0
	
	EndIf
	
	If KeyDown (Z_KEY) ; jesli nacisniety klawisz Z
	
		Player_y=Player_y+8
		If Player_y>400 Then Player_y=400
	
	EndIf
	
	
.klawisze_2	
	; Sprawdzamy klawisze gracza 2
	
	If KeyDown (UP_KEY) ; jesli nacisniety klawisz do gory
		
		Opp_y=Opp_y-8
		If Opp_y<0 Then Opp_y=0
		
	EndIf
	
	If KeyDown (DOWN_KEY) ; jesli nacisniety klawisz w dol
	
		Opp_y=Opp_y+8
		If Opp_y>400 Then Opp_y=400
	
	EndIf
	
.wyjscie
	; Sprawdzamy esc
	
	If KeyDown (ESC_KEY) ; jesli nacisnieto esc
		Goto koniec
	EndIf
	
; Rysujemy gre
.rysowanie_klatki
		Cls ; czyscimy ekran
		
.czcionki
		; ladujemy czcionki do globalnych
		fntArial=LoadFont("Arial",14,False,False,False)
		fntScore=LoadFont("Alien Encounters",36,False,False,False)
		
		; rysujemy boisko
		DrawImage Boisko, 0, 0
		
		; czcionka Arial i piszemy
		SetFont fntArial
		Text 540,0,"Press ESCAPE to exit",True,False
		
		
		; przestawiamy na Alien Encounters
		
		SetFont fntScore
		
		; i wypisujemy wynik
		Text 280,0,Player_score,1
		Text 360,0,Opp_score,1
		
		; jedziemy dalej
		DrawImage Ball, Ball_x,Ball_y ; rysujemy pilke
		DrawImage Player, Player_x, Player_y ; rysujemy paletki gracza
		DrawImage Opp, Opp_x, Opp_y ; i przeciwnika
		Flip ; wyswietlamy tylny bufor
	
	
Wend ; koniec petli while
.koniec
; usuwamy globala
FreeFont fntArial
; i konczymy
End ; koniec programu
edited 15×, last 18.12.11 09:29:28 pm
Development thread - KONG [current version 0.2.1]
1 
Offline



. Coming soon version 0.2.2