To Insolor and those interested in dos rescue programme

new topic     » topic index » view thread      » older message » newer message

Hello. Selgor here. Insolor, I think you were instrumental in getting dos rescue running "again".

I was able to salvage my euphoria folder from a part disc "crash". In the folder, I found a programme I "hashed up" from the original polygon programme. It is two distinct polygons moving around the screen. The background and each polygon change colours. Each colour is distinct i.e all colours different. Written 10 years ago.

I thought you might like to include it in your dos rescue package.

All I did was place it in the downloaded dos rescue folder.

Works on win xp .

 
 
 
----------  Done in early 2001 ??  Selgor 
----------  Background , each polygon change colour 
----------  Each colour is different 
----------  Can have more figures 
------------------------------------------------------ 
 
----------  Added necessary includes for dos-rescue October 2012 ----------- 
 
---------------------------------------------------------------------------- 
 
without type_check 
include dos_rescue.ew as dos_rescue 
include select.e 
include machine.e 
include mouse.e 
dos_rescue:use_vesa(1) 
if graphics_mode(18)  then  end if 
constant X = 1, Y = 2 
sequence config 
integer nlines, npoints, spacing, solid,klr,kol,kolr,key 
 
procedure stall() 
  for i = 1 to 3750000 do  end for 
end procedure 
 
procedure colour() 
 
    klr=rand(15)  kol=rand(15)   kolr=rand(15) 
    if klr=kol or klr=kolr  then colour() 
      elsif kol=kolr or kol=klr then colour() 
         elsif kolr=klr or kolr=kol then colour() 
    end if 
     bk_color(kolr) 
end procedure 
 
colour() 
 
 
procedure dun() 
 
         mouse_pointer(0) 
         mouse_events(2) 
      if sequence(get_mouse()) then  abort(0) end if 
end procedure 
 
procedure poly_pattern() 
      sequence points,pts,deltas,dels,history,his 
      config = video_config() 
 
      pts=rand(repeat(config[VC_XPIXELS..VC_YPIXELS],npoints))+2 
      points = rand(repeat(config[VC_XPIXELS..VC_YPIXELS], npoints))+2 
      deltas = rand(repeat({2*spacing-1, 2*spacing-1}, npoints)) - spacing 
      dels=rand(repeat({2*spacing-1,2*spacing-1},npoints))-spacing 
      key = dos_rescue:get_key() 
      if get_key() = 27 then abort(0) end if      dun() 
      history = {} 
      his={} 
      dos_rescue:clear_screen() 
 
 
 
   key = dos_rescue:get_key() 
   while get_key() != 27 do 
	if length(history) >= nlines then 
	    polygon(0, solid, history[1]) 
	    history = history[2..nlines] 
	    dun() 
	end if 
	if length(his) >= nlines then 
	    polygon(0,solid,his[1]) 
	    his=his[2..nlines] 
	end if 
 
 
        polygon(klr,solid,pts) 
	polygon(kol, solid, points) 
        dun() 
        history = append(history, points) 
	his=append(his,pts) 
	points += deltas 
	pts+=dels 
 
 
	for j = 1 to npoints do 
	    if points[j][X] <= 0 or points[j][X] >= config[VC_XPIXELS] then 
	deltas[j][X] = -deltas[j][X] 
	    end if 
 
	    if points[j][Y] <= 0 or points[j][Y] >= config[VC_YPIXELS] then 
		deltas[j][Y] = -deltas[j][Y] 
	    end if 
 
	end for 
 
	for j = 1 to npoints do 
	    if pts[j][X] <= 0 or pts[j][X] >= config[VC_XPIXELS] then 
		dels[j][X] = -dels[j][X] 
	    end if 
 
            dun() 
 
 
	    if pts[j][Y] <= 0 or pts[j][Y] >= config[VC_YPIXELS] then 
		dels[j][Y] = -dels[j][Y] 
	    end if 
	end for 
 
        if rand(101) = 1 then colour()  end if 
              dun()   stall() 
 
   end while 
end procedure 
 
key = dos_rescue:get_key() 
while get_key() != 27 do 
    nlines = 6   npoints = 4   spacing = 15    solid=0 
    dun()      poly_pattern() 
 
    dun() 
end while 
 

Code shows how programmes can be modified.

Cheers. Selgor.

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu