Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
micro(A)v11
#19
RoboFloorPainter by roq/mnr

Code: (Select All)
'by "roquedrivel" 16/07/23
'robot floor painter
var xi, yi, px, py, xm, ym, ox, oy, i, p, q, f
var mza, dtime, kount, myd1, myd2
var mz[3000]

'initialize
px = Rand(200)
py = Rand(150)

i = 1
label lb01
    mz[i] = 0
i = i + 1
if i < 3001 : goto lb01 : endif

wcolor 0, 0, 0

q = 0
choosedirection()
kount = 0
label mloop
    'display the robot
    mza = 200 * py - 200
    mza = mza + px - 1
    mz[mza] = 1
    ox = (px - 1) * 3
    oy = (py - 1) * 3
    fcolor 255, 160, 64
    dasprite()
    swap
fcolor 255, 255, 255
rect 0,0,100,26 : print 4, 4, px : print 60, 4, py
'swap
    dtime = 10
    mydelay()
'fcolor 0, 0, 0
'print 0, 0, px
'print 40, 0, py
'swap
    fcolor 96, 96, 96
    dasprite()
    pset ox + 1, oy
    pset ox + 2, oy + 1
    pset ox, oy + 1
    pset ox + 1, oy + 2
    'attempt to move the robot
    xm = 1
    ym = 1
    f = 0
    ox = px
    oy = py
    px = px + xi
    py = py + yi
    if px < 1
        f = 1
    endif
    if px > 200
        f = 1
    endif
    if py < 1
        f = 1
    endif
    if py > 150
        f = 1
    endif
    if f = 1
        choosedirection()
        getoffedge()
    endif
    mza = 200 * (py - 200)
    mza = mza + px - 1
    if mz[mza] = 1
        px = ox
        py = oy
        label lb11
            choosedirection()
            tryagain()
            if f = 0 : goto cloop : endif
            px = ox
            py = oy
        kount = kount + 1
        if kount < 10000 : goto lb11 : endif
        goto cloop
    endif
label cloop
'swap
if kount < 10000 : goto mloop : endif

fcolor 192, 192, 192
print 0, 40, "I have gone on strike!"
swap


func mydelay()
myd1 = 0
while myd1 < 100
    myd1 = myd1 + 1
    myd2 = 0
    while myd2 < dtime
        myd2 = myd2 + 1
    wend
wend
endfn

func choosedirection()
label choosedirection01
    xi = Rand(2) - 1
    yi = Rand(2) - 1
if xi = 0 : if yi = 0 : goto choosedirection01 : endif : endif
endfn

func dasprite()
    pset ox, oy
    pset ox + 1, oy + 1
    pset ox + 2, oy + 2
    pset ox, oy + 2
    pset ox + 2, oy
    'swap
endfn

func tryagain()
    p = Rand(1) + 1
    if p = 1 : xm = xm + 1 : endif
    if p = 2 : ym = ym + 1 : endif
    px = px + xi * xm
    py = py + yi * ym
    mza = 200 * (py - 200)
    mza = mza + px - 1
    f = mz[mza]
endfn

func getoffedge()
        if px < 1
            px = 1
            xi = 1
            xm = xm + 1
            px = px + xi * xm
        endif
        if px > 200
            px = 200
            xi = (-1)
            xm = xm + 1
            px = px + xi * xm
        endif
        if py < 1
            py = 1
            yi = 1
            ym = ym + 1
            py = py + yi * ym
        endif
        if py > 150
            py = 150
            yi = 1   ' -1
            ym = ym + 1
            py = py + yi * ym
        endif
endfn
Reply


Messages In This Thread
micro(A)v11 - by aurel - 07-07-2023, 03:05 PM
RE: mAv11 - by mnrvovrfc - 07-07-2023, 06:52 PM
RE: mAv11 - by mnrvovrfc - 07-07-2023, 07:08 PM
RE: mAv11 - by aurel - 07-07-2023, 09:30 PM
RE: mAv11 - by aurel - 07-10-2023, 04:13 PM
RE: mAv11 - by aurel - 07-10-2023, 07:17 PM
RE: micro(A)v11 - by aurel - 07-12-2023, 05:03 PM
RE: micro(A)v11 - by aurel - 07-13-2023, 06:38 PM
RE: micro(A)v11 - by mnrvovrfc - 07-13-2023, 07:08 PM
RE: micro(A)v11 - by aurel - 07-15-2023, 04:27 PM
RE: micro(A)v11 - by aurel - 07-16-2023, 02:52 PM
RE: micro(A)v11 - by bplus - 07-16-2023, 03:56 PM
RE: micro(A)v11 - by aurel - 07-16-2023, 06:19 PM
RE: micro(A)v11 - by bplus - 07-16-2023, 06:39 PM
RE: micro(A)v11 - by mnrvovrfc - 07-16-2023, 07:34 PM
RE: micro(A)v11 - by aurel - 07-16-2023, 09:34 PM
RE: micro(A)v11 - by aurel - 07-16-2023, 09:42 PM
RE: micro(A)v11 - by aurel - 07-19-2023, 11:53 AM
RE: micro(A)v11 - by aurel - 07-21-2023, 06:38 AM
RE: micro(A)v11 - by mnrvovrfc - 07-21-2023, 06:45 AM
RE: micro(A)v11 - by aurel - 07-21-2023, 09:09 PM
RE: micro(A)v11 - by mnrvovrfc - 07-24-2023, 02:23 AM
RE: micro(A)v11 - by aurel - 07-24-2023, 07:00 AM
RE: micro(A)v11 - by aurel - 07-25-2023, 09:16 PM
RE: micro(A)v11 - by aurel - 07-26-2023, 05:30 PM
RE: micro(A)v11 - by aurel - 07-26-2023, 10:42 PM
RE: micro(A)v11 - by aurel - 07-27-2023, 09:55 AM
RE: micro(A)v11 - by mnrvovrfc - 07-28-2023, 02:29 AM
RE: micro(A)v11 - by mnrvovrfc - 07-28-2023, 07:42 AM
RE: micro(A)v11 - by aurel - 07-28-2023, 06:43 AM
RE: micro(A)v11 - by aurel - 07-28-2023, 09:38 AM
RE: micro(A)v11 - by mnrvovrfc - 07-28-2023, 05:59 PM
RE: micro(A)v11 - by aurel - 07-28-2023, 07:14 PM
RE: micro(A)v11 - by bplus - 07-29-2023, 03:09 PM
RE: micro(A)v11 - by mnrvovrfc - 07-29-2023, 07:07 PM
RE: micro(A)v11 - by bplus - 07-29-2023, 07:45 PM
RE: micro(A)v11 - by aurel - 07-29-2023, 09:30 PM
RE: micro(A)v11 - by aurel - 07-29-2023, 09:31 PM
RE: micro(A)v11 - by bplus - 07-29-2023, 09:53 PM
RE: micro(A)v11 - by mnrvovrfc - 07-29-2023, 10:10 PM
RE: micro(A)v11 - by aurel - 07-30-2023, 09:49 AM
RE: micro(A)v11 - by bplus - 07-30-2023, 02:35 PM
RE: micro(A)v11 - by aurel - 07-30-2023, 03:05 PM
RE: micro(A)v11 - by mnrvovrfc - 07-31-2023, 01:54 PM
RE: micro(A)v11 - by aurel - 07-31-2023, 02:10 PM
RE: micro(A)v11 - by mnrvovrfc - 07-31-2023, 02:39 PM
RE: micro(A)v11 - by aurel - 07-31-2023, 03:09 PM
RE: micro(A)v11 - by aurel - 07-31-2023, 03:10 PM
RE: micro(A)v11 - by mnrvovrfc - 08-01-2023, 03:12 PM
RE: micro(A)v11 - by bplus - 08-01-2023, 03:36 PM
RE: micro(A)v11 - by mnrvovrfc - 08-01-2023, 11:49 PM
RE: micro(A)v11 - by aurel - 08-02-2023, 08:21 AM
RE: micro(A)v11 - by mnrvovrfc - 08-08-2023, 03:59 AM
RE: micro(A)v11 - by aurel - 08-08-2023, 10:18 AM
RE: micro(A)v11 - by mnrvovrfc - 08-11-2023, 08:43 AM
RE: micro(A)v11 - by bplus - 08-11-2023, 09:17 AM
RE: micro(A)v11 - by aurel - 08-11-2023, 11:39 AM
RE: micro(A)v11 - by bplus - 08-11-2023, 01:19 PM
RE: micro(A)v11 - by aurel - 08-11-2023, 07:43 PM
RE: micro(A)v11 - by aurel - 08-11-2023, 10:41 PM
RE: micro(A)v11 - by aurel - 08-12-2023, 10:31 AM
RE: micro(A)v11 - by aurel - 08-12-2023, 10:36 AM
RE: micro(A)v11 - by aurel - 08-12-2023, 10:47 AM
RE: micro(A)v11 - by aurel - 08-12-2023, 10:49 AM
RE: micro(A)v11 - by mnrvovrfc - 08-12-2023, 12:18 PM
RE: micro(A)v11 - by bplus - 08-12-2023, 12:59 PM
RE: micro(A)v11 - by mnrvovrfc - 08-12-2023, 02:49 PM
RE: micro(A)v11 - by aurel - 08-12-2023, 07:14 PM
RE: micro(A)v11 - by bplus - 08-12-2023, 07:35 PM
RE: micro(A)v11 - by aurel - 08-12-2023, 09:02 PM
RE: micro(A)v11 - by mnrvovrfc - 08-14-2023, 04:43 PM
RE: micro(A)v11 - by aurel - 08-15-2023, 07:36 AM
RE: micro(A)v11 - by bplus - 08-15-2023, 12:42 PM
RE: micro(A)v11 - by aurel - 08-15-2023, 06:44 PM
RE: micro(A)v11 - by mnrvovrfc - 08-15-2023, 10:07 PM
RE: micro(A)v11 - by aurel - 08-16-2023, 06:51 AM
RE: micro(A)v11 - by aurel - 08-16-2023, 09:03 AM
RE: micro(A)v11 - by aurel - 08-20-2023, 10:54 AM
RE: micro(A)v11 - by mnrvovrfc - 08-20-2023, 01:23 PM
RE: micro(A)v11 - by aurel - 08-20-2023, 03:08 PM
RE: micro(A)v11 - by dbox - 08-20-2023, 03:46 PM
RE: micro(A)v11 - by mnrvovrfc - 08-20-2023, 04:19 PM
RE: micro(A)v11 - by aurel - 08-20-2023, 09:51 PM
RE: micro(A)v11 - by aurel - 08-25-2023, 01:47 PM
RE: micro(A)v11 - by aurel - 08-30-2023, 08:24 PM
RE: micro(A)v11 - by mnrvovrfc - 08-30-2023, 08:36 PM
RE: micro(A)v11 - by TerryRitchie - 08-30-2023, 09:18 PM
RE: micro(A)v11 - by aurel - 08-30-2023, 09:20 PM
RE: micro(A)v11 - by aurel - 08-31-2023, 07:40 PM
RE: micro(A)v11 - by aurel - 08-31-2023, 08:13 PM
RE: micro(A)v11 - by bplus - 08-31-2023, 09:14 PM
RE: micro(A)v11 - by aurel - 09-01-2023, 01:18 PM
RE: micro(A)v11 - by aurel - 09-08-2023, 07:05 AM
RE: micro(A)v11 - by aurel - 05-03-2024, 08:30 AM
RE: micro(A)v11 - by aurel - 05-03-2024, 08:44 AM
RE: micro(A)v11 - by aurel - 05-05-2024, 11:43 AM
RE: micro(A)v11 - by bplus - 05-05-2024, 05:25 PM
RE: micro(A)v11 - by aurel - 05-06-2024, 05:07 AM
RE: micro(A)v11 - by aurel - 08-03-2024, 10:57 AM
RE: micro(A)v11 - by bplus - 08-03-2024, 12:04 PM
RE: micro(A)v11 - by aurel - 08-03-2024, 12:49 PM
RE: micro(A)v11 - by Pete - 08-03-2024, 01:37 PM
RE: micro(A)v11 - by aurel - 08-03-2024, 03:41 PM
RE: micro(A)v11 - by bplus - 08-03-2024, 05:13 PM
RE: micro(A)v11 - by SMcNeill - 08-04-2024, 05:51 PM
RE: micro(A)v11 - by aurel - 08-04-2024, 06:41 PM
RE: micro(A)v11 - by Pete - 08-04-2024, 08:02 PM
RE: micro(A)v11 - by aurel - 08-05-2024, 06:26 AM



Users browsing this thread: 4 Guest(s)