Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * dude.prg by david wheeler
- * (c) 2018 hope
- */
- compiler_options _extended_conditions;
- PROGRAM dude;
- //
- const
- maxsprites=9000;
- global
- mymap;
- fin;
- file1;
- gridx=16;
- gridy=16;
- arrpointer=0;
- group=1;
- currentgraph=3;
- mytext;
- v$="";
- //
- struct mysprite[maxsprites]
- int mypic;
- group;
- xpos;
- ypos;
- sc;
- dpth;
- end
- //
- BEGIN
- //set_mode(m1024x760);
- mymap=new_map(4000,800,0,0,0);
- file1=load_fpg("test5.fpg");
- start_scroll(0,0,mymap,0,0,4);
- scroll.camera=id;
- // Defines scroll region after which it will move
- // scroll.region1=define_region(1,160,100,1,1);
- //Write your code here, make something amazing!
- currentimage(currentgraph,300,170);
- mycursor(0,0);
- mytext=write_int(0,300,160,0,offset currentgraph );
- FRAME;
- end
- process mycursor(x,y);
- Begin
- graph=1;
- flags=4;
- ctype=c_scroll;
- scroll.camera=id;
- priority=1;
- REPEAT
- if(scan_code == 57)
- switch(group)
- case 1;
- map_put(0,mymap,currentgraph,x,y);
- // myspite(arrpointer).xpos=x;
- mysprite[arrpointer].xpos=x;
- mysprite[arrpointer].ypos=y;
- mysprite[arrpointer].mypic=currentgraph;
- mysprite[arrpointer].group=group;
- arrpointer++;
- end
- case 2;
- makemygenericsprite(graph,x,y,group);
- mysprite[arrpointer].xpos=x;
- mysprite[arrpointer].ypos=y;
- mysprite[arrpointer].mypic=currentgraph;
- mysprite[arrpointer].group=group;
- arrpointer++;
- end
- //put(file1,1,0,0);
- end
- refresh_scroll(0);
- end
- if(key(_q))
- fin=1;
- end
- if(scan_code == 44)
- currentgraph--;
- end
- if(scan_code == 45)
- currentgraph++;
- end
- if(scan_code == 77)
- x+=gridx;
- end
- if(scan_code == 75)
- x-=gridx;
- end
- if(scan_code == 80)
- y+=gridy;
- end
- if(scan_code == 72)
- y-=gridy;
- end
- if(scan_code == 60)
- mytext=write(0,0,0,0,"Saving...");
- frame;
- save("level.dat",offset mysprite, sizeof(mysprite));
- delete_text(mytext);
- end
- if(scan_code == 59)
- mytext=write(0,0,0,0,"Loading...");
- frame;
- clear_mymap();
- frame;
- load("level.dat",offset mysprite);
- arrpointer=0;
- x=0;
- y=0;
- let_me_alone();
- setup_level();
- currentimage(currentgraph,300,170);
- delete_text(mytext);
- end
- if(scan_code == 46)
- mytext=write(0,0,0,0,"clearing...");
- frame;
- clear_mymap();
- arrpointer=0;
- x=0;
- y=0;
- delete_text(mytext);
- frame;
- end
- frame;
- UNTIL(fin==1)
- let_me_alone();
- end
- Process makemygenericsprite(graph,x,y,group);
- begin
- ctype=c_scroll;
- loop
- frame;
- end
- end
- process currentimage(graph,x,y);
- begin
- loop
- graph=currentgraph;
- frame;
- end
- end
- function setup_level();
- private
- n=0;
- begin
- for(n=0;n<maxsprites;n++);
- if (mysprite[n].group==1)
- map_put(0,mymap,mysprite[n].mypic,mysprite[n].xpos,mysprite[n].ypos);
- arrpointer++;
- frame(0);
- end
- end
- refresh_scroll(0);
- frame;
- end
- function clear_mymap();
- private
- dx=0;
- dy=0;
- n=0;
- begin
- for(dx=0;dx<3999;dx++);
- for(dy=0;dy<799;dy++);
- map_put_pixel(0,mymap,dx,dy,0);
- frame(0);
- end
- end
- refresh_scroll(0);
- frame;
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement