All pastes #740301 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-10-17 20:56 UTC
rendered paste body
`object handler

type object
objectid as integer
name$ as string
x as float
y as float
z as float
visible as integer
endtype



dim objects_on_screen(-1) as object


do

print_info()
mouse_control()
print_objects_to_screen()

sync

cls
loop
wait key
end



function add_object_to_screen(name$ as string,x as integer,y as integer, z as integer, visible as integer) 
	`this function will add objects to the array, checking first or a new row is needed
	
		
			array_size = array count(objects_on_screen())
			newsize = array_size + 1
			objct_id = newsize + 1
			array insert at bottom objects_on_screen()
				objects_on_screen(newsize).objectid=objct_id
				objects_on_screen(newsize).name$=name$
				objects_on_screen(newsize).x=x
				objects_on_screen(newsize).y=y
				objects_on_screen(newsize).z=z
				objects_on_screen(newsize).visible=visible
		
endfunction 
	
function add_object_test()
		name$ = "cube"
		x = rnd(400)
		y = rnd(400)
		z = rnd(400)
		visible = 1
		add_object_to_screen(name$,x,y,z,visible)
endfunction

function remove_object_from_screen(id as integer)
	array delete element objects_on_screen(),id
endfunction

function print_objects_to_screen()
	array_size = array count(objects_on_screen())
	for y=0 to array_size ` looping through the array
		make object cube objects_on_screen(y).objectid,30
		position object objects_on_screen(y).objectid,objects_on_screen(y).x,objects_on_screen(y).y,objects_on_screen(y).z
		
		
	next y	
endfunction

function print_info()
	
print "total array rows: "+str$(array_size)
	array_size = array count(objects_on_screen())
	for y=0 to array_size ` looping through the array
		print "ID: "+str$(objects_on_screen(y).objectid)+" name: "+objects_on_screen(y).name$+" x pos: "+str$(objects_on_screen(y).x)+" y pos: "+str$(objects_on_screen(y).y)+" z pos: "+str$(objects_on_screen(y).z)
		
		
	next y	
endfunction

function mouse_control()
	array_size = array count(objects_on_screen())
	obj_rem = rnd(array_size)
	if mouseclick() = 1 then add_object_test()
	if mouseclick() = 2 then remove_object_from_screen(obj_rem)
wait 100 
endfunction