41 lines
1.1 KiB
Fortran
41 lines
1.1 KiB
Fortran
!
|
|
! R A N D O M W A L K
|
|
! la marche de l'ivrogne qui cherche ses clefs sous
|
|
! le lampadaire, juste là où il y a de la lumière.
|
|
!
|
|
program randomwalk
|
|
use genplotting
|
|
implicit none
|
|
integer foo, col
|
|
real px, py
|
|
write (0, '(A)') "----[ genplotting randomwalk ]----"
|
|
call srand(time())
|
|
call genp_init (0, 'WS/randomwalk.scratch')
|
|
do foo=1, 20
|
|
px = 100 * (rand(0) - 0.50)
|
|
py = 100 * (rand(0) - 0.50)
|
|
call genp_set_offset(px, py)
|
|
col = 1 + mod(foo, 6)
|
|
call do_randomwalk(500, col)
|
|
enddo
|
|
call genp_end (0)
|
|
stop
|
|
contains
|
|
! ---------------------------------------------------------
|
|
subroutine do_randomwalk(nbre, col)
|
|
integer, intent(in) :: nbre, col
|
|
integer :: idx
|
|
real :: px, py, px2, py2
|
|
|
|
px = 0.0 ; py = 0.0
|
|
do idx=1, nbre
|
|
px2 = px + rand(0) - 0.50
|
|
py2 = py + rand(0) - 0.50
|
|
call genp_line(px, py, px2, py2, col)
|
|
px = px2 ; py = py2
|
|
enddo
|
|
|
|
end subroutine
|
|
! ---------------------------------------------------------
|
|
end program
|