Welcome, Guest |
You have to register before you can post on our site.
|
Forum Statistics |
» Members: 483
» Latest member: aplus
» Forum threads: 2,795
» Forum posts: 26,340
Full Statistics
|
Latest Threads |
GNU C++ Compiler error
Forum: Help Me!
Last Post: Steffan-68
1 hour ago
» Replies: 17
» Views: 205
|
What do you guys like to ...
Forum: General Discussion
Last Post: bplus
10 hours ago
» Replies: 10
» Views: 118
|
Mean user base makes Stev...
Forum: General Discussion
Last Post: Pete
Yesterday, 06:39 PM
» Replies: 8
» Views: 220
|
Fast QB64 base64 encoder ...
Forum: a740g
Last Post: a740g
Yesterday, 04:43 AM
» Replies: 3
» Views: 457
|
_IIF limits two question...
Forum: General Discussion
Last Post: bplus
Yesterday, 02:56 AM
» Replies: 6
» Views: 116
|
DeflatePro
Forum: a740g
Last Post: a740g
Yesterday, 02:11 AM
» Replies: 2
» Views: 70
|
New QBJS Samples Site
Forum: QBJS, BAM, and Other BASICs
Last Post: dbox
12-20-2024, 06:16 PM
» Replies: 25
» Views: 902
|
Raspberry OS
Forum: Help Me!
Last Post: Jack
12-20-2024, 05:42 PM
» Replies: 7
» Views: 157
|
InForm-PE
Forum: a740g
Last Post: Kernelpanic
12-20-2024, 05:22 PM
» Replies: 80
» Views: 6,189
|
Merry Christmas Globes!
Forum: Programs
Last Post: SierraKen
12-20-2024, 03:46 AM
» Replies: 10
» Views: 149
|
|
|
aquascape windows screen saver ver1.1 |
Posted by: kn0ne - 04-22-2024, 09:29 PM - Forum: Utilities
- No Replies
|
|
OK here is ver1.1 I took your advice a74og and made the path a relative path, thank you for the advice! I did not know you can do that. I also cleaned up the code a bit by removing the $debug command (thanks bplus).
I mostly program with the unrelated Batari BASIC language, and I dabble with 6502 ASM on the Atari tip.
I find QB64 PE very enjoyable to program with! and am looking forward to learning more!
Code: (Select All) Option _Explicit
Screen _NewImage(1900, 1080, 32)
_FullScreen
_MouseHide
Dim Shared f&
Dim Shared fdt&
Dim Shared fkn&
fkn& = _LoadFont("aqua_mat\fonts\Ac437_Kaypro2K_G.ttf", 34)
f& = _LoadFont("aqua_mat\fonts\Ac437_Kaypro2K_G.ttf", 24)
fdt& = _LoadFont("aqua_mat\fonts\Ac437_Kaypro2K_G.ttf", 18)
Option _Explicit
'--const&variables--
Const CYAN = _RGB32(0, 255, 255)
Const LIGHTCYAN = _RGB32(0, 123, 252)
Const PURPLE = _RGB32(56, 0, 177)
Const BRIGHTPURPLE = _RGB32(205, 0, 238)
Const YELLOW = _RGB32(255, 255, 0)
Const LIGHTYELLOW = _RGB32(255, 255, 139)
Const DARKYELLOW = _RGB32(216, 216, 83)
Const BRIGHTRED = _RGB32(255, 0, 0)
Const RED = _RGB32(177, 0, 0)
Const DARKRED = _RGB32(144, 0, 0)
Const ORANGE = _RGB32(255, 72, 67)
Const BRIGHTGREEN = _RGB32(0, 255, 0)
Const DARKGREEN = _RGB32(0, 61, 0)
Const GREEN = _RGB32(0, 122, 0)
Const BLUE = _RGB32(0, 0, 255)
Const LIGHTBLUE = _RGB32(0, 83, 255)
Const WHITE = _RGB32(255, 255, 255)
Const GRAY = _RGB32(127, 127, 127)
Const LIGHTGRAY = _RGB32(0, 200, 0)
Const DARKGRAY = _RGB32(0, 100, 0)
Const BLACK = _RGB32(0, 0, 0)
Const num_fish = 35
Const num_fisha = 15
Const num_fishb = 35
Const num_fishba = 28
Const num_fish2 = 20
Const num_fish3 = 25
Const num_fish4 = 20
Const num_fish5 = 25
Const num_fish6 = 10
Const num_snail_1 = 68
Const num_snail_2 = 68
Const num_bubbles = 20
Const num_bubbles2 = 20
Const num_bubbles3 = 20
Const num_hooks = 1
Const num_plants = 500
Dim Shared sv As Integer
Dim Shared f As Integer
f = 0
Dim Shared randf As Integer
Dim Shared randf2 As Integer
Dim Shared randf3 As Integer
Dim Shared randf4 As Integer
Dim Shared randf5 As Integer
Randomize Timer
randf = Int((Rnd * 4) + 1)
randf2 = Int((Rnd * 4) + 1)
randf3 = Int((Rnd * 4) + 1)
randf4 = Int((Rnd * 4) + 1)
randf5 = Int((Rnd * 4) + 1)
Dim Shared time_limit As Integer
time_limit = (Int(Rnd * 600)) + 300
Type fish_type
x As Integer
y As Integer
r As Integer
color As Long
move_right As Integer
move_up As Integer
height As Integer
width As Integer
End Type
Type snail_type
x As Integer
y As Integer
move_right As Integer
move_up As Integer
End Type
Type bubble_type
x As Integer
y As Integer
move_right As Integer
move_up As Long
End Type
Type plant_type
x As Integer
y As Integer
c As Long
End Type
Type hook_type
x As Integer
y As Integer
move_right As Integer
move_up As Integer
End Type
Type window_type
height As Integer
width As Integer
End Type
Dim Shared fish(num_fish) As fish_type 'creates the fish"array" with the size set to "num_fish"
Dim Shared fisha(num_fisha) As fish_type
Dim Shared fishb(num_fishb) As fish_type
Dim Shared fishba(num_fishba) As fish_type
Dim Shared fish2(num_fish2) As fish_type
Dim Shared fish3(num_fish3) As fish_type
Dim Shared fish4(num_fish4) As fish_type
Dim Shared fish5(num_fish5) As fish_type
Dim Shared fish6(num_fish6) As fish_type
Dim Shared plant(num_plants) As plant_type
Dim Shared plant2(num_plants) As plant_type
Dim Shared snail_1(num_snail_1) As snail_type
Dim Shared snail_2(num_snail_2) As snail_type
Dim Shared bub(num_bubbles) As bubble_type
Dim Shared bub2(num_bubbles2) As bubble_type
Dim Shared bub3(num_bubbles3) As bubble_type
Dim Shared hook(num_hooks) As hook_type
Dim Shared hook2(num_hooks) As hook_type
Dim Shared hook3(num_hooks) As hook_type
Dim Shared hook4(num_hooks) As hook_type
Dim Shared hook5(num_hooks) As hook_type
Dim mmx%
Dim mmy%
Dim Shared current_date$
current_date$ = Date$
Dim Shared h% ' hours
Dim Shared m% ' minutes
Dim Shared s% ' seconds
Dim Shared tm$ ' current time% value
Dim Shared x% 'circle x pos
Dim Shared y% 'circle y pos
Dim clock_timer%
Dim Shared clock_right As Integer
Dim Shared clock_up As Integer
Dim Shared current_hr As Integer
current_hr = Val(Left$(tm$, 12))
Dim Shared current_hr
current_hr = Val(Left$(tm$, 2))
Dim Shared my_timer2 As Integer
Dim Shared my_timer3 As Integer
Randomize Timer
Dim Shared dy As Integer
dy = (Rnd * 940) + 940
Dim Shared dx As Integer
dx = (Rnd * 1899)
Dim Shared sn As Integer
clock_right = 1
clock_up = 1
x% = Int(Rnd * 1900)
y% = Int(Rnd * 1080)
Dim b&
Dim Shared lb&
Dim Shared t~&
b& = _SndOpen("aqua_mat\sounds\fishtank_bubbles.mp3")
lb& = _SndOpen("aqua_mat\sounds\large_bubble.mp3")
'--main_loop--
fish_setup
Randomize Timer
Dim bnum420&
Dim Shared bgp420$
bnum420& = _Round(Rnd * 50)
bgp420$ = RTrim$(LTrim$(Str$(bnum420&)))
If bgp420$ = "0" Then
bgp420$ = "1"
End If
If bnum420& > 50 Then
bgp420$ = "40"
End If
Dim Shared alert420&
alert420& = _LoadImage("aqua_mat\images\420\420_" + bgp420$ + ".jpg", 32)
Dim Shared day_pic&
Dim Shared night_pic&
Dim bgdp$
Dim bdnum As Long
bdnum = _Round(Rnd * 80)
bgdp$ = RTrim$(LTrim$(Str$(bdnum)))
If bgdp$ = "0" Then
bgdp$ = "59"
End If
If bdnum > 80 Then
bgdp$ = "79"
End If
Dim bgnp$
Dim bnnum As Long
bnnum = _Round(Rnd * 81)
bgnp$ = RTrim$(LTrim$(Str$(bnnum)))
If bgnp$ = "0" Then
bgnp$ = "3"
End If
If bnnum > 81 Then
bgnp$ = "81"
End If
'bgnp$ = "47"
Dim Shared st_pat_pic&
Dim Shared july_4th_pic&
Dim Shared halloween_pic&
Dim Shared de_los_meurtos_pic&
Dim Shared xmas_pic&
Dim Shared new_year_pic&
Dim bgspd$
Dim bgspd&
Dim bgj4$
Dim bgj4&
Dim bghw$
Dim bghw&
Dim bgdlm$
Dim bgdlm&
Dim bgxms$
Dim bgxms&
Dim bgny$
Dim bgny&
Dim Shared p1x As Integer
Dim Shared p2x As Integer
Dim Shared p3x As Integer
Dim Shared p1y As Integer
Dim Shared p2y As Integer
Dim Shared p3y As Integer
p1x = (Rnd * 1080)
p2x = (Rnd * 1080)
p3x = (Rnd * 1080)
p1y = (Rnd * 1080) + 500
p2y = (Rnd * 1080) + 400
p3y = (Rnd * 1080) + 600
'' st pat day ''
bgspd& = _Round(Rnd * 11)
bgspd$ = RTrim$(LTrim$(Str$(bgspd&)))
If bgspd$ = "0" Then
bgspd$ = "3"
End If
If bgspd& > 11 Then
bgspd$ = "11"
End If
'' 4th of July ''
bgj4& = _Round(Rnd * 10)
bgj4$ = RTrim$(LTrim$(Str$(bgj4&)))
If bgj4$ = "0" Then
bgj4$ = "3"
End If
If bgj4& > 10 Then
bgj4$ = "10"
End If
'' halloween ''
bghw& = _Round(Rnd * 13)
bghw$ = RTrim$(LTrim$(Str$(bghw&)))
If bghw$ = "0" Then
bghw$ = "3"
End If
If bghw& > 13 Then
bghw$ = "13"
End If
'' dia de los meuertos ''
bgdlm& = _Round(Rnd * 11)
bgdlm$ = RTrim$(LTrim$(Str$(bgdlm&)))
If bgdlm$ = "0" Then
bgdlm$ = "3"
End If
If bgdlm& > 11 Then
bgdlm$ = "11"
End If
'' xmas ''
bgxms& = _Round(Rnd * 6)
bgxms$ = RTrim$(LTrim$(Str$(bgxms&)))
If bgxms$ = "0" Then
bgxms$ = "1"
End If
If bgxms& > 6 Then
bgxms$ = "4"
End If
'' new year ''
bgny& = _Round(Rnd * 11)
bgny$ = RTrim$(LTrim$(Str$(bgny&)))
If bgny$ = "0" Then
bgny$ = "3"
End If
If bgny& > 11 Then
bgny$ = "11"
End If
st_pat_pic& = _LoadImage("aqua_mat\images\holiday\st_pat\st_pat_" + bgspd$ + ".jpg", 32)
july_4th_pic& = _LoadImage("aqua_mat\images\holiday\fourth_of_july\fourth_of_july_" + bgj4$ + ".jpg", 32)
halloween_pic& = _LoadImage("aqua_mat\images\holiday\halloween\halloween_" + bgj4$ + ".jpg", 32)
de_los_meurtos_pic& = _LoadImage("aqua_mat\images\holiday\dia_de_los_muertos\dia_de_los_muertos_" + bgdlm$ + ".jpg", 32)
xmas_pic& = _LoadImage("aqua_mat\images\holiday\xmas\xmas_" + bgxms$ + ".jpg", 32)
new_year_pic& = _LoadImage("aqua_mat\images\holiday\new_year\new_year_" + bgny$ + ".jpg", 32)
day_pic& = _LoadImage("aqua_mat\images\fish\day\aqua_day_" + bgdp$ + ".jpg", 32)
night_pic& = _LoadImage("aqua_mat\images\fish\night\aqua_night_" + bgnp$ + ".jpg", 32)
Color _RGB32(6, 233, 17)
Dim text$
If f& > 0 Then _Font f&
text$ = "generating aquascape... "
_PrintString (950, 540), text$
'draw_plant
dy = (Rnd * 1050) + 940
background_draw
_Delay 5
Do: _Limit 60
'Cls
current_hr = Val(Left$(tm$, 2))
If current_hr = 16 And m% >= 20 And m% <= 40 Then
_PutImage , alert420&
Else
holiday_check
End If
tm$ = Time$
s% = Val(Right$(tm$, 2))
m% = Val(Mid$(tm$, 4, 2))
h% = Val(Left$(tm$, 2))
clock_timer% = clock_timer% + 1
draw_plant
If clock_timer% < 102 Then convert_to_12hr
If clock_timer% = 204 Then clock_timer% = 0
If current_hr >= 6 And current_hr < 17 Then
clock_color_day
Else
clock_color_night
End If
fish_AI
fish_draw
snail_move
snail_move_2
fish_move
foreground
move_hook
background_draw
move_clock
_Display
_SndVol b&, 0.01
If b& > 0 Then _SndLoop b&
sound_large_bubbles
Do While _MouseInput
mmx% = mmx% + _MouseMovementX
mmy% = mmy% + _MouseMovementY
Loop
Loop Until InKey$ > "" Or mmx% <> 0 Or mmy% <> 0
_MouseShow
_SndClose b&
_SndClose lb&
System
'-sub_routines--
Sub sound_large_bubbles
t~& = t~& + 1
If t~& = 3000 Then
t~& = 1
End If
Select Case t~&
Case 1 To 35
_SndVol lb&, 0.02
_SndLoop lb&
Case 1420 To 1460
_SndVol lb&, 0.01
_SndLoop lb&
Case 2400 To 2440
_SndVol lb&, 0.02
_SndLoop lb&
Case Else
_SndVol lb&, 0
End Select
End Sub
Sub fish_draw
Dim i As Integer
Dim k As Integer
Dim l As Integer
Dim n As Integer
''snail attempt, lets see...
Dim sn As Integer
For sn = 19 To 21
Circle (snail_2(sn).x, snail_2(sn).y), sn * .25, _RGB32(68 - sn, 0, 0), , , .7
Circle (snail_2(sn).x, snail_2(sn).y), sn * .85, _RGB32(172 - sn, 22, 22), , , .7
Paint (snail_2(sn).x, snail_2(sn).y - sn * .1), _RGB32(198, 178, 8), _RGB32(172 - sn, 22, 22)
Circle (snail_2(sn).x, snail_2(sn).y), sn * .5, _RGB32(125 - sn, 0, 0), , , .7
Paint (snail_2(sn).x, snail_2(sn).y - sn * .1), _RGB32(244 + sn, 168 - sn, 0), _RGB32(125 - sn, 0, 0)
Next sn
For sn = 22 To 24
Circle (snail_2(sn).x, snail_2(sn).y), sn * .25, _RGB32(68 - sn, 0, 0), , , .6
Circle (snail_2(sn).x, snail_2(sn).y), sn * .85, _RGB32(172 - sn, 22, 22), , , .6
Paint (snail_2(sn).x, snail_2(sn).y - sn * .1), _RGB32(0, 147, 147), _RGB32(172 - sn, 22, 22)
Circle (snail_2(sn).x, snail_2(sn).y), sn * .5, _RGB32(125 - sn, 0, 0), , , .6
Paint (snail_2(sn).x, snail_2(sn).y - sn * .1), BLACK, _RGB32(125 - sn, 0, 0)
Circle (snail_2(sn).x, snail_2(sn).y), sn * .2, BLACK, , , .6
Next sn
For sn = 25 To 27
Circle (snail_2(sn).x, snail_2(sn).y), sn * .25, _RGB32(68 - sn, 0, 0), , , .8
Circle (snail_2(sn).x, snail_2(sn).y), sn * .85, _RGB32(172 - sn, 22, 22), , , .8
Paint (snail_2(sn).x, snail_2(sn).y - sn * .1), ORANGE, _RGB32(172 - sn, 22, 22)
Circle (snail_2(sn).x, snail_2(sn).y), sn * .5, _RGB32(125 - sn, 0, 0), , , .8
Paint (snail_2(sn).x, snail_2(sn).y - sn * .1), RED, _RGB32(125 - sn, 0, 0)
Circle (snail_2(sn).x, snail_2(sn).y), sn * .2, BLACK, , , .8
Paint (snail_2(sn).x, snail_2(sn).y), PURPLE, BLACK
Next sn
For sn = 60 To 62
Circle (snail_1(sn).x, snail_1(sn).y), sn * .25, _RGB32(68 - sn, 0, 0), , , .9
Circle (snail_1(sn).x, snail_1(sn).y), sn * .85, _RGB32(172 - sn, 22, 22), , , .9
Circle (snail_1(sn).x, snail_1(sn).y), sn * .85, _RGB32(172 - sn, 22, 22), , , .7
Circle (snail_1(sn).x, snail_1(sn).y), sn * .85, _RGB32(172 - sn, 22, 22), , , .87
Circle (snail_1(sn).x, snail_1(sn).y), sn * .85, _RGB32(172 - sn, 22, 22), , , .4
Paint (snail_1(sn).x, snail_1(sn).y - sn * .5), _RGB32(55, 17, 0), _RGB32(172 - sn, 22, 22)
Paint (snail_1(sn).x, snail_1(sn).y - sn * .6), _RGB32(55, 17, 0), _RGB32(172 - sn, 22, 22)
Paint (snail_1(sn).x, snail_1(sn).y - sn * .7), _RGB32(55, 17, 0), _RGB32(172 - sn, 22, 22)
Paint (snail_1(sn).x, snail_1(sn).y + sn * .7), _RGB32(55, 17, 0), _RGB32(172 - sn, 22, 22)
Paint (snail_1(sn).x, snail_1(sn).y + sn * .4), _RGB32(55, 17, 0), _RGB32(172 - sn, 22, 22)
Paint (snail_1(sn).x, snail_1(sn).y + sn * .3), _RGB32(55, 17, 0), _RGB32(172 - sn, 22, 22)
Paint (snail_1(sn).x, snail_1(sn).y + sn * .2), _RGB32(55, 17, 0), _RGB32(172 - sn, 22, 22)
Circle (snail_1(sn).x, snail_1(sn).y), sn * .5, _RGB32(125 - sn, 0, 0), , , .9
Circle (snail_1(sn).x, snail_1(sn).y), sn * .4, _RGB32(125 - sn, 0, 0), , , .5
Circle (snail_1(sn).x, snail_1(sn).y), sn * .3, _RGB32(125 - sn, 0, 0), , , .4
Circle (snail_1(sn).x, snail_1(sn).y), sn * .2, _RGB32(125 - sn, 0, 0), , , .3
Paint (snail_1(sn).x, snail_1(sn).y - sn * .1), PURPLE, _RGB32(125 - sn, 0, 0)
Paint (snail_1(sn).x, snail_1(sn).y - sn * .3), _RGB32(33, 17, 0), _RGB32(125 - sn, 0, 0)
Next sn
For sn = 63 To 65
Circle (snail_1(sn).x, snail_1(sn).y), sn * .74, _RGB32(68 - sn, 0, 0), , , .9
Circle (snail_1(sn).x, snail_1(sn).y), sn * .98, _RGB32(172 - sn, 22, 22), , , .7
Paint (snail_1(sn).x, snail_1(sn).y - sn * .1), _RGB32(111, 67, 0), _RGB32(172 - sn, 22, 22)
Circle (snail_1(sn).x, snail_1(sn).y), sn * .5, _RGB32(125 - sn, 0, 0), , , .9
Paint (snail_1(sn).x, snail_1(sn).y - sn * .1), _RGB32(166, 133, 0), _RGB32(125 - sn, 0, 0)
Circle (snail_1(sn).x, snail_1(sn).y), sn * .1, BLACK, , , .2
Circle (snail_1(sn).x, snail_1(sn).y), sn * .2, BLACK, , , .4
Circle (snail_1(sn).x, snail_1(sn).y), sn * .3, BLACK, , , 1
Circle (snail_1(sn).x, snail_1(sn).y), sn * .4, BLACK, , , 1
'Circle (snail_1(sn).x, snail_1(sn).y), sn * .5, BLACK, , , .8
'Circle (snail_1(sn).x, snail_1(sn).y), sn * .6, BLACK, , , .8
Next sn
For sn = 66 To num_snail_1
Circle (snail_1(sn).x, snail_1(sn).y), sn * .50, _RGB32(68 - sn, 0, 0), , , .9
Circle (snail_1(sn).x, snail_1(sn).y), sn * 1.3, _RGB32(172 - sn, 22, 22), , , .9
Paint (snail_1(sn).x, snail_1(sn).y - sn * .1), _RGB32(68 - sn, 6, 8), _RGB32(172 - sn, 22, 22)
Circle (snail_1(sn).x, snail_1(sn).y), sn * .5, _RGB32(125 - sn, 0, 0), , , .8
Circle (snail_1(sn).x, snail_1(sn).y), sn * .4, _RGB32(125 - sn, 0, 0), , , 1
Paint (snail_1(sn).x, snail_1(sn).y - sn * .1), DARKRED, _RGB32(125 - sn, 0, 0)
Circle (snail_1(sn).x, snail_1(sn).y), sn * 1.1, ORANGE, , , .9
Circle (snail_1(sn).x, snail_1(sn).y), sn * 1.1, ORANGE, , , .7
Circle (snail_1(sn).x, snail_1(sn).y), sn * 1.1, ORANGE, , , .5
Circle (snail_1(sn).x, snail_1(sn).y), sn * 1.1, ORANGE, , , .3
Next sn
For i = 1 To num_fish Step 1
Circle (fish(i).x, fish(i).y), i + 48, YELLOW, 2, 4
Circle (fish(i).x, fish(i).y), i + 16, BRIGHTPURPLE, 4, 2
Circle (fish(i).x, fish(i).y), i + 16, YELLOW, 4, 2
Circle (fish(i).x, fish(i).y), i + 8, YELLOW, 4, 2
Circle (fish(i).x, fish(i).y), i + 4, YELLOW, 4, 2
Circle (fish(i).x, fish(i).y), i + 2, YELLOW, 4, 2
Circle (fish(i).x, fish(i).y), i + 32, YELLOW, 2, 4
Circle (fish(i).x, fish(i).y), i + 30, DARKYELLOW, 2, 4
Circle (fish(i).x, fish(i).y), i + 28, YELLOW, 2, 4
Circle (fish(i).x, fish(i).y), i + 26, DARKYELLOW, 2, 4
Circle (fish(i).x, fish(i).y), i + 40, CYAN, 2, 4
Circle (fish(i).x, fish(i).y), i + 34, CYAN, 2, 4
Circle (fish(i).x, fish(i).y), i + 28, BRIGHTPURPLE, 2, 4
Circle (fish(i).x, fish(i).y), i + 40, YELLOW, 4, 2
Circle (fish(i).x, fish(i).y), i + 36, DARKYELLOW, 4, 2
Circle (fish(i).x, fish(i).y), i + 32, YELLOW, 4, 2
Circle (fish(i).x, fish(i).y), i + 28, BRIGHTPURPLE, 4, 2
Circle (fish(i).x, fish(i).y), i + 24, CYAN, 4, 2
Circle (fish(i).x, fish(i).y), i + 20, BRIGHTPURPLE, 4, 2
Circle (fish(i).x + 5, fish(i).y - 40), i * .6, YELLOW, 4, 1, .5
Circle (fish(i).x + 5, fish(i).y - 40), i * .4, YELLOW, 4, 1, .5
Circle (fish(i).x + 5, fish(i).y - 40), 4, BLACK
Circle (fish(i).x + 5, fish(i).y - 40), 3, BLACK
Circle (fish(i).x + 5, fish(i).y - 40), 2, BLACK
Line (fish(i).x - 100, fish(i).y - 20)-(fish(i).x, fish(i).y - 20), DARKYELLOW
Line (fish(i).x - 90, fish(i).y - 15)-(fish(i).x - 5, fish(i).y - 15), YELLOW
Line (fish(i).x - 80, fish(i).y - 10)-(fish(i).x - 10, fish(i).y - 10), CYAN
Line (fish(i).x - 70, fish(i).y - 5)-(fish(i).x - 15, fish(i).y - 5), YELLOW
Line (fish(i).x - 50, fish(i).y - 2)-(fish(i).x - 20, fish(i).y - 2), CYAN
Line (fish(i).x - 40, fish(i).y + 2)-(fish(i).x - 20, fish(i).y + 2), CYAN
Line (fish(i).x - 50, fish(i).y + 5)-(fish(i).x - 15, fish(i).y + 5), YELLOW
Line (fish(i).x - 60, fish(i).y + 10)-(fish(i).x - 10, fish(i).y + 10), CYAN
Line (fish(i).x - 70, fish(i).y + 15)-(fish(i).x - 5, fish(i).y + 15), YELLOW
Line (fish(i).x - 80, fish(i).y + 20)-(fish(i).x, fish(i).y + 20), DARKYELLOW
Circle (fish(i).x + 35, fish(i).y), i + 8, YELLOW, 4, 2, .5
Circle (fish(i).x + 45, fish(i).y), i + 2, YELLOW, 4, 2, .5
Circle (fish(i).x - 145, fish(i).y), i + 52, YELLOW, -4, -2
Circle (fish(i).x - 166, fish(i).y), i + 50, DARKYELLOW, -4, -2
Circle (fish(i).x - 165, fish(i).y), i + 40, CYAN, -4, -2
Circle (fish(i).x - 166, fish(i).y), i + 39, CYAN, -4, -2
Circle (fish(i).x - 165, fish(i).y), i + 30, DARKYELLOW, -4, -2
Circle (fish(i).x - 166, fish(i).y), i + 38, YELLOW, -4, -2
Circle (fish(i).x - 165, fish(i).y), i + 26, YELLOW, -4, -2
Next i
Dim i2 As Integer
For i2 = 1 To num_fisha Step 1
Circle (fisha(i2).x, fisha(i2).y), i2 + 48, BRIGHTRED, 2, 4
Circle (fisha(i2).x, fisha(i2).y), i2 + 16, BRIGHTPURPLE, 4, 2
Circle (fisha(i2).x, fisha(i2).y), i2 + 16, BRIGHTRED, 4, 2
Circle (fisha(i2).x, fisha(i2).y), i2 + 8, BRIGHTRED, 4, 2
Circle (fisha(i2).x, fisha(i2).y), i2 + 4, BRIGHTRED, 4, 2
Circle (fisha(i2).x, fisha(i2).y), i2 + 2, BRIGHTRED, 4, 2
Circle (fisha(i2).x, fisha(i2).y), i2 + 32, BRIGHTRED, 2, 4
Circle (fisha(i2).x, fisha(i2).y), i2 + 30, DARKYELLOW, 2, 4
Circle (fisha(i2).x, fisha(i2).y), i2 + 28, BRIGHTRED, 2, 4
Circle (fisha(i2).x, fisha(i2).y), i2 + 26, DARKYELLOW, 2, 4
Circle (fisha(i2).x, fisha(i2).y), i2 + 40, CYAN, 2, 4
Circle (fisha(i2).x, fisha(i2).y), i2 + 34, CYAN, 2, 4
Circle (fisha(i2).x, fisha(i2).y), i2 + 28, BRIGHTPURPLE, 2, 4
Circle (fisha(i2).x, fisha(i2).y), i2 + 40, BRIGHTRED, 4, 2
Circle (fisha(i2).x, fisha(i2).y), i2 + 36, DARKYELLOW, 4, 2
Circle (fisha(i2).x, fisha(i2).y), i2 + 32, BRIGHTRED, 4, 2
Circle (fisha(i2).x, fisha(i2).y), i2 + 28, BRIGHTPURPLE, 4, 2
Circle (fisha(i2).x, fisha(i2).y), i2 + 24, CYAN, 4, 2
Circle (fisha(i2).x, fisha(i2).y), i2 + 20, BRIGHTPURPLE, 4, 2
Circle (fisha(i2).x + 5, fisha(i2).y - 40), i2 * .6, BRIGHTRED, 4, 1, .5
Circle (fisha(i2).x + 5, fisha(i2).y - 40), i2 * .4, BRIGHTRED, 4, 1, .5
Circle (fisha(i2).x + 5, fisha(i2).y - 40), 4, BLACK
Circle (fisha(i2).x + 5, fisha(i2).y - 40), 3, BLACK
Circle (fisha(i2).x + 5, fisha(i2).y - 40), 2, BLACK
Line (fisha(i2).x - 100, fisha(i2).y - 20)-(fisha(i2).x, fisha(i2).y - 20), DARKYELLOW
Line (fisha(i2).x - 90, fisha(i2).y - 15)-(fisha(i2).x - 5, fisha(i2).y - 15), BRIGHTRED
Line (fisha(i2).x - 80, fisha(i2).y - 10)-(fisha(i2).x - 10, fisha(i2).y - 10), CYAN
Line (fisha(i2).x - 70, fisha(i2).y - 5)-(fisha(i2).x - 15, fisha(i2).y - 5), BRIGHTRED
Line (fisha(i2).x - 50, fisha(i2).y - 2)-(fisha(i2).x - 20, fisha(i2).y - 2), CYAN
Line (fisha(i2).x - 40, fisha(i2).y + 2)-(fisha(i2).x - 20, fisha(i2).y + 2), CYAN
Line (fisha(i2).x - 50, fisha(i2).y + 5)-(fisha(i2).x - 15, fisha(i2).y + 5), BRIGHTRED
Line (fisha(i2).x - 60, fisha(i2).y + 10)-(fisha(i2).x - 10, fisha(i2).y + 10), CYAN
Line (fisha(i2).x - 70, fisha(i2).y + 15)-(fisha(i2).x - 5, fisha(i2).y + 15), BRIGHTRED
Line (fisha(i2).x - 80, fisha(i2).y + 20)-(fisha(i2).x, fisha(i2).y + 20), DARKYELLOW
Circle (fisha(i2).x + 35, fisha(i2).y), i2 + 8, BRIGHTRED, 4, 2, .5
Circle (fisha(i2).x + 45, fisha(i2).y), i2 + 2, BRIGHTRED, 4, 2, .5
Circle (fisha(i2).x - 145, fisha(i2).y), i2 + 52, BRIGHTRED, -4, -2
Circle (fisha(i2).x - 166, fisha(i2).y), i2 + 50, DARKYELLOW, -4, -2
Circle (fisha(i2).x - 165, fisha(i2).y), i2 + 40, CYAN, -4, -2
Circle (fisha(i2).x - 166, fisha(i2).y), i2 + 39, CYAN, -4, -2
Circle (fisha(i2).x - 165, fisha(i2).y), i2 + 30, DARKYELLOW, -4, -2
Circle (fisha(i2).x - 166, fisha(i2).y), i2 + 38, BRIGHTRED, -4, -2
Circle (fisha(i2).x - 165, fisha(i2).y), i2 + 26, BRIGHTRED, -4, -2
Next i2
Dim z As Integer
For z = 1 To num_fishb Step 1
Circle (fishb(z).x, fishb(z).y), z + 24, BRIGHTRED, 2, 4
Circle (fishb(z).x, fishb(z).y), z + 23, BRIGHTPURPLE, 2, 4
Circle (fishb(z).x, fishb(z).y), z + 22, YELLOW, 2, 4
Circle (fishb(z).x, fishb(z).y), z + 21, BRIGHTPURPLE, 2, 4
Circle (fishb(z).x, fishb(z).y), z + 20, YELLOW, 2, 4
Circle (fishb(z).x, fishb(z).y), 8, YELLOW, 4, 2
Circle (fishb(z).x - 10, fishb(z).y - 3), 8, YELLOW, 4, 2
Circle (fishb(z).x, fishb(z).y), z + 16, BRIGHTPURPLE, 2, 4
Circle (fishb(z).x, fishb(z).y), z + 14, BRIGHTRED, 2, 4
Circle (fishb(z).x, fishb(z).y), z + 12, BRIGHTPURPLE, 2, 4
Circle (fishb(z).x, fishb(z).y), z + 10, BRIGHTRED, 2, 4
Circle (fishb(z).x, fishb(z).y), z + 8, BRIGHTPURPLE, 2, 4
Circle (fishb(z).x, fishb(z).y), z + 6, BRIGHTPURPLE, 2, 4
Circle (fishb(z).x, fishb(z).y), z + 4, YELLOW, 2, 4
Circle (fishb(z).x, fishb(z).y), z + 2, YELLOW, 2, 4
Circle (fishb(z).x, fishb(z).y), z + 30, BRIGHTPURPLE, 4, 2
Circle (fishb(z).x, fishb(z).y), z + 29, BRIGHTRED, 4, 2
Circle (fishb(z).x, fishb(z).y), z + 28, BRIGHTPURPLE, 4, 2
Circle (fishb(z).x, fishb(z).y), z + 27, BRIGHTRED, 4, 2
Circle (fishb(z).x, fishb(z).y), z + 26, BRIGHTPURPLE, 4, 2
Circle (fishb(z).x, fishb(z).y), z + 25, BRIGHTRED, 4, 2
Circle (fishb(z).x, fishb(z).y), z + 24, BRIGHTRED, 4, 2
Circle (fishb(z).x, fishb(z).y), z + 23, YELLOW, 4, 2
Circle (fishb(z).x, fishb(z).y), z + 20, BRIGHTPURPLE, 4, 2
Circle (fishb(z).x, fishb(z).y), z + 16, YELLOW, 4, 2
Circle (fishb(z).x, fishb(z).y), z + 12, BRIGHTPURPLE, 4, 2
Circle (fishb(z).x, fishb(z).y), z + 7, YELLOW, 4, 2
Circle (fishb(z).x, fishb(z).y), z + 3, BRIGHTPURPLE, 4, 2
Circle (fishb(z).x, fishb(z).y), z + 1, YELLOW, 4, 2
Circle (fishb(z).x, fishb(z).y), z + 12, BRIGHTPURPLE, 4, 2
Circle (fishb(z).x, fishb(z).y), z + 10, BRIGHTRED, 4, 2
Circle (fishb(z).x, fishb(z).y), z + 8, BRIGHTPURPLE, 4, 2
Circle (fishb(z).x, fishb(z).y), z + 6, BRIGHTRED, 4, 2
Circle (fishb(z).x, fishb(z).y), z + 4, BRIGHTPURPLE, 4, 2
Circle (fishb(z).x - 15, fishb(z).y - 18), 4, BRIGHTPURPLE
Circle (fishb(z).x - 15, fishb(z).y - 18), 3, BRIGHTPURPLE
Circle (fishb(z).x - 15, fishb(z).y - 18), 1, BRIGHTRED
Circle (fishb(z).x - 35, fishb(z).y), z + 3, DARKRED, 2, 4, .1
Circle (fishb(z).x - 35, fishb(z).y), z + 2, DARKRED, 2, 4, .5
Circle (fishb(z).x - 35, fishb(z).y), z + 1, DARKRED, 2, 4, .1
Circle (fishb(z).x - 31, fishb(z).y), z, BRIGHTRED, 4, 2
Circle (fishb(z).x + 65, fishb(z).y), z + 26, BRIGHTPURPLE, -4, -2
Circle (fishb(z).x + 65, fishb(z).y), z + 25, BRIGHTRED, -4, -2
Circle (fishb(z).x + 65, fishb(z).y), z + 24, BRIGHTPURPLE, -4, -2
Circle (fishb(z).x + 65, fishb(z).y), z + 23, YELLOW, -4, -2
Circle (fishb(z).x + 65, fishb(z).y), z + 22, BRIGHTPURPLE, -4, -2
Circle (fishb(z).x + 65, fishb(z).y), z + 21, YELLOW, -4, -2
Circle (fishb(z).x + 65, fishb(z).y), z + 20, BRIGHTPURPLE, -4, -2
Circle (fishb(z).x + 65, fishb(z).y), z + 17, BRIGHTRED, -4, -2 ' ==========================
Circle (fishb(z).x + 65, fishb(z).y), z + 19, BRIGHTPURPLE, -4, -2
Circle (fishb(z).x + 65, fishb(z).y), z + 15, BRIGHTRED, -4, -2
Circle (fishb(z).x + 65, fishb(z).y), z + 13, BRIGHTPURPLE, -4, -2
Circle (fishb(z).x + 65, fishb(z).y), z + 12, BRIGHTPURPLE, -4, -2
Circle (fishb(z).x + 65, fishb(z).y), z + 11, BRIGHTRED, -4, -2 ' =======================
Circle (fishb(z).x + 65, fishb(z).y), z + 10, BRIGHTPURPLE, -4, -2
Circle (fishb(z).x + 65, fishb(z).y), z + 9, YELLOW, -4, -2
Circle (fishb(z).x + 65, fishb(z).y), z + 8, BRIGHTPURPLE, -4, -2
Circle (fishb(z).x + 65, fishb(z).y), z + 7, YELLOW, -4, -2
Circle (fishb(z).x + 65, fishb(z).y), z + 6, BRIGHTPURPLE, -4, -2
Line (fishb(z).x, fishb(z).y)-(fishb(z).x - 10, fishb(z).y), BRIGHTRED
Line (fishb(z).x, fishb(z).y - 20)-(fishb(z).x - 20, fishb(z).y - 20), BRIGHTRED
Line (fishb(z).x - 20, fishb(z).y - 23)-(fishb(z).x + 20, fishb(z).y - (z + 26)), BRIGHTRED
Line (fishb(z).x - 18, fishb(z).y - 23)-(fishb(z).x + 20, fishb(z).y - (z + 31)), BRIGHTRED
Line (fishb(z).x - 16, fishb(z).y - 23)-(fishb(z).x + 20, fishb(z).y - (z + 36)), BRIGHTRED
Line (fishb(z).x - 14, fishb(z).y - 23)-(fishb(z).x + 20, fishb(z).y - (z + 41)), BRIGHTRED
Line (fishb(z).x - 12, fishb(z).y - 23)-(fishb(z).x + 20, fishb(z).y - (z + 46)), BRIGHTRED
Line (fishb(z).x - 10, fishb(z).y - 23)-(fishb(z).x + 20, fishb(z).y - (z + 11)), BRIGHTRED
Circle (fishb(z).x + 5, fishb(z).y - 30), z * .4, WHITE, 4, 1, .5
Circle (fishb(z).x + 5, fishb(z).y - 30), z * .2, WHITE, 4, 1, .5
Circle (fishb(z).x + 5, fishb(z).y - 30), 4, BLACK
Circle (fishb(z).x + 5, fishb(z).y - 30), 3, BLACK
Circle (fishb(z).x + 5, fishb(z).y - 30), 2, BLACK
Next z
Dim z2 As Integer
For z2 = 1 To num_fishba Step 1
Circle (fishba(z2).x, fishba(z2).y), z2 + 24, BLUE, 2, 4
Circle (fishba(z2).x, fishba(z2).y), z2 + 23, PURPLE, 2, 4
Circle (fishba(z2).x, fishba(z2).y), z2 + 22, WHITE, 2, 4
Circle (fishba(z2).x, fishba(z2).y), z2 + 21, PURPLE, 2, 4
Circle (fishba(z2).x, fishba(z2).y), z2 + 20, WHITE, 2, 4
Circle (fishba(z2).x, fishba(z2).y), 8, WHITE, 4, 2
Circle (fishba(z2).x - 10, fishba(z2).y - 3), 8, WHITE, 4, 2
Circle (fishba(z2).x, fishba(z2).y), z2 + 16, PURPLE, 2, 4
Circle (fishba(z2).x, fishba(z2).y), z2 + 14, BLUE, 2, 4
Circle (fishba(z2).x, fishba(z2).y), z2 + 12, PURPLE, 2, 4
Circle (fishba(z2).x, fishba(z2).y), z2 + 10, BLUE, 2, 4
Circle (fishba(z2).x, fishba(z2).y), z2 + 8, PURPLE, 2, 4
Circle (fishba(z2).x, fishba(z2).y), z2 + 6, PURPLE, 2, 4
Circle (fishba(z2).x, fishba(z2).y), z2 + 4, WHITE, 2, 4
Circle (fishba(z2).x, fishba(z2).y), z2 + 2, WHITE, 2, 4
Circle (fishba(z2).x, fishba(z2).y), z2 + 30, PURPLE, 4, 2
Circle (fishba(z2).x, fishba(z2).y), z2 + 29, BLUE, 4, 2
Circle (fishba(z2).x, fishba(z2).y), z2 + 28, PURPLE, 4, 2
Circle (fishba(z2).x, fishba(z2).y), z2 + 27, BLUE, 4, 2
Circle (fishba(z2).x, fishba(z2).y), z2 + 26, PURPLE, 4, 2
Circle (fishba(z2).x, fishba(z2).y), z2 + 25, BLUE, 4, 2
Circle (fishba(z2).x, fishba(z2).y), z2 + 24, BLUE, 4, 2
Circle (fishba(z2).x, fishba(z2).y), z2 + 23, WHITE, 4, 2
Circle (fishba(z2).x, fishba(z2).y), z2 + 20, PURPLE, 4, 2
Circle (fishba(z2).x, fishba(z2).y), z2 + 16, WHITE, 4, 2
Circle (fishba(z2).x, fishba(z2).y), z2 + 12, PURPLE, 4, 2
Circle (fishba(z2).x, fishba(z2).y), z2 + 7, WHITE, 4, 2
Circle (fishba(z2).x, fishba(z2).y), z2 + 3, PURPLE, 4, 2
Circle (fishba(z2).x, fishba(z2).y), z2 + 1, WHITE, 4, 2
Circle (fishba(z2).x, fishba(z2).y), z2 + 12, PURPLE, 4, 2
Circle (fishba(z2).x, fishba(z2).y), z2 + 10, BLUE, 4, 2
Circle (fishba(z2).x, fishba(z2).y), z2 + 8, PURPLE, 4, 2
Circle (fishba(z2).x, fishba(z2).y), z2 + 6, BLUE, 4, 2
Circle (fishba(z2).x, fishba(z2).y), z2 + 4, PURPLE, 4, 2
Circle (fishba(z2).x - 15, fishba(z2).y - 18), 4, PURPLE
Circle (fishba(z2).x - 15, fishba(z2).y - 18), 3, PURPLE
Circle (fishba(z2).x - 15, fishba(z2).y - 18), 1, BLUE
Circle (fishba(z2).x - 35, fishba(z2).y), z2 + 3, DARKRED, 2, 4, .1
Circle (fishba(z2).x - 35, fishba(z2).y), z2 + 2, DARKRED, 2, 4, .5
Circle (fishba(z2).x - 35, fishba(z2).y), z2 + 1, DARKRED, 2, 4, .1
Circle (fishba(z2).x - 31, fishba(z2).y), z2, BLUE, 4, 2
Circle (fishba(z2).x + 65, fishba(z2).y), z2 + 26, PURPLE, -4, -2
Circle (fishba(z2).x + 65, fishba(z2).y), z2 + 25, BLUE, -4, -2
Circle (fishba(z2).x + 65, fishba(z2).y), z2 + 24, PURPLE, -4, -2
Circle (fishba(z2).x + 65, fishba(z2).y), z2 + 23, WHITE, -4, -2
Circle (fishba(z2).x + 65, fishba(z2).y), z2 + 22, PURPLE, -4, -2
Circle (fishba(z2).x + 65, fishba(z2).y), z2 + 21, WHITE, -4, -2
Circle (fishba(z2).x + 65, fishba(z2).y), z2 + 20, PURPLE, -4, -2
Circle (fishba(z2).x + 65, fishba(z2).y), z2 + 17, BLUE, -4, -2 ' ==========================
Circle (fishba(z2).x + 65, fishba(z2).y), z2 + 19, PURPLE, -4, -2
Circle (fishba(z2).x + 65, fishba(z2).y), z2 + 15, BLUE, -4, -2
Circle (fishba(z2).x + 65, fishba(z2).y), z2 + 13, PURPLE, -4, -2
Circle (fishba(z2).x + 65, fishba(z2).y), z2 + 12, PURPLE, -4, -2
Circle (fishba(z2).x + 65, fishba(z2).y), z2 + 11, BLUE, -4, -2 ' =======================
Circle (fishba(z2).x + 65, fishba(z2).y), z2 + 10, PURPLE, -4, -2
Circle (fishba(z2).x + 65, fishba(z2).y), z2 + 9, WHITE, -4, -2
Circle (fishba(z2).x + 65, fishba(z2).y), z2 + 8, PURPLE, -4, -2
Circle (fishba(z2).x + 65, fishba(z2).y), z2 + 7, WHITE, -4, -2
Circle (fishba(z2).x + 65, fishba(z2).y), z2 + 6, PURPLE, -4, -2
Line (fishba(z2).x, fishba(z2).y)-(fishba(z2).x - 10, fishba(z2).y), BLUE
Line (fishba(z2).x, fishba(z2).y - 20)-(fishba(z2).x - 20, fishba(z2).y - 20), BLUE
Line (fishba(z2).x - 20, fishba(z2).y - 23)-(fishba(z2).x + 20, fishba(z2).y - (z2 + 26)), BLUE
Line (fishba(z2).x - 18, fishba(z2).y - 23)-(fishba(z2).x + 20, fishba(z2).y - (z2 + 31)), BLUE
Line (fishba(z2).x - 16, fishba(z2).y - 23)-(fishba(z2).x + 20, fishba(z2).y - (z2 + 36)), BLUE
Line (fishba(z2).x - 14, fishba(z2).y - 23)-(fishba(z2).x + 20, fishba(z2).y - (z2 + 41)), BLUE
Line (fishba(z2).x - 12, fishba(z2).y - 23)-(fishba(z2).x + 20, fishba(z2).y - (z2 + 46)), BLUE
Line (fishba(z2).x - 10, fishba(z2).y - 23)-(fishba(z2).x + 20, fishba(z2).y - (z2 + 11)), BLUE
Circle (fishba(z2).x + 5, fishba(z2).y - 30), z2 * .4, WHITE, 4, 1, .5
Circle (fishba(z2).x + 5, fishba(z2).y - 30), z2 * .2, WHITE, 4, 1, .5
Circle (fishba(z2).x + 5, fishba(z2).y - 30), 4, BLACK
Circle (fishba(z2).x + 5, fishba(z2).y - 30), 3, BLACK
Circle (fishba(z2).x + 5, fishba(z2).y - 30), 2, BLACK
Next z2
For k = 1 To num_fish2 Step 1
Circle (fish2(k).x, fish2(k).y), k * 3, DARKRED, , , .3
Circle (fish2(k).x, fish2(k).y), k * 3, BRIGHTGREEN, , , .2
Circle (fish2(k).x, fish2(k).y), k * 3, DARKRED, , , .1
Circle (fish2(k).x, fish2(k).y), k * 1, DARKRED, , , .3
Circle (fish2(k).x, fish2(k).y), k * 1.5, BRIGHTGREEN, , , .2
Circle (fish2(k).x, fish2(k).y), k * 2, DARKRED, , , .1
Line (fish2(k).x - (k * 1), fish2(k).y - k + 1.5)-(fish2(k).x + (k * 1), fish2(k).y - k + 1.5), DARKRED
Line -(fish2(k).x, fish2(k).y - k * 1.5), DARKRED
Line -(fish2(k).x - (k * 1), fish2(k).y - k + 1.5), DARKRED
Paint (fish2(k).x, fish2(k).y - k + .2), DARKRED, DARKRED
Next k
Dim y As Integer
For y = 1 To num_fish6 Step 1
Circle (fish6(y).x, fish6(y).y), y * 3 + 5, DARKYELLOW, , , .3
Circle (fish6(y).x, fish6(y).y), y * 3, CYAN, , , .2
Circle (fish6(y).x, fish6(y).y), y * 3 + 5, DARKYELLOW, , , .1
Next y
For l = 1 To num_fish3 Step 1
Circle (fish3(l).x + 10, fish3(l).y), l + 20, YELLOW, , , .3
Circle (fish3(l).x + 12, fish3(l).y), l + 20, YELLOW, , , .3
Circle (fish3(l).x + 10, fish3(l).y), l + 20, BRIGHTRED, , , .2
Circle (fish3(l).x + 10, fish3(l).y), l + 20, YELLOW, , , .1
Next l
For n = 1 To num_fish5 Step 1
Circle (fish5(n).x, fish5(n).y), n + 10, BRIGHTRED, , , .3
Circle (fish5(n).x, fish5(n).y), n + 8, BRIGHTPURPLE, , , .2
Circle (fish5(n).x, fish5(n).y), n + 5, BRIGHTRED, , , .1
Next n
End Sub
Sub draw_plant
Dim pn As Integer
Line (1700, 1080)-(1717, 824), DARKGREEN
Line -(1719, 1080), DARKGREEN
Line -(1700, 1080), DARKGREEN
Paint (1705, 1078), GREEN, DARKGREEN
Line (1500, 1080)-(1517, 789), DARKGREEN
Line -(1519, 1080), DARKGREEN
Line -(1500, 1080), DARKGREEN
Paint (1505, 1078), GREEN, DARKGREEN
Line (1600, 1080)-(1617, 789), GREEN
Line -(1619, 1080), GREEN
Line -(1600, 1080), GREEN
Paint (1605, 1078), DARKGREEN, GREEN
Paint (1612, 925), DARKGREEN, GREEN
Paint (1612, 910), DARKGREEN, GREEN
'Line (1612, 925)-(1604, 1), BRIGHTRED
Line (1615, 1080)-(1628, 678), GREEN
Line -(1636, 1080), GREEN
Line -(1615, 1080), GREEN
Paint (1620, 1078), DARKGREEN, GREEN
Paint (1625, 910), DARKGREEN, GREEN
Paint (1625, 900), DARKGREEN, GREEN
Paint (1625, 890), DARKGREEN, GREEN
'Line (1625, 910)-(1617, 1), BRIGHTRED
Line (170, 1080)-(187, 824), DARKGREEN
Line -(189, 1080), DARKGREEN
Line -(170, 1080), DARKGREEN
Paint (175, 1078), GREEN, DARKGREEN
Line (150, 1080)-(177, 789), GREEN
Line -(180, 1080), GREEN
Line -(150, 1080), GREEN
Paint (155, 1078), DARKGREEN, GREEN
Line (280, 1080)-(297, 678), DARKGREEN
Line -(303, 1080), DARKGREEN
Line -(280, 1080), DARKGREEN
Paint (285, 1078), GREEN, DARKGREEN
Line (1750, 1080)-(600, 765), GREEN
Line -(1625, 1080), GREEN
Line -(1750, 1080), GREEN
Paint (950, 872), DARKGREEN, GREEN
Paint (1590, 1065), DARKGREEN, GREEN
Paint (1650, 1063), DARKGREEN, GREEN
End Sub
Sub foreground
Line (400, 1080)-(200, 879), GREEN
Line -(420, 1080), GREEN
Line -(400, 1080), GREEN
Paint (410, 1078), _RGB32(111, 145, 5), GREEN
Line (657, 1080)-(456, 678), GREEN
Line -(698, 1080), GREEN
Line -(657, 1080), GREEN
Paint (660, 1078), _RGB32(0, 45, 5), GREEN
Line (1400, 1080)-(1200, 759), GREEN
Line -(1420, 1080), GREEN
Line -(1400, 1080), GREEN
Paint (1410, 1078), BRIGHTGREEN, GREEN
Paint (1300, 910), BRIGHTGREEN, GREEN
Line (1700, 1080)-(1500, 759), GREEN
Line -(1790, 1080), GREEN
Line -(1700, 1080), GREEN
Paint (1710, 1078), _RGB32(150, 150, 0), GREEN
Paint (1600, 875), _RGB32(150, 150, 0), GREEN
Paint (1638, 945), _RGB32(150, 150, 0), GREEN
Paint (1740, 1245), _RGB32(150, 150, 0), GREEN
Paint (1738, 1242), _RGB32(150, 150, 0), GREEN
Paint (1742, 1248), _RGB32(150, 150, 0), GREEN
Paint (1742, 1078), _RGB32(150, 150, 0), GREEN
Paint (1744, 1075), _RGB32(150, 150, 0), GREEN
'Line (1744, 1075)-(1742, 1), BRIGHTRED
End Sub
Sub background_draw
Dim i As Integer
Dim x As Integer
For x = -500 To 500 Step 1
dy = (Rnd * 950) + 950
dx = (Rnd * 1899)
Line Step(1 + x, 1080)-(dx + 50, dy), BRIGHTGREEN
Line Step(940 + x, 1070)-(dx + 250, dy), DARKGREEN
Line Step(120 + x, 1075)-(dx + 500, dy), YELLOW
Line Step(1 + x, 1080)-(dx + 750, dy), BRIGHTGREEN
Line Step(33 + x, 1072)-(dx + 950, dy), GREEN
Line Step(120 + x, 1078)-(dx + 1150, dy), YELLOW
Line Step(1 + x, 1080)-(dx + 50, dy), DARKGREEN
Line Step(940 + x, 1065)-(dx + 250, dy), BRIGHTGREEN
Line Step(120 + x, 1068)-(dx + 500, dy), YELLOW
'Line Step(1 + x, 1080)-(dx + 750, dy), BRIGHTGREEN
'Line Step(33 + x, 1062)-(dx + 950, dy), GREEN
'Line Step(120 + x, 1073)-(dx + 1150, dy), YELLOW
Next x
'--plant--
Dim pn As Integer
'For pn = 1 To num_plants
' Line Step(Rnd * 1899, 1080)-((Rnd * 1080) + 50, (Rnd * 1080) + 1000), BRIGHTGREEN
' Line Step(Rnd * 1899, 1080)-((Rnd * 1080) + 25, (Rnd * 1080) + 950), GREEN
' Line Step(Rnd * 1899, 1080)-((Rnd * 1080) + 550, (Rnd * 1080) + 935), BRIGHTGREEN
' Line Step(Rnd * 1899, 1080)-((Rnd * 1080) + 150, (Rnd * 1080) + 905), GREEN
' Line Step(Rnd * 1899, 1080)-((Rnd * 1080) + 1250, (Rnd * 1080) + 1023), BRIGHTGREEN
' Line Step(Rnd * 1899, 1080)-((Rnd * 1080) + 75, (Rnd * 1080) + 1200), BRIGHTGREEN
' Line Step(Rnd * 1899, 1080)-((Rnd * 1080) + 15, (Rnd * 1080) + 1019), GREEN
' Line Step(Rnd * 1899, 1080)-((Rnd * 1080) + 575, (Rnd * 1080) + 935), BRIGHTGREEN
' Line Step(Rnd * 1899, 1080)-((Rnd * 1080) + 175, (Rnd * 1080) + 955), GREEN
' Line Step(Rnd * 1899, 1080)-((Rnd * 1080) + 1275, (Rnd * 1080) + 1010), BRIGHTGREEN
' Line Step(Rnd * 1899, 1080)-((Rnd * 1080) + 99, (Rnd * 1080) + 1177), BRIGHTGREEN
' Line Step(Rnd * 1899, 1080)-((Rnd * 1080) + 20, (Rnd * 1080) + 1077), GREEN
' Line Step(Rnd * 1899, 1080)-((Rnd * 1080) + 777, (Rnd * 1080) + 876), BRIGHTGREEN
' Line Step(Rnd * 1899, 1080)-((Rnd * 1080) + 135, (Rnd * 1080) + 985), GREEN
' Line Step(Rnd * 1899, 1080)-((Rnd * 1080) + 1456, (Rnd * 1080) + 999), BRIGHTGREEN
'Next pn
'Dim x As Integer
'For x = 1 To 1900 Step Rnd * 50 + 25
' Line Step(100, 1080)-(x + 5, 900), BRIGHTGREEN
' Line Step(100, 1080)-(x + 115, 900), GREEN
'Next x
'For x = 1 To 5000 Step 150
' Line Step(100, 1080)-(x + 5, 900), BRIGHTGREEN
' Line Step(100, 1080)-(x + 115, 900), GREEN
'Next x
'For x = 1 To 5000 Step 500
' Line Step(100, 1080)-(x + 5, 900), BRIGHTGREEN
' Line Step(100, 1080)-(x + 115, 900), GREEN
'Next x
'--bubbles--
Randomize Timer
For i = 1 To num_bubbles Step 1
Circle (bub(i).x, bub(i).y), i, CYAN
Circle (bub(i).x, bub(i).y), i, WHITE, 1, -4, .5
Next i
For i = 1 To num_bubbles2 Step 1
Circle (bub2(i).x, bub2(i).y), i, CYAN
Circle (bub2(i).x, bub2(i).y), i, WHITE, 1, -4, .5
Next i
For i = 1 To num_bubbles3 Step 1
Circle (bub3(i).x, bub3(i).y), i, CYAN
Circle (bub3(i).x, bub3(i).y), i, WHITE, 1, -4, .5
Next i
Dim m As Integer
For m = 1 To num_hooks
If hook(1).move_right = 1 Then
Line (hook(m).x, -1)-(hook(m).x, hook(m).y), WHITE
Circle (hook(m).x - 20, hook(m).y), 20, GREEN, , , .3
Circle (hook(m).x - 20, hook(m).y), 19, _RGB32(0, Rnd * 256, Rnd * 256), , , .2
Circle (hook(m).x - 20, hook(m).y), 16, GREEN, , , .1
Circle (hook(m).x - 20, hook(m).y), 14, GREEN, , , .3
Circle (hook(m).x - 20, hook(m).y), 12, _RGB32(0, Rnd * 256, Rnd * 256), , , .2
Circle (hook(m).x - 20, hook(m).y), 10, GREEN, , , .1
Circle (hook(m).x - 20, hook(m).y), 8, GREEN, , , .3
Circle (hook(m).x - 20, hook(m).y), 6, _RGB32(0, Rnd * 256, Rnd * 256), , , .2
Circle (hook(m).x - 20, hook(m).y), 4, GREEN, , , .1
End If
If hook(1).move_right = 0 Then
Line (hook(m).x, -1)-(hook(m).x, hook(m).y), WHITE
Circle (hook(m).x + 20, hook(m).y), 20, GREEN, , , .3
Circle (hook(m).x + 20, hook(m).y), 18, _RGB32(0, Rnd * 256, Rnd * 256), , , .2
Circle (hook(m).x + 20, hook(m).y), 18, GREEN, , , .1
Circle (hook(m).x + 20, hook(m).y), 14, GREEN, , , .3
Circle (hook(m).x + 20, hook(m).y), 12, _RGB32(0, Rnd * 256, Rnd * 256), , , .2
Circle (hook(m).x + 20, hook(m).y), 10, GREEN, , , .1
Circle (hook(m).x + 20, hook(m).y), 8, GREEN, , , .3
Circle (hook(m).x + 20, hook(m).y), 6, _RGB32(0, Rnd * 256, Rnd * 256), , , .2
Circle (hook(m).x + 20, hook(m).y), 4, GREEN, , , .1
End If
Next m
Dim o As Integer
For o = 1 To num_hooks
Line (hook2(o).x, -1)-(hook2(o).x, hook2(o).y), WHITE
Circle (hook2(o).x, hook2(o).y), 5, BRIGHTRED
Circle (hook2(o).x, hook2(o).y), 4, BRIGHTRED
Circle (hook2(o).x, hook2(o).y), 3, BRIGHTRED
Circle (hook2(o).x, hook2(o).y), 2, BRIGHTRED
Circle (hook2(o).x, hook2(o).y), 1, BRIGHTRED
Circle (hook2(o).x, hook2(o).y), 6, BRIGHTRED
Circle (hook2(o).x, hook2(o).y), 7, BRIGHTRED
Circle (hook2(o).x, hook2(o).y), 8, BRIGHTRED
Circle (hook2(o).x, hook2(o).y), 9, BRIGHTRED
Circle (hook2(o).x, hook2(o).y), 10, BRIGHTRED
Circle (hook2(o).x, hook2(o).y), 11, BRIGHTRED
Circle (hook2(o).x, hook2(o).y), 12, BRIGHTRED
Circle (hook2(o).x, hook2(o).y), 13, BRIGHTRED
Circle (hook2(o).x, hook2(o).y), 14, BRIGHTRED
Circle (hook2(o).x, hook2(o).y), 15, BRIGHTRED
Next o
Dim n As Integer
For n = 1 To num_hooks
Line (hook3(n).x + 10, -2)-(hook3(n).x, hook3(n).y), WHITE
Line -(hook3(n).x + 50, hook3(n).y), _RGB32(155, 100, 0)
Line -(hook3(n).x + 16, hook3(n).y - 50), _RGB32(155, 100, 0)
Line -(hook3(n).x, hook3(n).y + 4), _RGB32(155, 100, 0)
Paint (hook3(n).x + 4, hook3(n).y - 4), _RGB32(211, 161, 0), _RGB32(155, 100, 0)
Next n
For o = 1 To num_hooks
Line (hook4(o).x, -1)-(hook4(o).x, hook4(o).y), GRAY, B , 132
Circle (hook4(o).x, hook4(o).y), 3.5, DARKRED
Circle (hook4(o).x, hook4(o).y), 3, DARKRED
Circle (hook4(o).x, hook4(o).y), 2.5, DARKRED
Circle (hook4(o).x, hook4(o).y), 2, DARKRED
Circle (hook4(o).x, hook4(o).y), 1.5, DARKRED
Circle (hook4(o).x, hook4(o).y), 1, DARKRED
Next o
For n = 1 To 1
Line (hook5(n).x + 5, -1)-(hook5(n).x, hook5(n).y), GRAY, , 132
Line -(hook5(n).x + 12, hook5(n).y), YELLOW
Line -(hook5(n).x + 4, hook5(n).y - 8), YELLOW
Line -(hook5(n).x, hook5(n).y - 1), YELLOW
Paint (hook5(n).x + 4, hook5(n).y - 1.5), DARKYELLOW, YELLOW
Next n
End Sub
Sub fish_setup
Dim r As Integer
Dim s As Integer
Randomize Timer
snail_2(17).x = Int(Rnd * 540) + 250
snail_2(17).move_up = 3
snail_2(17).move_right = Int((Rnd * 2) + 1)
If snail_2(17).move_right = 1 Then
snail_2(17).y = 1051
End If
If snail_2(17).move_right = 2 Then
snail_2(17).y = 1052
End If
If snail_2(17).move_right > 2 Then
snail_2(17).move_right = 1
snail_2(17).y = 1052
End If
snail_2(18).x = Int(Rnd * 800) + 654
snail_2(18).move_up = 3
snail_2(18).move_right = Int((Rnd * 2) + 1)
If snail_2(18).move_right = 1 Then
snail_2(18).y = 1051
End If
If snail_2(18).move_right = 2 Then
snail_2(18).y = 1052
End If
If snail_2(18).move_right > 2 Then
snail_2(18).move_right = 2
snail_2(18).y = 1052
End If
snail_2(19).x = (Rnd * 450) + 450
snail_2(19).move_up = 3
snail_2(19).move_right = Int((Rnd * 2) + 1)
If snail_2(19).move_right = 1 Then
snail_2(19).y = 1051
End If
If snail_2(19).move_right = 2 Then
snail_2(19).y = 1052
End If
If snail_2(19).move_right > 2 Then
snail_2(19).move_right = 1
snail_2(19).y = 1052
End If
snail_2(20).x = (Rnd * 720) + 720
snail_2(20).move_up = 3
snail_2(20).move_right = Int(Rnd * 400) + 1
If snail_2(20).move_right = 1 Then
snail_2(20).y = 1051
End If
If snail_2(20).move_right = 2 Then
snail_2(20).y = 1052
End If
If snail_2(20).move_right > 2 Then
snail_2(20).move_right = 2
snail_2(20).y = 1052
End If
snail_2(21).x = (Rnd * 1850) + 1850
snail_2(21).move_up = 3
snail_2(21).move_right = Int(Rnd * 789) + 1
If snail_2(21).move_right = 1 Then
snail_2(21).y = 1051
End If
If snail_2(21).move_right = 2 Then
snail_2(21).y = 1052
End If
If snail_2(21).move_right > 2 Then
snail_2(21).move_right = 1
snail_2(21).y = 1052
End If
snail_2(22).x = (Rnd * 900)
snail_2(22).move_up = 3
snail_2(22).move_right = Int(Rnd * 1025) + 1
If snail_2(22).move_right = 1 Then
snail_2(22).y = 1051
End If
If snail_2(22).move_right = 2 Then
snail_2(22).y = 1052
End If
If snail_2(22).move_right > 2 Then
snail_2(22).move_right = 2
snail_2(22).y = 1052
End If
snail_2(23).x = (Rnd * 1050)
snail_2(23).move_up = 3
snail_2(23).move_right = Int((Rnd * 1266) + 1)
If snail_2(23).move_right = 1 Then
snail_2(23).y = 1051
End If
If snail_2(23).move_right = 2 Then
snail_2(23).y = 1052
End If
If snail_2(23).move_right > 2 Then
snail_2(23).move_right = 1
snail_2(23).y = 1052
End If
snail_2(24).x = (Rnd * 1200)
snail_2(24).move_up = 3
snail_2(24).move_right = Int((Rnd * 1800) + 1)
If snail_2(24).move_right = 1 Then
snail_2(24).y = 1051
End If
If snail_2(24).move_right = 2 Then
snail_2(24).y = 1052
End If
If snail_2(24).move_right > 2 Then
snail_2(24).move_right = 2
snail_2(24).y = 1052
End If
snail_2(25).x = (Rnd * 1500)
snail_2(25).move_up = 3
snail_2(25).move_right = Int((Rnd * 80) + 1)
If snail_2(25).move_right = 1 Then
snail_2(25).y = 1051
End If
If snail_2(25).move_right = 2 Then
snail_2(25).y = 1052
End If
If snail_2(25).move_right > 2 Then
snail_2(25).move_right = 1
snail_2(25).y = 1052
End If
snail_2(26).x = (Rnd * 1500)
snail_2(26).move_up = 3
snail_2(26).move_right = Int((Rnd * 1547) + 1)
If snail_2(26).move_right = 1 Then
snail_2(26).y = 1051
End If
If snail_2(26).move_right = 2 Then
snail_2(26).y = 1052
End If
If snail_2(26).move_right > 2 Then
snail_2(26).move_right = 2
snail_2(26).y = 1052
End If
snail_2(27).x = (Rnd * 1650)
snail_2(27).move_up = 3
snail_2(27).move_right = Int((Rnd * 200) + 1)
If snail_2(27).move_right = 1 Then
snail_2(27).y = 1051
End If
If snail_2(27).move_right = 2 Then
snail_2(27).y = 1052
End If
If snail_2(27).move_right > 2 Then
snail_2(27).move_right = 1
snail_2(27).y = 1052
End If
For sn = 1 To 16
snail_1(sn).x = 2000
snail_1(sn).y = -100
snail_1(sn).move_right = 3
snail_1(sn).move_up = 3
Next sn
For sn = 18 To 58
snail_1(sn).x = 2000
snail_1(sn).y = -100
snail_1(sn).move_right = 3
snail_1(sn).move_up = 3
Next sn
snail_1(60).x = 45
snail_1(60).y = (Rnd * 1050) + 950
snail_1(60).move_right = 3
snail_1(60).move_up = Int((Rnd * 2))
snail_1(61).x = (Rnd * 690)
snail_1(61).move_up = 3
snail_1(61).move_right = Int((Rnd * 200) + 1)
If snail_1(61).move_right = 1 Then
snail_1(61).y = 1051
End If
If snail_1(61).move_right = 2 Then
snail_1(61).y = 1052
End If
If snail_1(61).move_right > 2 Then
snail_1(61).move_right = 1
snail_1(61).y = 1052
End If
snail_1(62).x = 1860
snail_1(62).y = (Rnd * 1050) + 25
snail_1(62).move_right = 3
snail_1(62).move_up = Int((Rnd * 2))
snail_1(63).x = 45
snail_1(63).y = (Rnd * 1050) + 540
snail_1(63).move_right = 3
snail_1(63).move_up = Int((Rnd * 2))
snail_1(64).x = (Rnd * 1890)
snail_1(64).move_up = 3
snail_1(64).move_right = Int((Rnd * 200) + 1)
If snail_1(64).move_right = 1 Then
snail_1(64).y = 1051
End If
If snail_1(64).move_right = 2 Then
snail_1(64).y = 1052
End If
If snail_1(64).move_right > 2 Then
snail_1(64).move_right = 1
snail_1(64).y = 1052
End If
snail_1(65).x = 1860
snail_1(65).y = (Rnd * 1050) + 25
snail_1(65).move_right = 3
snail_1(65).move_up = Int((Rnd * 2))
snail_1(66).x = 45
snail_1(66).y = (Rnd * 1050) + 25
snail_1(66).move_right = 3
snail_1(66).move_up = Int((Rnd * 2))
snail_1(67).x = (Rnd * 1650)
snail_1(67).move_up = 3
snail_1(67).move_right = Int((Rnd * 200) + 1)
If snail_1(67).move_right = 1 Then
snail_1(67).y = 1051
End If
If snail_1(67).move_right = 2 Then
snail_1(67).y = 1052
End If
If snail_1(67).move_right > 2 Then
snail_1(67).move_right = 1
snail_1(67).y = 1052
End If
snail_1(68).x = 1860
snail_1(68).y = (Rnd * 1050) + 25
snail_1(68).move_right = 3
snail_1(68).move_up = Int((Rnd * 2))
For r = 1 To num_fish
fish(r).x = Rnd * -20000
fish(r).y = Rnd * 1080
fish(r).move_right = 1
fish(r).move_up = Int(Rnd * 3)
Next r
Dim r2 As Integer
For r2 = 1 To num_fisha
fisha(r2).x = Rnd * -20000
fisha(r2).y = Rnd * 1080
fisha(r2).move_right = 1
fisha(r2).move_up = Int(Rnd * 3)
Next r2
For s = 1 To num_fishb
fishb(s).x = Rnd * 15000
fishb(s).y = Rnd * 540
fishb(s).move_right = 0
fishb(s).move_up = Int(Rnd * 3)
Next s
Dim s2 As Integer
For s2 = 1 To num_fishba
fishba(s2).x = Rnd * 15000
fishba(s2).y = Rnd * 540
fishba(s2).move_right = 0
fishba(s2).move_up = Int(Rnd * 3)
Next s2
'------------------------
Dim t As Integer
For t = 1 To num_fish2
fish2(t).x = Rnd * 1900
fish2(t).y = Rnd * 1080
fish2(t).move_right = Int(Rnd * 2)
fish2(t).move_up = Int(Rnd * 2)
Next t
Dim u As Integer
For u = 1 To num_fish6
fish6(u).x = Rnd * 1900
fish6(u).y = Rnd * 1080
fish6(u).move_right = Int(Rnd * 2)
fish6(u).move_up = Int(Rnd * 3)
Next u
'--------------------------------------
Randomize Timer
Dim f3t As Integer
For f3t = 1 To 14
fish3(f3t).x = Rnd * 3000
fish3(f3t).y = Rnd * 1080 + 250
fish3(f3t).move_right = Int(Rnd * 2)
fish3(f3t).move_up = Int(Rnd * 3)
Next f3t
Dim f3tb As Integer
For f3tb = 15 To num_fish3
fish3(f3tb).x = Rnd * -3000
fish3(f3tb).y = Rnd * 1080 + 540
fish3(f3tb).move_right = Int(Rnd * 2)
fish3(f3tb).move_up = Int(Rnd * 3)
Next f3tb
'---------------------------------------
'Dim a As Integer
'For a = 1 To num_fish4
' fish4(a).x = Rnd * 1200
' fish4(a).y = Rnd * 720
' fish4(a).move_up = Int(Rnd * 2)
' fish4(a).move_right = Int(Rnd * 2)
'Next a
Dim d As Integer
For d = 1 To num_fish5
fish5(d).x = Rnd * 1889
fish5(d).y = Rnd * 720
fish5(d).move_up = Int(Rnd * 3)
fish5(d).move_right = Int(Rnd * 2)
Next d
'---------------------------------------
Dim b As Integer
For b = 1 To num_bubbles
bub(b).x = Rnd * 1900
bub(b).y = Rnd * 1080
bub(b).move_right = Int(Rnd * 2)
Next b
'-------------------------------------
'-------------------------
hook(1).x = Rnd * 1899
hook(1).y = Int(Rnd * -1000)
hook(1).move_up = 0
hook2(1).x = Rnd * 1899
hook2(1).y = Int(Rnd * -1000)
hook2(1).move_up = 0
hook3(1).x = Rnd * 1899
hook3(1).y = Int(Rnd * -2400)
hook3(1).move_up = 0
hook4(1).x = Rnd * 1899
hook4(1).y = Int(Rnd * -400)
hook4(1).move_up = 0
hook5(1).x = Int((Rnd * 950)) + 950
hook5(1).y = Int(Rnd * -400)
hook5(1).move_up = 0
Dim pl As Integer
For pl = 1 To num_plants
plant(1).x = Rnd * 1899
plant(1).y = 1080
plant(2).x = Rnd * 1899
plant(2).y = 1080
'Paint (1024, 700), GREEN
plant(3).x = Rnd * 1899
plant(3).y = 1080
1
plant(4).x = Rnd * 1899
plant(4).y = 1080
plant(5).x = Rnd * 1899
plant(5).y = 1080
plant(6).x = Rnd * 1899
plant(6).y = 1080
plant(7).x = Rnd * 1899
plant(7).y = 1080
plant(8).x = Rnd * 1899
plant(8).y = 1080
plant(9).x = Rnd * 1899
plant(9).y = 1080
plant(10).x = Rnd * 1899
plant(10).y = 1080
plant(11).x = Rnd * 1899
plant(11).y = 1080
plant(12).x = Rnd * 1899
plant(12).y = 1080
plant(13).x = Rnd * 1899
plant(13).y = 1080
Next pl
End Sub
Sub fish_move
Dim i As Integer
Dim t As Integer
Dim t2%
Dim l As Integer
Dim m As Integer
t = 6
For i = 1 To 3
If fish(i).move_right >= 1 Then
fish(i).x = fish(i).x + t
Else
fish(i).x = fish(i).x + -t
End If
Select Case fish(i).move_up
Case 1
fish(i).y = fish(i).y - t
Case 3
fish(i).y = fish(i).y - 0
Case 0
fish(i).y = fish(i).y + t
End Select
If fish(i).x >= 5000 Then
fish(i).x = -5000
fish(i).y = (Rnd * 1080) + 50
End If
If fish(i).y > 1075 Then fish(i).move_up = 1
If fish(i).y <= 50 Then fish(i).move_up = 0
Next i
For i = 4 To num_fish
t2% = 7.5
If fish(i).move_right >= 1 Then
fish(i).x = fish(i).x + t2%
Else
fish(i).x = fish(i).x + -t2%
End If
Select Case fish(i).move_up
Case 1
fish(i).y = fish(i).y - t2%
Case 3
fish(i).y = fish(i).y - 0
Case 0
fish(i).y = fish(i).y + t2%
End Select
If fish(i).x >= 35000 Then
fish(i).x = (Rnd * -35000)
fish(i).y = (Rnd * 1080)
End If
If fish(i).y > 1040 Then fish(i).move_up = 1
If fish(i).y <= 50 Then fish(i).move_up = 0
Next i
Dim i2 As Integer
For i2 = 1 To 3
If fisha(i2).move_right >= 1 Then
fisha(i2).x = fisha(i2).x + 8.8
Else
fisha(i2).x = fisha(i2).x + -8.8
End If
Select Case fisha(i2).move_up
Case 1
fisha(i2).y = fisha(i2).y - 8.8
Case 3
fisha(i2).y = fisha(i2).y - 0
Case 0
fisha(i2).y = fisha(i2).y + 8.8
End Select
If fisha(i2).x >= 5000 Then
fisha(i2).x = -5000
fisha(i2).y = (Rnd * 1080) + 50
End If
If fisha(i2).y > 1040 Then fisha(i2).move_up = 1
If fisha(i2).y <= 50 Then fisha(i2).move_up = 0
Next i2
Dim t22%
For i2 = 4 To num_fisha
t22% = 8
If fisha(i2).move_right >= 1 Then
fisha(i2).x = fisha(i2).x + t22%
Else
fisha(i2).x = fisha(i2).x + -t22%
End If
Select Case fisha(i2).move_up
Case 1
fisha(i2).y = fisha(i2).y - t22%
Case 3
fisha(i2).y = fisha(i2).y - 0
Case 0
fisha(i2).y = fisha(i2).y + t22%
End Select
If fisha(i2).x >= 35000 Then
fisha(i2).x = (Rnd * -35000)
fisha(i2).y = (Rnd * 1080)
End If
If fisha(i2).y > 1040 Then fisha(i2).move_up = 1
If fisha(i2).y <= 50 Then fisha(i2).move_up = 0
Next i2
Dim z As Integer
For z = 1 To 15
If fishb(z).move_right = 1 Then
fishb(z).x = fishb(z).x + 8.5
Else
fishb(z).x = fishb(z).x + -8.5
End If
Select Case fishb(z).move_up
Case 1
fishb(z).y = fishb(z).y - 8.5
Case 3
fishb(z).y = fishb(z).y - 0
Case 0
fishb(z).y = fishb(z).y + 8.5
End Select
If fishb(z).x <= -5000 Then
fishb(z).x = (Rnd * 5000) + 2000
fishb(z).y = (Rnd * 600) + 50
End If
'If fishb(z).y >= 1020 And fishb(z).y < 1079 Then fishb(z).move_up = 3
If fishb(z).y >= 1079 Then fishb(z).move_up = 1
'If fishb(z).y <= 250 And fishb(z).y > 50 Then fishb(z).move_up = 3
If fishb(z).y <= 50 Then fishb(z).move_up = 0
Next z
For z = 16 To num_fishb
If fishb(z).move_right = 1 Then
fishb(z).x = fishb(z).x + 7.8
Else
fishb(z).x = fishb(z).x + -7.8
End If
Select Case fishb(z).move_up
Case 1
fishb(z).y = fishb(z).y - 1.8
Case 3
fishb(z).y = fishb(z).y - 0
Case 0
fishb(z).y = fishb(z).y + 2.3
End Select
If fishb(z).x <= -5000 Then
fishb(z).x = (Rnd * 5000) + 3000
fishb(z).y = (Rnd * 540) + 50
End If
If fishb(z).y >= 1020 And fishb(z).y < 1079 Then fishb(z).move_up = 3
If fishb(z).y >= 1079 Then fishb(z).move_up = 1
'If fishb(z).y < 250 And fishb(z).y > 50 Then fishb(z).move_up = 3
If fishb(z).y <= 50 Then fishb(z).move_up = 0
Next z
Dim z2 As Integer
For z2 = 1 To 9
If fishba(z2).move_right = 1 Then
fishba(z2).x = fishba(z2).x + 9
Else
fishba(z2).x = fishba(z2).x + -9
End If
Select Case fishba(z2).move_up
Case 1
fishba(z2).y = fishba(z2).y - 1.5
Case 3
fishba(z2).y = fishba(z2).y - 0
Case 0
fishba(z2).y = fishba(z2).y + 1.8
End Select
If fishba(z2).x <= -15000 Then
fishba(z2).x = (Rnd * 15000) + 5000
fishba(z2).y = (Rnd * 1020) + 50
End If
'If fishba(z2).y >= 1020 And fishba(z2).y < 1079 Then fishba(z2).move_up = 3
If fishba(z2).y >= 1079 Then fishba(z2).move_up = 1
'If fishba(z2).y < 250 And fishba(z2).y > 50 Then fishba(z2).move_up = 3
If fishba(z2).y <= 50 Then fishba(z2).move_up = 0
Next z2
For z2 = 10 To num_fishba
If fishba(z2).move_right = 1 Then
fishba(z2).x = fishba(z2).x + 5.8
Else
fishba(z2).x = fishba(z2).x + -5.8
End If
Select Case fishba(z2).move_up
Case 1
fishba(z2).y = fishba(z2).y - 2.8
Case 3
fishba(z2).y = fishba(z2).y - 0
Case 0
fishba(z2).y = fishba(z2).y + 2.3
End Select
If fishba(z2).x <= -25000 Then
fishba(z2).x = (Rnd * 25000) + 10000
fishba(z2).y = (Rnd * 540) + 120
End If
If fishba(z2).y >= 1020 And fishba(z2).y < 1079 Then fishba(z2).move_up = 3
If fishba(z2).y >= 1079 Then fishba(z2).move_up = 1
'If fishba(z2).y < 250 And fishba(z2).y > 50 Then fishba(z2).move_up = 3
If fishba(z2).y <= 50 Then fishba(z2).move_up = 0
Next z2
If fish(5).x >= 10000 Then
fish(5).x = Rnd * -5000
fish(5).y = Rnd * 1080
End If
If fish(5).y > 650 Then fish(5).move_up = 1
If fish(5).y <= 5 Then fish(5).move_up = 0
If fish(5).move_right = 1 Then
fish(5).x = fish(5).x + 2
End If
If fish(5).move_up = 1 Then
fish(5).y = fish(5).y - 2
Else
fish(5).y = fish(5).y + 2
End If
Dim k As Integer
Dim speed%
speed% = 2.8
For k = 1 To num_fish2
Select Case fish2(k).move_up
Case 1
fish2(k).y = fish2(k).y - speed%
Case 3
fish2(k).y = fish2(k).y - 0
Case 0
fish2(k).y = fish2(k).y + speed%
End Select
Select Case fish2(k).move_right
Case 0
fish2(k).x = fish2(k).x - speed%
Case 1
fish2(k).x = fish2(k).x + speed%
End Select
If fish2(k).x <= -40 Then
fish2(k).move_right = 1
End If
If fish2(k).x >= 1980 Then
fish2(k).move_right = 0
End If
If fish2(k).y <= 1 Then
fish2(k).move_up = 0
End If
If fish2(k).y >= 1079 Then
fish2(k).move_up = 1
End If
Next k
Dim fish6_loop As Integer
For fish6_loop = 1 To num_fish6
Select Case fish6(fish6_loop).move_up
Case Is >= 1 And fish6(fish6_loop).move_up < 3
fish6(fish6_loop).y = fish6(fish6_loop).y - 1.5
Case 3
fish6(fish6_loop).y = fish6(fish6_loop).y - 0
Case 0
fish6(fish6_loop).y = fish6(fish6_loop).y + 1.5
End Select
Select Case fish6(fish6_loop).move_right
Case 0
fish6(fish6_loop).x = fish6(fish6_loop).x - 1.5
Case Is >= 1
fish6(fish6_loop).x = fish6(fish6_loop).x + 1.5
End Select
Select Case fish6(fish6_loop).x
Case Is = -10000
fish6(fish6_loop).y = Rnd * 1080
fish6(fish6_loop).x = 10000
Case Is > 2100
fish6(fish6_loop).y = Rnd * 1080
fish6(fish6_loop).x = -400
End Select
Select Case fish6(fish6_loop).y
Case Is <= 0
fish6(fish6_loop).move_up = 0
Case Is >= 1042
fish6(fish6_loop).move_up = 1
End Select
Next fish6_loop
Dim t3 As Integer
t3 = 4.8
For l = 1 To 14
Select Case fish3(l).move_right
Case Is = 1
fish3(l).x = fish3(l).x + t3
Case Is = 0
fish3(l).x = fish3(l).x - t3
End Select
Select Case fish3(l).move_up
Case Is = 1
fish3(l).y = fish3(l).y - t3
Case Is = 0
fish3(l).y = fish3(l).y + t3
End Select
Select Case fish3(l).y
Case Is <= 20
fish3(l).move_up = 0
Case Is >= 900
fish3(l).move_up = 1
End Select
Select Case fish3(l).x
Case Is <= -1600
fish3(l).x = 2500
fish3(l).y = Rnd * 1080
Case Is >= 2100
fish3(l).x = -500
fish3(l).y = Rnd * 1080
End Select
Next l
For l = 15 To 20
Select Case fish3(l).move_right
Case Is = 1
fish3(l).x = fish3(l).x + 3.5
Case Is = 0
fish3(l).x = fish3(l).x - 3.5
End Select
Select Case fish3(l).move_up
Case Is = 1
fish3(l).y = fish3(l).y - 3.5
Case Is = 0
fish3(l).y = fish3(l).y + 3.5
End Select
Select Case fish3(l).y
Case Is <= 50
fish3(l).move_up = 0
Case Is >= 1000
fish3(l).move_up = 1
End Select
Select Case fish3(l).x
Case Is <= -1600
fish3(l).x = 2200
fish3(l).y = Rnd * 1080
Case Is >= 2300
fish3(l).x = -1500
fish3(l).y = Rnd * 1080
End Select
Next l
For l = 21 To num_fish3
Select Case fish3(l).move_right
Case Is = 1
fish3(l).x = fish3(l).x + 2.5
Case Is = 0
fish3(l).x = fish3(l).x - 2.5
End Select
Select Case fish3(l).move_up
Case Is = 1
fish3(l).y = fish3(l).y - 2.5
Case Is = 0
fish3(l).y = fish3(l).y + 2.5
End Select
Select Case fish3(l).y
Case Is <= 540
fish3(l).move_up = 0
Case Is >= 1050
fish3(l).move_up = 1
End Select
Select Case fish3(l).x
Case Is <= -1600
fish3(l).x = 3000
fish3(l).y = Rnd * 1080
Case Is >= 3100
fish3(l).x = -1500
fish3(l).y = Rnd * 1080
End Select
Next l
For m = 1 To 10
Select Case bub(m).move_right
Case Is = 1
bub(m).x = bub(m).x + .65
Case Is = 0
bub(m).x = bub(m).x - .65
End Select
bub(m).y = bub(m).y - 12.7
If bub(m).y <= 0 Then
bub(m).y = 1080 + 10
bub(m).x = Rnd * 1900
bub(m).move_right = (Rnd * 1) + 1
End If
Select Case bub2(m).move_right
Case Is = 1
bub2(m).x = bub2(m).x + .75
Case Is = 0
bub2(m).x = bub2(m).x - .75
End Select
bub2(m).y = bub2(m).y - 23.7
If bub2(m).y <= 0 Then
bub2(m).y = 1080 + 10
bub2(m).x = Rnd * 1900
bub2(m).move_right = (Rnd * 1) + 1
End If
Select Case bub3(m).move_right
Case Is = 1
bub3(m).x = bub3(m).x + .55
Case Is = 0
bub3(m).x = bub3(m).x - .55
End Select
bub3(m).y = bub3(m).y - 12.5
If bub3(m).y <= 0 Then
bub3(m).y = 1080 + 10
bub3(m).x = Rnd * 1900
bub3(m).move_right = (Rnd * 1) + 1
End If
Next m
Dim n As Integer
For n = 11 To 20
Select Case bub(n).move_right
Case Is = 1
bub(n).x = bub(n).x + .87
Case Is = 0
bub(n).x = bub(n).x - .87
End Select
bub(n).y = bub(n).y - 12
If bub(n).y <= 0 Then
bub(n).y = 1080 + 10
bub(n).x = Rnd * 1900
bub(n).move_right = Rnd * 2
End If
Select Case bub2(n).move_right
Case Is = 1
bub2(n).x = bub2(n).x + .65
Case Is = 0
bub2(n).x = bub2(n).x - .65
End Select
bub2(n).y = bub2(n).y - 11.7
If bub2(n).y <= 0 Then
bub2(n).y = 1080 + 10
bub2(n).x = Rnd * 1900
bub2(n).move_right = (Rnd * 1) + 1
End If
Select Case bub3(n).move_right
Case Is = 1
bub3(n).x = bub3(n).x + .65
Case Is = 0
bub3(n).x = bub3(n).x - .65
End Select
bub3(n).y = bub3(n).y - 28.7
If bub3(n).y <= 0 Then
bub3(n).y = 1080 + 10
bub3(n).x = Rnd * 1900
bub3(n).move_right = (Rnd * 1) + 1
End If
Next n
Dim p As Integer
For p = 1 To num_fish4
Select Case fish4(p).move_up
Case Is = 0
fish4(p).y = fish4(p).y + .75
Case Is = 1
fish4(p).y = fish4(p).y - .75
End Select
Select Case fish4(p).move_right
Case Is = 0
fish4(p).x = fish4(p).x - .65
Case Is = 1
fish4(p).x = fish4(p).x + .65
End Select
Select Case fish4(p).x
Case Is = -500
fish4(p).x = 2000
fish4(p).y = (Rnd * 1080)
Case Is = 2100
fish4(p).x = -400
fish4(p).y = (Rnd * 1080)
End Select
Select Case fish4(p).y
Case Is <= 0
fish4(p).move_up = 0
Case Is >= 1080
fish4(p).move_up = 1
End Select
Next p
For p = 1 To num_fish5
Select Case fish5(p).y
Case Is <= 0
fish5(p).move_up = 0
Case Is >= 420 + (p * 8)
fish5(p).move_up = 1
End Select
Select Case fish5(p).x
Case Is <= -500
fish5(p).x = 2000
fish5(p).y = (Rnd * 420) + 1
fish5(p).move_up = Int(Rnd * 3)
Case Is >= 2100
fish5(p).x = -400
fish5(p).y = (Rnd * 420) + 1
fish5(p).move_up = Int(Rnd * 3)
End Select
Select Case fish5(p).move_up
Case Is = 0
fish5(p).y = fish5(p).y + 2.65
Case Is = 1
fish5(p).y = fish5(p).y - 2.65
Case Is = 2
fish5(p).y = fish5(p).y + 0
End Select
Select Case fish5(p).move_right
Case Is = 0
fish5(p).x = fish5(p).x - 2.75
Case Is = 1
fish5(p).x = fish5(p).x + 2.75
End Select
Next p
End Sub
Sub snail_move
Dim sm As Integer
For sn = 1 To 16
snail_1(sn).x = 2000
snail_1(sn).y = -100
snail_1(sn).move_right = 3
snail_1(sn).move_up = 3
Next sn
For sn = 18 To 58
snail_1(sn).x = 2000
snail_1(sn).y = -100
snail_1(sn).move_right = 3
snail_1(sn).move_up = 3
Next sn
For sn = 60 To 62
Select Case snail_1(sn).move_up
Case Is = 0
snail_1(sn).y = snail_1(sn).y + (Rnd * 1.8)
snail_1(sn).move_right = 3
Case Is = 1
snail_1(sn).y = snail_1(sn).y - (Rnd * 1.2)
snail_1(sn).move_right = 3
Case Is = 3
snail_1(sn).y = snail_1(sn).y + 0
End Select
Select Case snail_1(sn).move_right
Case Is = 0
snail_1(sn).x = snail_1(sn).x - (Rnd * 1.8)
snail_1(sn).move_up = 3
Case Is = 1
snail_1(sn).x = snail_1(sn).x + (Rnd * 1.6)
snail_1(sn).move_up = 3
Case Is = 3
snail_1(sn).x = snail_1(sn).x + 0
End Select
Next sn
For sm = 63 To 65
Select Case snail_1(sm).move_up
Case Is = 0
snail_1(sm).y = snail_1(sm).y + Rnd * 1.6
snail_1(sm).move_right = 3
Case Is = 1
snail_1(sm).y = snail_1(sm).y - Rnd * 1.1
snail_1(sm).move_right = 3
Case Is = 3
snail_1(sm).y = snail_1(sm).y + 0
End Select
Select Case snail_1(sm).move_right
Case Is = 0
snail_1(sm).x = snail_1(sm).x - Rnd * 1.6
snail_1(sm).move_up = 3
Case Is = 1
snail_1(sm).x = snail_1(sm).x + Rnd * 1.6
snail_1(sm).move_up = 3
Case Is = 3
snail_1(sm).x = snail_1(sm).x + 0
End Select
Next sm
For sm = 66 To num_snail_1
Select Case snail_1(sm).move_up
Case Is = 0
snail_1(sm).y = snail_1(sm).y + Rnd * 2.8
snail_1(sm).move_right = 3
Case Is = 1
snail_1(sm).y = snail_1(sm).y - Rnd * 2.2
snail_1(sm).move_right = 3
Case Is = 3
snail_1(sm).y = snail_1(sm).y + 0
End Select
Select Case snail_1(sm).move_right
Case Is = 0
snail_1(sm).x = snail_1(sm).x - Rnd * 2.4
snail_1(sm).move_up = 3
Case Is = 1
snail_1(sm).x = snail_1(sm).x + Rnd * 2.4
snail_1(sm).move_up = 3
Case Is = 3
snail_1(sm).x = snail_1(sm).x + 0
End Select
Next sm
For sm = 1 To num_snail_1
If snail_1(sm).x <= 45 And snail_1(sm).y >= 1055 And snail_1(sm).move_up = 3 Then
snail_1(sm).x = 45
snail_1(sm).move_right = 3
snail_1(sm).move_up = 1
Else If snail_1(sm).x <= 45 And snail_1(sm).y >= 1054 And snail_1(sm).move_up = 0 Then
snail_1(sm).y = 1055
snail_1(sm).x = 46
snail_1(sm).move_right = 1
snail_1(sm).move_up = 3
End If
End If
If snail_1(sm).x >= 1860 And snail_1(sm).y >= 1055 And snail_1(sm).move_up = 3 Then
snail_1(sm).move_right = 3
snail_1(sm).move_up = 1
Else If snail_1(sm).x >= 1860 And snail_1(sm).y > 1055 And snail_1(sm).move_up = 0 Then
snail_1(sm).y = 1055
snail_1(sm).x = 1859
snail_1(sm).move_right = 0
snail_1(sm).move_up = 3
End If
End If
If snail_1(sm).x >= 1860 And snail_1(sm).y = 1055 And snail_1(sm).move_right = 1 Then
snail_1(sm).move_right = 3
snail_1(sm).move_up = 1
End If
If snail_1(sm).x <= 45 And snail_1(sm).y <= 10 Then
snail_1(sm).move_up = 0
End If
If snail_1(sm).x >= 1860 And snail_1(sm).y < 10 Then
snail_1(sm).move_up = 0
End If
Next sm
End Sub
Sub snail_move_2
For sv = 17 To 27
Select Case snail_2(sv).move_up
Case Is = 1
snail_2(sv).y = snail_2(sv).y + Rnd * 1.8
Case Is = 2
snail_2(sv).y = snail_2(sv).y - Rnd * 1.4
Case Is = 3
snail_2(sv).y = snail_2(sv).y + 0
End Select
Select Case snail_2(sv).move_right
Case Is = 1
snail_2(sv).x = snail_2(sv).x - Rnd * 2.5
Case Is = 2
snail_2(sv).x = snail_2(sv).x + Rnd * 2.5
Case Is = 3
snail_2(sv).x = snail_2(sv).x + 0
End Select
''...left
If snail_2(sv).x <= 1625 And snail_2(sv).y = 1051 And snail_2(sv).move_right = 1 Then
snail_2(sv).move_up = 2
snail_2(sv).move_right = 3
snail_2(sv).x = 1625
snail_2(sv).y = 1050
End If
''...right
If snail_2(sv).x >= 1625 And snail_2(sv).y = 1052 And snail_2(sv).move_right = 2 Then
snail_2(sv).move_up = 2
snail_2(sv).move_right = 3
snail_2(sv).x = 1625
snail_2(sv).y = 1050
End If
If snail_2(sv).x = 1625 And snail_2(sv).y <= 710 Then
snail_2(sv).move_up = 1
snail_2(sv).move_right = 3
End If
If snail_2(sv).x = 1625 And snail_2(sv).y >= 1049 And snail_2(sv).move_up = 1 Then
snail_2(sv).move_up = 3
snail_2(sv).move_right = Int((Rnd * 2)) + 1
snail_2(sv).x = 1624
snail_2(sv).y = 1050
End If
''...right
If snail_2(sv).x = 275 And snail_2(sv).y = 1052 Then
If snail_2(sv).move_right = 2 Then
snail_2(sv).move_up = 2
snail_2(sv).move_right = 3
'snail_2(sv).x = 275
snail_2(sv).y = 1049
End If
End If
''...left
If snail_2(sv).x <= 275 And snail_2(sv).y = 1050 Then
If snail_2(sv).move_right = 1 Then
snail_2(sv).move_up = 2
snail_2(sv).move_right = 3
snail_2(sv).x = 275
snail_2(sv).y = 1049
End If
End If
If snail_2(sv).x = 275 And snail_2(sv).y <= 730 And snail_2(sv).move_up = 2 Then
snail_2(sv).move_up = 1
snail_2(sv).move_right = 3
End If
If snail_2(sv).x = 275 And snail_2(sv).y >= 1048 And snail_2(sv).move_up = 1 Then
snail_2(sv).move_up = 3
snail_2(sv).move_right = Int((Rnd * 2)) + 1
snail_2(sv).y = 1052
snail_2(sv).x = 276
End If
If snail_2(sv).x <= 190 And snail_2(sv).y >= 1049 And snail_2(sv).move_right = 1 Then
snail_2(sv).move_up = 2
snail_2(sv).move_right = 3
snail_2(sv).x = 190
snail_2(sv).y = 1048
End If
If snail_2(sv).x = 190 And snail_2(sv).y <= 790 And snail_2(sv).move_up = 2 Then
snail_2(sv).move_up = 1
snail_2(sv).move_right = 3
End If
If snail_2(sv).x = 190 And snail_2(sv).y >= 1048 And snail_2(sv).move_up = 1 Then
snail_2(sv).move_up = 3
snail_2(sv).y = 1052
snail_2(sv).x = 189
snail_2(sv).move_right = Int((Rnd * 2)) + 1
End If
If snail_2(sv).x <= 1 Then
snail_2(sv).x = 1900
snail_2(sv).y = 1051
snail_2(sv).move_up = 3
snail_2(sv).move_right = 1
End If
If snail_2(sv).x > 1900 Then
snail_2(sv).x = 2
snail_2(sv).y = 1052
snail_2(sv).move_up = 3
snail_2(sv).move_right = 2
End If
Next sv
End Sub
Sub convert_to_12hr
Shared h%
Shared clock_timer%
Select Case h%
Case Is > 12
h% = h% - 12
Case Is = 0
h% = h% + 12
End Select
End Sub
Sub move_clock
Select Case clock_right
Case Is = 1
x% = x% + .75
Case Is = 0
x% = x% - .75
End Select
Select Case clock_up
Case Is = 1
y% = y% - .75
Case Is = 0
y% = y% + .75
End Select
Select Case x%
Case Is >= 1899 - 90
clock_right = 0
Case Is <= 0 + 90
clock_right = 1
End Select
Select Case y%
Case Is >= 1079 - 90
clock_up = 1
Case Is <= 0 + 90
clock_up = 0
End Select
End Sub
Sub holiday_check
Select Case Left$(current_date$, 5)
'Case "01-04" ' current date
' _PutImage , alert420&
Case "01-01" 'new year
_PutImage , new_year_pic&
Case "03-17" ' st paddy
_PutImage , st_pat_pic&
Case "04-20" ' 420
_PutImage , alert420&
Case "07-04" '4th of july
_PutImage , july_4th_pic&
Case "10-31" 'halloween
_PutImage , halloween_pic&
Case "11-01" ' dia del meurtos
_PutImage , de_los_meurtos_pic&
Case "12-25" 'christmas
_PutImage , xmas_pic&
Case Else
screen_pic
End Select
End Sub
Sub screen_pic
'====420 alert===='
current_hr = Val(Left$(tm$, 2))
If current_hr >= 4 And current_hr <= 16 Then
_PutImage , day_pic&
Else
_PutImage , night_pic&
End If
End Sub
Sub clock_color_day
Shared x%, y%, h%, tm$
Circle (x%, y%), 150, BLUE
Paint (x%, y%), YELLOW, BLUE
Circle (x%, y%), 145, BLUE
Circle (x%, y%), 140, YELLOW
Paint (x%, y%), LIGHTBLUE, BLUE
Color LIGHTYELLOW, LIGHTBLUE
If f& > 0 Then _Font f&
_PrintString (x% - 118, y%), Right$("0" + LTrim$(Str$(h%)), 2) + Right$(tm$, 6)
Color _RGB32(255, 150, 0), LIGHTBLUE
If fkn& > 0 Then _Font fkn&
_PrintString (x% - 100, y% - 50), "kn0ne"
Circle (x%, y%), BLUE
Color LIGHTYELLOW, LIGHTBLUE
If fdt& > 0 Then _Font fdt&
_PrintString (x% - 112, y% + 30), current_date$
'_PrintString (x% - 23, y% - 75), Str$(Int((Rnd * 2)) + 1)
Circle (x%, y%), 125, BLUE
Circle (x%, y%), 160, YELLOW
Circle (x%, y%), 170, BLUE
Circle (x%, y%), 123, BLUE
Circle (x%, y%), 158, YELLOW
Circle (x%, y%), 168, BLUE
End Sub
Sub clock_color_night
Shared x%, y%, h%, tm$
Circle (x%, y%), 150, GRAY
Paint (x%, y%), DARKGRAY, GRAY
Circle (x%, y%), 145, BRIGHTGREEN
Circle (x%, y%), 140, GREEN '
Paint (x%, y%), BLACK, GRAY
Color BRIGHTGREEN, BLACK
If fdt& > 0 Then _Font fdt&
_PrintString (x% - 112, y% + 30), current_date$
If f& > 0 Then _Font f&
_PrintString (x% - 118, y%), Right$("0" + LTrim$(Str$(h%)), 2) + Right$(tm$, 6)
Circle (x%, y%), GREEN
Color GREEN, BLACK
If fkn& > 0 Then _Font fkn&
_PrintString (x% - 100, y% - 50), "kn0ne"
'_PrintString (x% - 100, y% - 50), Str$(Int(Rnd * 3) + 1)
'Color BLACK, WHITE
'_PrintString (540, 540), Str$(Int((Rnd * 2)) + 1)
Circle (x%, y%), 130, BRIGHTGREEN
Circle (x%, y%), 150, GREEN
Circle (x%, y%), 170, BRIGHTGREEN
End Sub
Sub move_hook
Select Case hook(1).y
Case Is <= Int(Rnd * -2400) - 800
hook(1).move_up = 0
hook(1).x = Rnd * 1899
Case Is >= (Rnd * 840) + 350
hook(1).move_up = 1
End Select
Select Case hook(1).x
Case Is <= 0
hook(1).x = 10
Case Is >= 1899
hook(1).x = 1890
End Select
Select Case hook2(1).y
Case Is <= Int(Rnd * -4000) - 900
hook2(1).move_up = 0
hook2(1).x = Rnd * 1890
Case Is >= (Rnd * 900) + 567
hook2(1).move_up = 3
End Select
my_timer2 = my_timer2 + 1
If my_timer2 > 2000 Then my_timer2 = 0
If hook2(1).y >= 567 And my_timer2 > 1800 Then
hook2(1).move_up = 1
End If
Select Case hook2(1).move_up
Case Is = 0
hook2(1).y = hook2(1).y + 1.65
Case Is = 1
hook2(1).y = hook2(1).y - 4
End Select
Select Case hook3(1).y
Case Is <= Int(Rnd * -5000) - 700
hook3(1).move_up = 0
hook3(1).x = Rnd * 1899
Case Is >= (Rnd * 890) + 850
hook3(1).move_up = 3
End Select
If hook3(1).y >= 850 And my_timer2 > 1500 Then
hook3(1).move_up = 1
End If
Select Case hook3(1).move_up
Case Is = 0
hook3(1).y = hook3(1).y + 1.55
Case Is = 1
hook3(1).y = hook3(1).y - 6.5
End Select
Select Case hook4(1).y
Case Is <= Int(Rnd * -850) - 420
hook4(1).move_up = 0
hook4(1).x = Rnd * 1899
Case Is >= (Rnd * 420) + 245
hook4(1).move_up = 3
End Select
my_timer3 = my_timer3 + 1
If my_timer3 > 1500 Then my_timer3 = 0
If hook4(1).y >= 245 And my_timer3 > 654 Then
hook4(1).move_up = 1
End If
Select Case hook4(1).move_up
Case Is = 0
hook4(1).y = hook4(1).y + .85
Case Is = 1
hook4(1).y = hook4(1).y - 1.85
End Select
Select Case hook5(1).y
Case Is <= Int(Rnd * -850) - 420
hook5(1).move_up = 0
hook5(1).x = Rnd * 1899
Case Is >= (Rnd * 420) + 245
hook5(1).move_up = 3
End Select
If hook5(1).y >= 245 And my_timer3 > 850 Then
hook5(1).move_up = 1
End If
Select Case hook5(1).move_up
Case Is = 0
hook5(1).y = hook5(1).y + .85
Case Is = 1
hook5(1).y = hook5(1).y - 1.85
End Select
End Sub
Sub fish_AI
Randomize Timer
'--hook(1)&fish3(11)--
If randf = 1 And hook(1).move_up = 1 Then
fish6(8).y = hook(1).y + Rnd * 5
fish6(8).x = hook(1).x + Rnd * 50
hook(1).move_up = 1
If hook(1).x <= 950 Then
hook(1).x = hook(1).x + 4
Else
hook(1).x = hook(1).x - 4
End If
hook(1).y = hook(1).y - 5
ElseIf randf = 2 And hook(1).move_up = 1 Then
fishb(33).y = hook(1).y + Rnd * 5
fishb(33).x = hook(1).x + Rnd * 25
fishb(33).move_up = 1
hook(1).move_up = 1
If hook(1).x <= 950 Then
hook(1).x = hook(1).x + 4
Else
hook(1).x = hook(1).x - 4
End If
hook(1).y = hook(1).y - 5
fishb(33).y = fishb(33).y - 10
ElseIf randf = 3 And hook(1).move_up = 1 Then
fish(35).y = hook(1).y + Rnd * 5
fish(35).x = hook(1).x - Rnd * 35
fish(35).move_up = 1
hook(1).move_up = 1
hook(1).y = hook(1).y - 5
If hook(1).x <= 950 Then
hook(1).x = hook(1).x + 4
Else
hook(1).x = hook(1).x - 4
End If
fish(35).y = fish(35).y - 10
ElseIf randf = 4 And hook(1).move_up = 1 Then
fish3(15).y = hook(1).y + Rnd * 5
fish3(15).x = hook(1).x - Rnd * 35
fish3(15).move_up = 1
hook(1).move_up = 1
hook(1).y = hook(1).y - 5
If hook(1).x <= 950 Then
hook(1).x = hook(1).x + 4
Else
hook(1).x = hook(1).x - 4
End If
ElseIf randf >= 5 And hook(1).move_up = 1 Then
fish2(15).y = hook(1).y + Rnd * 5
fish2(15).x = hook(1).x - Rnd * 35
fish2(15).move_up = 1
hook(1).move_up = 1
hook(1).y = hook(1).y - 5
If hook(1).x <= 950 Then
hook(1).x = hook(1).x + 4
Else
hook(1).x = hook(1).x - 4
End If
End If
If hook(1).y < -500 Then
randf = (Rnd * 5) + 1
End If
'===================================================='
Dim l As Integer
'--hook2(1)&fish3(9)--
Dim g As Integer
g = 0
If randf2 = 1 And hook2(1).move_up = 1 Then
fish3(11).y = hook2(1).y + Rnd * 5
fish3(11).x = hook2(1).x + Rnd * 20
fish3(11).move_up = 1
hook2(1).move_up = 1
hook2(1).y = hook2(1).y - 5
If hook2(1).x <= 599 Then
hook2(1).x = hook2(1).x + 4
Else
hook2(1).x = hook2(1).x - 4
End If
fish3(11).y = fish3(11).y - 10
ElseIf randf2 = 2 And hook2(1).move_up = 1 Then
fishb(7).y = hook2(1).y + Rnd * 5
fishb(7).x = hook2(1).x + Rnd * 30
fishb(7).move_up = 1
hook2(1).move_up = 1
hook2(1).y = hook2(1).y - 5
If hook2(1).x <= 599 Then
hook2(1).x = hook2(1).x + 4
Else
hook2(1).x = hook2(1).x - 4
End If
fishb(7).y = fishb(7).y - 10
ElseIf randf2 = 3 And hook2(1).move_up = 1 Then
fish(7).y = hook2(1).y + Rnd * 5
fish(7).x = hook2(1).x + Rnd * 25
fish(7).move_up = 1
hook2(1).move_up = 1
hook2(1).y = hook2(1).y - 5
If hook2(1).x <= 599 Then
hook2(1).x = hook2(1).x + 4
Else
hook2(1).x = hook2(1).x - 4
End If
fish(7).y = fish(7).y - 10
ElseIf randf2 = 4 And hook2(1).move_up = 1 And hook2(1).y > 226 Then
fish(10).y = hook2(1).y + Rnd * 5
fish(10).x = hook2(1).x + Rnd * 25
fish(10).move_up = 1
hook2(1).move_up = 1
hook2(1).y = hook2(1).y - 5
If hook2(1).x <= 950 Then
hook2(1).x = hook2(1).x + 4
Else
hook2(1).x = hook2(1).x - 4
End If
Else
fish(10).move_up = 0
fish(10).x = fish(10).x + 9.5
End If
If hook2(1).y < -500 Then
randf2 = Int(Rnd * 4) + 1
End If
'If hook2(1).y < 0 Then
'fish(7).y = 1201
'fishb(7).y = 1201
'fish3(11).y = 1201
'End If
'==== hook3(1)&fish(i)========='
'randf3 = 4
If randf3 = 1 And hook3(1).move_up = 1 Then
fish3(25).y = hook3(1).y + Rnd * 5
fish3(25).x = hook3(1).x + Rnd * 20
fish3(25).move_up = 1
hook3(1).move_up = 1
hook3(1).y = hook3(1).y - 5
If hook3(1).x <= 599 Then
hook3(1).x = hook3(1).x + 4
Else
hook3(1).x = hook3(1).x - 4
End If
fish3(25).y = fish3(25).y - 10
End If
If randf3 = 2 And hook3(1).move_up = 1 Then
fish(1).y = hook3(1).y + Rnd * 5
fish(1).x = hook3(1).x + Rnd * 20
fish(1).move_up = 1
hook3(1).move_up = 1
hook3(1).y = hook3(1).y - 5
If hook3(1).x <= 599 Then
hook3(1).x = hook3(1).x + 4
Else
hook3(1).x = hook3(1).x - 4
End If
fish(1).y = fish(1).y - 8
End If
If randf3 = 3 And hook3(1).move_up = 1 Then
fishb(35).y = hook3(1).y + Rnd * 5
fishb(35).x = hook3(1).x + Rnd * 20
fishb(35).move_up = 1
hook3(1).move_up = 1
hook3(1).y = hook3(1).y - 5
If hook3(1).x <= 599 Then
hook3(1).x = hook3(1).x + 4
Else
hook3(1).x = hook3(1).x - 4
End If
fishb(35).y = fishb(35).y - 10
ElseIf randf3 = 4 And hook3(1).move_up = 1 And hook3(1).y > 400 Then
fishb(35).y = hook3(1).y + Rnd * 5
fishb(35).x = hook3(1).x + Rnd * 20
fishb(35).move_up = 1
hook3(1).move_up = 1
hook3(1).y = hook3(1).y - 5
If hook3(1).x <= 599 Then
hook3(1).x = hook3(1).x + 4
Else
hook3(1).x = hook3(1).x - 4
End If
Else
fishb(35).move_up = 0
fishb(35).x = fishb(35).x - 9.3
End If
If hook3(1).y < -500 Then
randf3 = Int(Rnd * 4) + 1
End If
If randf4 = 1 And hook4(1).move_up = 1 Then
fish4(2).y = hook4(1).y + Rnd * 2
fish4(2).x = hook4(1).x + Rnd * 4
hook4(1).move_up = 1
End If
If hook4(1).x <= 950 And randf4 = 1 And hook4(1).move_up = 1 Then
hook4(1).x = hook4(1).x + 2
Else
If hook4(1).x > 950 And randf4 = 1 And hook4(1).move_up = 1 Then
hook4(1).x = hook4(1).x - 2
End If
End If
If randf4 = 2 And hook4(1).move_up = 1 Then
fish6(2).y = hook4(1).y + Rnd * 2
fish6(2).x = hook4(1).x + Rnd * 5
hook4(1).move_up = 1
End If
If hook4(1).x <= 950 And randf4 = 2 And hook4(1).move_up = 1 Then
hook4(1).x = hook4(1).x + 2
Else
If hook4(1).x > 950 And randf4 = 2 And hook4(1).move_up = 1 Then
hook4(1).x = hook4(1).x - 2
End If
End If
If randf4 = 3 And hook4(1).move_up = 1 Then
fish2(4).y = hook4(1).y + Rnd * 2
fish2(4).x = hook4(1).x + Rnd * 2
hook4(1).move_up = 1
End If
If hook4(1).x <= 950 And randf4 = 3 And hook4(1).move_up = 1 Then
hook4(1).x = hook4(1).x + 2
Else
If hook4(1).x > 950 And randf4 = 3 And hook4(1).move_up = 1 Then
hook4(1).x = hook4(1).x - 2
End If
End If
If randf4 = 4 And hook4(1).move_up = 1 And hook4(1).y > 50 Then
fish2(4).y = hook4(1).y + Rnd * 2
fish2(4).x = hook4(1).x + Rnd * 2
hook4(1).move_up = 1
End If
If hook4(1).x <= 950 And randf4 = 4 And hook4(1).move_up = 1 Then
hook4(1).x = hook4(1).x + 2
'fish2(4).move_up = 0
fish2(4).x = fish2(4).x - 9.3
Else
If hook4(1).x > 950 And randf4 = 4 And hook4(1).move_up = 1 Then
hook4(1).x = hook4(1).x - 2
fish2(4).move_up = 0
fish2(4).x = fish2(4).x + 9.3
End If
End If
If randf5 = 1 And hook5(1).move_up = 1 Then
fish4(2).y = hook5(1).y + Rnd * 2
fish4(2).x = hook5(1).x + Rnd * 4
hook5(1).move_up = 1
End If
If hook5(1).x <= 950 And randf5 = 1 And hook5(1).move_up = 1 Then
hook5(1).x = hook5(1).x + 2
Else
If hook5(1).x > 950 And randf5 = 1 And hook5(1).move_up = 1 Then
hook5(1).x = hook5(1).x - 2
End If
End If
If randf5 = 2 And hook5(1).move_up = 1 Then
fish6(3).y = hook5(1).y + Rnd * 2
fish6(3).x = hook5(1).x + Rnd * 5
hook5(1).move_up = 1
End If
If hook5(1).x <= 950 And randf5 = 2 And hook5(1).move_up = 1 Then
hook5(1).x = hook5(1).x + 2
Else
If hook5(1).x > 950 And randf5 = 2 And hook5(1).move_up = 1 Then
hook5(1).x = hook5(1).x - 2
End If
End If
If randf5 = 3 And hook5(1).move_up = 1 Then
fish5(2).y = hook5(1).y + Rnd * 2
fish5(2).x = hook5(1).x + Rnd * 2
hook5(1).move_up = 1
End If
If hook5(1).x <= 950 And randf5 = 3 And hook5(1).move_up = 1 Then
hook5(1).x = hook5(1).x + 2
Else
If hook5(1).x > 950 And randf5 = 3 And hook5(1).move_up = 1 Then
hook5(1).x = hook5(1).x - 2
End If
End If
If randf5 = 4 And hook5(1).move_up = 1 And hook5(1).y > 50 Then
fish5(5).y = hook5(1).y + Rnd * 4
fish5(5).x = hook5(1).x + Rnd * 4
hook5(1).move_up = 1
End If
If hook5(1).x <= 950 And randf5 = 4 And hook5(1).move_up = 1 Then
hook5(1).x = hook5(1).x + 2
fish5(5).x = fish5(5).x - 7.3
fish5(5).move_up = 0
fish5(5).y = fish5(5).y + 7.3
Else
If hook5(1).x > 950 And randf5 = 4 And hook5(1).move_up = 1 Then
hook(1).x = hook5(1).x - 2
fish5(5).x = fish5(5).x + 7.3
fish5(5).move_up = 0
fish5(5).y = fish5(5).y + 7.3
End If
End If
'===============
Dim i As Integer
For i = 1 To 10
Select Case fish(i).x
Case Is < hook3(1).x
fish(i).x = fish(i).x + 3.8
End Select
Select Case fish(i).y
Case Is > hook3(1).y
fish(i).y = fish(i).y - .5
End Select
Next i
For i = 12 To 25
Select Case fish(i).x
Case Is < hook(1).x
fish(i).x = fish(i).x + 1.8
End Select
Select Case fish(i).y
Case Is > hook(1).y
fish(i).y = fish(i).y - .5
End Select
Next i
For i = 1 To 12
Select Case fishb(i).x
Case Is < hook2(1).x
fishb(i).x = fishb(i).x - 3.8
End Select
Select Case fishb(i).y
Case Is > hook2(1).y
fishb(i).y = fishb(i).y - 1
Case Is < hook2(1).y
fishb(i).y = fishb(i).y + 1
End Select
Next i
For i = 5 To 15
Select Case fish3(i).x
Case Is < hook(1).x
fish3(i).x = fish3(i).x - 3.8
End Select
Select Case fish3(i).y
Case Is > hook(1).y
fish3(i).y = fish3(i).y - 1
Case Is < hook(1).y
fish3(i).y = fish3(i).y + 1
End Select
Next i
For i = 1 To 4
Select Case fish3(i).x
Case Is > hook(1).x
fish3(i).x = fish3(i).x + 5.8
End Select
Select Case fish3(i).y
Case Is > hook(1).y
fish3(i).y = fish3(i).y - 2
Case Is < hook(1).y
fish3(i).y = fish3(i).y + 1
End Select
Next i
'======================================================'
If fish2(1).x < hook(1).x Then
hook(1).x = hook(1).x - .65
hook(1).move_right = 0
ElseIf fish2(1).x > hook(1).x Then
hook(1).x = hook(1).x + .65
hook(1).move_right = 1
End If
If fish2(1).y < hook(1).y And hook(1).y > 360 Then
hook(1).y = hook(1).y - .65
ElseIf fish2(1).y > hook(1).y Then
hook(1).y = hook(1).y + .55
End If
'====fish3(i)&hook2(1)===
For l = 1 To 3
Select Case fish3(l).x
Case Is < hook2(1).x
fish3(l).x = fish3(l).x + 2
End Select
Select Case fish3(l).y
Case Is > hook2(1).y
fish3(l).y = fish3(l).y - 2
Case Is < hook2(1).y
fish3(l).y = fish3(l).y + 2
End Select
Next l
'====fish3(i)&hook3(1)===
For l = 7 To 10
Select Case fish3(l).x
Case Is < hook3(1).x And hook3(1).y > 0
fish3(l).x = fish3(l).x + 2
End Select
Select Case fish3(l).y
Case Is > hook3(1).y And hook3(1).y > 0
fish3(l).y = fish3(l).y - 2
Case Is < hook3(1).y And hook3(1).y > 0
fish3(l).y = fish3(l).y + 2
End Select
Next l
Dim fb As Integer
For fb = 1 To 6
Select Case hook(1).y
Case Is < fishb(fb).y And hook(1).x < fishb(fb).x
fishb(fb).y = fishb(fb).y - .5
Case Is > fishb(fb).y And hook(1).x < fishb(fb).x
fishb(fb).y = fishb(fb).y + 3
End Select
Select Case hook(1).x And hook(1).x < fishb(fb).x
Case Is < fishb(fb).x
fishb(fb).x = fishb(fb).x - 3
End Select
Next fb
Dim bf As Integer
For bf = 7 To 12
Select Case hook(1).y
Case Is < fishb(bf).y And hook(1).x < fishb(bf).x
fishb(bf).y = fishb(bf).y - .5
Case Is > fishb(bf).y And hook(1).x < fishb(bf).x
fishb(bf).y = fishb(bf).y + 2.5
End Select
Select Case hook(1).x And hook(1).x < fishb(bf).x
Case Is < fishb(bf).x
fishb(bf).x = fishb(bf).x - 2.8
End Select
Next bf
Dim z As Integer
For z = 13 To 20
Select Case hook(1).y
Case Is < fishb(z).y And hook(1).x < fishb(z).x
fishb(z).y = fishb(z).y - .5
Case Is > fishb(z).y And hook(1).x < fishb(z).x
fishb(z).y = fishb(z).y + 1.5
End Select
Select Case hook(1).x And hook(1).x < fishb(z).x
Case Is < fishb(z).x
fishb(z).x = fishb(z).x - 1.8
End Select
If fishb(z).y <= 0 Then
fishb(z).move_up = 0
End If
Next z
Dim z2%
For z2% = 1 To 5
If fish3(z2%).x > hook3(1).x And fish3(z2%).y + 2 >= hook3(1).y Then
fish5(z2%).x = fish5(z2%).x - 2.8
Else
If fish3(z2%).x < hook3(1).x And fish3(z2%).y + 2 >= hook3(1).y Then
fish3(z2%).x = fish3(z2%).x + 2.8
End If
End If
Next z2%
Select Case hook2(1).x
Case Is > fish(34).x
fish(34).x = fish(34).x + ((Rnd * 20) + 10)
fish(34).move_up = 3
Case Is < fish(34).x And hook2(1).y > 1
fish(34).x = fish(34).x + ((Rnd * 10) + 5)
End Select
Select Case hook2(1).x
Case Is > fish(32).x And hook2(1).y > 1
fish(32).x = fish(32).x + ((Rnd * 10) + 5)
Case Is < fish(32).x
fish(32).x = fish(32).x + ((Rnd * 20) + 10)
fish(32).move_up = 3
End Select
Dim zx As Integer
Randomize Timer
For zx = 1 To 7
Select Case fish(34).x
Case Is > fishb(zx).x
fishb(zx).x = fishb(zx).x - (Rnd * 5.3) + 1
fishb(zx).move_up = 3
Case Else
fishb(zx).x = fishb(zx).x - (Rnd * 4.4) + 1
fishb(zx).move_up = 3
End Select
Next zx
Select Case fish3(8).x
Case Is > fish(14).x
fish(14).x = fish(14).x + (Rnd * 6) + 1
Case Else
fish(14).x = fish(14).x + (Rnd * 6) + 1
End Select
Dim xz As Integer
For xz = 5 To 10
Select Case fish3(8).x
Case Is < fish2(xz).x
fish2(xz).x = fish2(xz).x - (Rnd * 5) + 2
Case Else
fish2(xz).x = fish2(xz).x + (Rnd * 4) + 2
End Select
Next xz
Dim zf As Integer
For zf = 1 To num_fish2
If fish2(zf).y <= y% + 100 And fish2(zf).y >= y% - 100 And x% > fish2(zf).x Then
fish2(zf).x = fish2(zf).x - ((Rnd * 9.4) + 4)
End If
If fish2(zf).y <= y% + 100 And fish2(zf).y >= y% - 100 And x% < fish2(zf).x Then
fish2(zf).x = fish2(zf).x + ((Rnd * 9.4) + 4)
End If
Next zf
Dim z3 As Integer
For z3 = 1 To num_fish3
If fish3(z3).y <= y% + 100 And fish3(z3).y >= y% - 100 And x% > fish3(z3).x Then
fish3(z3).x = fish3(z3).x - ((Rnd * 9.4) + 4)
End If
If fish3(z3).y <= y% + 100 And fish3(z3).y >= y% - 100 And x% < fish3(z3).x Then
fish3(z3).x = fish3(z3).x + ((Rnd * 9.4) + 4)
End If
Next z3
For z3 = 1 To num_fish
If fish(z3).y <= y% + 50 And fish(z3).y >= y% - 50 And x% > fish(z3).x Then
fish(z3).x = fish(z3).x + ((Rnd * 17.8) + 5)
End If
If fish(z3).y <= y% + 50 And fish(z3).y >= y% - 50 And x% < fish(z3).x Then
fish(z3).x = fish(z3).x + ((Rnd * 11.8) + 5)
End If
Next z3
For z3 = 1 To num_fishb
If fishb(z3).y <= y% + 80 And fishb(z3).y >= y% - 80 And x% > fishb(z3).x Then
fishb(z3).x = fishb(z3).x - ((Rnd * 7.8) + 5)
End If
If fishb(z3).y <= y% + 80 And fishb(z3).y >= y% - 80 And x% < fishb(z3).x Then
fishb(z3).x = fishb(z3).x - ((Rnd * 15.8) + 5)
End If
Next z3
For z3 = 1 To num_fishba
If fishba(z3).y <= y% + 100 And fishba(z3).y >= y% - 100 And x% > fishba(z3).x Then
fishba(z3).x = fishba(z3).x - ((Rnd * 8.8) + 5)
End If
If fishba(z3).y <= y% + 100 And fishba(z3).y >= y% - 100 And x% < fishba(z3).x Then
fishba(z3).x = fishba(z3).x - ((Rnd * 16.8) + 5)
End If
Next z3
For z3 = 1 To num_fish6
If fish6(z3).y <= y% + 150 And fish6(z3).y >= y% - 150 And x% > fish6(z3).x Then
fish3(z3).x = fish3(z3).x - ((Rnd * 10.4) + 4)
End If
If fish6(z3).y <= y% + 150 And fish6(z3).y >= y% - 150 And x% < fish6(z3).x Then
fish6(z3).x = fish6(z3).x + ((Rnd * 11.4) + 4)
End If
Next z3
Dim z4 As Integer
For z4 = 1 To num_fish4
If fish4(z4).y <= y% + 100 And fish4(z4).y >= y% - 100 And x% > fish4(z4).x Then
fish4(z4).x = fish4(z4).x - ((Rnd * 9.4) + 4)
End If
If fish4(z4).y <= y% + 100 And fish4(z4).y >= y% - 100 And x% < fish4(z4).x Then
fish4(z4).x = fish4(z4).x + ((Rnd * 9.4) + 4)
End If
Next z4
Dim z5 As Integer
For z5 = 1 To num_fish5
If fish5(z5).y <= y% + 180 And fish5(z5).y >= y% - 180 And x% > fish5(z5).x Then
fish5(z5).x = fish5(z5).x - ((Rnd * 9.4) + 5)
End If
If fish5(z5).y <= y% + 180 And fish5(z5).y >= y% - 180 And x% < fish5(z5).x Then
fish5(z5).x = fish5(z5).x + ((Rnd * 11.4) + 3)
End If
Next z5
End Sub
|
|
|
A Language improvement section |
Posted by: PhilOfPerth - 04-22-2024, 02:25 AM - Forum: Site Suggestions
- Replies (10)
|
|
The Site Suggestions area presumably is to suggest changes to the site layout. It doesn't seem to cover suggestions about improving the language - adding, removing or changing functions etc. Is there, or can there be, an area that does this?
Here's an example of what I meant in the previous post:
I often need to clear one or more lines of my screen during programme running – prompts, warnings etc. or to centre text on a selected column. Are there functions for either of these? I’m sure if there aren’t, someone could write one and include it in the PE list of functions. I have been using the two Subs below, which both work for any screen-size setting with a Monospace font.
(CPL is CharsPerLine of the set screen size : CPL = Width / _PrintWidth("X"), and LN$ is a string of 2-digit line numbers).
We can write Locate line-number,1 : Print space$(80) or whatever the line-length is, repeatedly, to clear each line, but it’s easier to use and visualize: Wipe “080910” (to clear rows 8, 9 and 10) with this sub:
Sub WIPE (ln$) ’ To clear selected screen rows
‘ Call this sub with a string of 2-digit row-numbers e.g. Wipe ”080910” for rows 8, 9 and 10
If Len(ln$) = 1 Then ln$ = "0" + ln$ ' catch single-digit line numbers
For a = 1 To Len(ln$) - 1 Step 2 ‘ step through LN$ in 2 digit steps
wl = Val(Mid$(ln$, a, 2)) ’ line to be wiped is value of the 2 digits
Locate wl, 1: Print Space$(CPL)’ print a full line of spaces
Next
End Sub
And we can use LeftPos=80-int(len(txt$)/2) : Locate line-number,LeftPos : Print Txt$ to centre a line of text, but it’s
simpler to write: Centre txt$ , 10 (to centralize Txt$ on line 10) with this sub:
Sub Centre (txt$, linenum)
‘ Call this sub with a text string and line-number e.g. Centre Txt$,10
CtrPos = Int(CPL / 2 - Len(txt$) / 2) + 1
Locate linenum, CtrPos
Print txt$
End Sub
They’re both very primitive, but I think the general ideas, cleaned up, could be useful to others.
|
|
|
Using gcc to compile C file |
Posted by: aurel - 04-18-2024, 07:31 PM - Forum: Help Me!
- Replies (22)
|
|
hi
is it possible to use gcc from qb64 internal\c-compiler\bin
to compile C file ?
maybe with Notepad++ ?
any clue ?
i am lazy to download whole MingW
|
|
|
Sudoku - Proof of Concept |
Posted by: The Joyful Programmer - 04-18-2024, 03:20 PM - Forum: Works in Progress
- Replies (13)
|
|
It's been many years since I last posted any QB64 demos. I primarily use C++ as my go-to programming language nowadays, but I chose QB64 once more to create, what I thought would be a quick demo of a Sudoku game.
@Norby Droid was working on one in FreeBasic which inspired me to create one too. I needed a little mental break from my websites and other big projects, so I thought this game would be the perfect thing to do just that.
@Norby Droid added over 6,000 puzzles to his Sudoku game that are easy, medium, hard, and evil. He has shared those puzzles with me so I can add them to my project.
I'm currently working on the menu system. When that is done, I can work on the AI, which the user can step through.
Here's a current screenshot of the project
You can switch between AI and Manual modes with the <F4> key.
The font used is the same as the one on my three websites, the "SAIRA" font from Google Fonts.
The puzzle is dynamically sized according to the font size of the subcells. You can adjust the border size, the box separator size, and the cell separator size by changing the global variable values.
The text box on the right-hand side is the information box that provides info as needed.
The 50 bubbles in the background are animated and bounce around. The bubble is just a single PNG file I created from an Adobe Illustrator file I found online. The bubbles are randomly scaled by using the _MAPTRIANGLE command.
As you can see in the screenshot above, when the cell cursor is over a playable cell, there is a green outline around it. When the cell is unplayable, there is a yellow outline around it, as seen in the following screenshot.
Other features I need to add to the game after the menu system and AI are the puzzle selection menu and the save/load game.
When selecting the puzzle you want to play, the icons will show how much they have been played, as seen in the following screenshot.
The puzzle icons are scaled versions of the playable puzzles.
The grey subcells are unplayed, the yellow subcells are the possible playable values, and the red subcells are non-playable.
I will share the source code for the Sudoku game on my GitHub account when I get it done.
|
|
|
InForm Tutorial (Portable Version) |
Posted by: mpgcan - 04-18-2024, 08:42 AM - Forum: Learning Resources and Archives
- Replies (2)
|
|
InForm-PE is a fork of InForm designed to operate with QB64-PE. It is presently maintained by Samuel Gomes (a740g) and can be found on GitHub. InForm-PE enables you to develop graphical user interfaces (GUIs) for your QB64-PE applications.
This tutorial is an HTML document, covering the following topics:
- Introduction
- Home
- Installing QB64pe
- QB64pe IDE Tour
- Installing InForm-PE
- InForm-PE IDE Tour
- Toolbox Controls Introduction
- Toolbox Button
- Toolbox Label
- Toolbox Textbox
- Toolbox Numeric Textbox
- Toolbox CheckBox
- Toolbox Radio Button
- Toolbox ListBox
- Toolbox Dropdown List
- Toolbox Track-Bar
- Toolbox Progress-Bar
- Toolbox Picture-Box
- Toolbox Frame
- Toolbox Toggle-Switch
- MenuBar and ContextMenu
- Icons, Images, and Title
- Events
- Methods
- Properties
- Global Constants and Variables
Quick Installation:
Download the attached file and extract it to a folder of your choice. Run the tutorial by double-clicking on index.html, or alternatively, open the file manually from your browser.
Detailed Installation:
1. Create a new folder to contain the tutorial files; for example, name it "InForm-PE-Tutorial."
2. Download the attached 7z archive file "portable_Inform_tutorial.7z" and save it to the folder you created above.
3. Assuming you have 7-Zip installed, right-click on the file "portable_Inform_tutorial.7z," hover over "7-Zip," and from the side menu, click on "Extract Here."
4. A new folder, portable_Inform_tutorial, is created, containing all the tutorial files.
5. Navigate into this folder. Run the tutorial by double-clicking on index.html, or alternatively, open the file manually from your browser.
Note: If you do not have 7-Zip installed on your computer, visit the 7-Zip website at [https://www.7-zip.org/](https://www.7-zip.org/) to download and install the appropriate version for your system. Alternatively, you can use the portable apps version: [https://portableapps.com/apps/utilities/..._portable).
All the best,
MPGCAN
portable_Inform_tutorial.7z (Size: 2.98 MB / Downloads: 213)
|
|
|
Portable Version of Terry Ritchie's Tutorial Updated |
Posted by: mpgcan - 04-18-2024, 08:37 AM - Forum: Learning Resources and Archives
- Replies (6)
|
|
Terry has published a significant update to his tutorial. Please refer to the page: https://qb64phoenix.com/forum/showthread.php?tid=2588.
I have accordingly updated my portable version. Please see the attached file.
---------------------------
Quick install:
Download the attached file and extract it to a folder of your choice. Run the tutorial by double-clicking index.html; alternatively, from your browser, open the file manually.
Detailed install:
1) Create a new folder to contain the tutorial files; for example, name it "QB64pe-tutorial."
2) Download the attached 7z archive file "portable_TR_tutorial.7z" and save it to the folder you created above.
3) Assuming you have 7-Zip installed, right-click on the file "portable_TR_tutorial.7z," mouse over "7-Zip," and from the side menu, click the item "Extract Here."
4) A new folder, portable_TR_tutorial, is created, containing all the tutorial files.
5) Navigate into this folder. Run the tutorial by double-clicking index.html; alternatively, from your browser, open the file manually.
Note: If you do not have 7-Zip installed on your computer, visit the 7-Zip web site at https://www.7-zip.org/ to download and install the appropriate version for your system.
Alternatively, use the portable apps version: https://portableapps.com/apps/utilities/7-zip_portable.
--------------------------
portable_TR_tutorial.7z (Size: 15.57 MB / Downloads: 113)
All the best
|
|
|
|