当前位置: 首页 > wzjs >正文

安远网站制作抖音号出售网站

安远网站制作,抖音号出售网站,建设部工程业绩网站,固安县建设局网站今天我们要做的是实现一个非常重要的系统——生成系统。在很多方面,这个系统其实相对容易实现,但围绕它的工具部分将是最复杂的。让我给你们展示一下。 这个生成函数需要三个值:指定要生成的敌人类型、敌人在x轴上的生成位置,以及…

今天我们要做的是实现一个非常重要的系统——生成系统。在很多方面,这个系统其实相对容易实现,但围绕它的工具部分将是最复杂的。让我给你们展示一下。

这个生成函数需要三个值:指定要生成的敌人类型、敌人在x轴上的生成位置,以及敌人在y轴上的生成位置。基本上,我们需要创建一个数据库,一个数组的数组,来存储所有这些值,然后将它们全部倒入生成函数中。但是,这里缺少了一个值,那就是时间。我们需要根据一个计划来生成敌人,比如游戏开始后10秒生成一个敌人。

因此,我们需要四个值:时间、敌人类型、x坐标和y坐标。关于时间值,我们不打算使用帧或实际时间,而是使用滚动值。滚动值通常从0开始,随着游戏的进行而增加。我们可以利用这个滚动值来决定何时生成敌人。

实现计划与生成系统

现在,让我们来建立这个系统。我们将创建一个新的数组,命名为schedule,并设置一个变量schedI(计划索引)来记住我们上次生成了哪个敌人。在游戏的更新函数中,我们将检查sked数组中的下一个敌人是否应该根据当前的滚动值被生成。

通过这种方法,我们可以避免每次都要遍历整个计划来找到下一个应该生成的敌人,从而提高效率。当然,我们还需要确保不会超出计划中的敌人数量。

编辑器的需求

虽然这个计划系统本身相对简单,但创建一个用于编辑这个系统的编辑器却是一个巨大的挑战。我们需要一个舒适的编辑器,让我们可以轻松地点击、移动和查看结果。

此外,编辑器还需要能够预览敌人在地图上的位置,以便我们可以确保敌人和背景之间能够协调一致。例如,有些敌人需要被放置在地图的特定位置,并随着背景一起滚动。

编辑器的初步实现

现在,让我们开始创建这个编辑器。首先,我们需要包含生成计划的文件,并加载地图段。然后,我们需要编写代码来绘制地图段,并允许我们通过鼠标滚轮来滚动地图。

在编辑器的初步实现中,我们已经能够加载地图段并绘制它们,但滚动地图的功能还需要进一步调整。我们的目标是让地图能够上下左右滚动,以便我们可以方便地查看和编辑整个地图。

pico-8 cartridge // http://www.pico-8.com
version 41
__lua__
--show cursor
--move the cursor
--backspacefunction _init()--- customize here ---#include shmup_sched.txtfile="shmup_sched.txt"arrname="sched"data=sched#include shmup_mapsegs.txt----------------------debug={}msg={}_drw=draw_table_upd=update_tablemenuitem(1,"export",export)reload(0x0,0x0,0x2000,"cowshmup.p8")reload(0x1000, 0x1000, 0x2000, "cowshmup.p8")curx=1cury=1scrolly=0scrollx=0scroll=0poke(0x5f2d, 1)
endfunction _draw()_drw()if #msg>0 thenbgprint(msg[1].txt,64-#msg[1].txt*2,80,14)msg[1].t-=1if msg[1].t<=0 thendeli(msg,1)end  end-- debug --cursor(4,4)color(8)for txt in all(debug) doprint(txt)end
endfunction _update60()dokeys()mscroll=stat(36)_upd()
endfunction dokeys()if stat(30) thenkey=stat(31)if key=="p" thenpoke(0x5f30,1)endelsekey=nilendend
-->8
--drawfunction draw_table()cls(2)for i=1,#mapsegs dolocal segnum=mapsegs[i]local sx=segnum\4*18local sy=segnum%4*8map(sx,sy,0,scroll-((i-2)*64),18,8)end--spr(0,0,0,16,16)if menu thenfor i=1,#menu dofor j=1,#menu[i] dolocal mymnu=menu[i][j]local c=mymnu.c or 13if i==cury and j==curx thenc=7if _upd==upd_type thenc=0endendbgprint(mymnu.w,mymnu.x+scrollx,mymnu.y+scrolly,13)   bgprint(mymnu.txt,mymnu.x+scrollx,mymnu.y+scrolly,c) endendendif _upd==upd_type thenlocal mymnu=menu[cury][curx]local txt_bef=sub(typetxt,1,typecur-1)local txt_cur=sub(typetxt,typecur,typecur)local txt_aft=sub(typetxt,typecur+1)txt_cur=txt_cur=="" and " " or txt_cur if (time()*2)%1<0.5 thentxt_cur="\^i"..txt_cur.."\^-i"endlocal txt=txt_bef..txt_cur..txt_aftbgprint(txt,mymnu.x+scrollx,mymnu.y+scrolly,7)end--[[for i=1,#data dofor j=1,#data[i] dobgprint(data[i][j],2+18*j,2+8*i,7)endend]]
endfunction refresh_table()menu={}for i=1,#data dolocal lne={}local linemax=#data[i]if i==cury thenlinemax+=1  endadd(lne,{txt=i,w="   ",cmd="",x=4,y=-4+8*i,c=2  })for j=1,linemax doif j==#data[i]+1 thenadd(lne,{txt="+",w=" ",cmd="newcell",cmdy=i,x=-10+14*(j+1),y=-4+8*i, })elseadd(lne,{txt=data[i][j],cmd="edit",cmdx=j,cmdy=i,x=-10+14*(j+1),y=-4+8*i,w="   "})endendadd(menu,lne)endadd(menu,{{txt=" + ",w="   ",cmd="newline",x=4,y=-4+8*(#data+1), }})
end
-->8
--updatefunction update_table()refresh_table()scroll+=mscroll*8if btnp(⬆️) thencury-=1endif btnp(⬇️) thencury+=1endcury=(cury-1)%#menu+1cury-=mscrollcury=mid(1,cury,#menu)if btnp(⬅️) thencurx-=1endif btnp(➡️) thencurx+=1endif cury<#menu thencurx=(curx-2)%(#menu[cury]-1)+2elsecurx=1endlocal mymnu=menu[cury][curx]if mymnu.y+scrolly>110 thenscrolly-=4endif mymnu.y+scrolly<10 thenscrolly+=4endscrolly=min(0,scrolly)if mymnu.x+scrollx>110 thenscrollx-=2endif mymnu.x+scrollx<20 thenscrollx+=2endscrollx=min(0,scrollx)if btnp(❎) thenlocal mymnu=menu[cury][curx]if mymnu.cmd=="edit" then_upd=upd_typetypetxt=tostr(mymnu.txt)typecur=#typetxt+1elseif mymnu.cmd=="newline" thenadd(data,{0})  elseif mymnu.cmd=="newcell" thenadd(data[mymnu.cmdy],0)endend
endfunction upd_type()if key thenif key=="\r" then-- enterlocal mymnu=menu[cury][curx]poke(0x5f30,1)local typeval=tonum(typetxt)if typeval==nil thenif mymnu.cmdx==#data[mymnu.cmdy] and typetxt=="" then--delete celldeli(data[mymnu.cmdy],mymnu.cmdx)if mymnu.cmdx==1 thendeli(data,mymnu.cmdy)end_upd=update_tablereturnend  typeval=0enddata[mymnu.cmdy][mymnu.cmdx]=typeval_upd=update_tablereturnelseif key=="\b" then--backspaceif typecur>1 thenif typecur>#typetxt thentypetxt=sub(typetxt,1,#typetxt-1)elselocal txt_bef=sub(typetxt,1,typecur-2)local txt_aft=sub(typetxt,typecur)typetxt=txt_bef..txt_aftendtypecur-=1endelseif typecur>#typetxt thentypetxt..=keyelselocal txt_bef=sub(typetxt,1,typecur-1)local txt_aft=sub(typetxt,typecur)typetxt=txt_bef..key..txt_aftendtypecur+=1endendif btnp(⬅️) thentypecur-=1endif btnp(➡️) thentypecur+=1endtypecur=mid(1,typecur,#typetxt+1)
end
-->8
--toolsfunction bgprint(txt,x,y,c)print("\#0"..txt,x,y,c)
endfunction split2d(s)local arr=split(s,"|",false)for k, v in pairs(arr) doarr[k] = split(v)endreturn arr
end
-->8
--i/o
function export()local s=arrname.."=split2d\""for i=1,#data doif i>1 thens..="|"endfor j=1,#data[i] doif j>1 thens..=","ends..=data[i][j]endends..="\""printh(s,file,true)add(msg,{txt="exported!",t=120})--debug[1]="exported!"
end
__gfx__
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__map__
0000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000


文章转载自:

http://DHOjZQth.nrcbx.cn
http://sgon4fFd.nrcbx.cn
http://KtF1mC1f.nrcbx.cn
http://PaC54yKm.nrcbx.cn
http://9TUOSg3k.nrcbx.cn
http://vuoPt3zs.nrcbx.cn
http://kbRhIeLT.nrcbx.cn
http://xLQnroaq.nrcbx.cn
http://kIu6Nhln.nrcbx.cn
http://fGrdhnys.nrcbx.cn
http://XVC5qADm.nrcbx.cn
http://YJ7eCfAD.nrcbx.cn
http://b9ZLkZa2.nrcbx.cn
http://HhbUYmed.nrcbx.cn
http://J0TOECPy.nrcbx.cn
http://pgA1ODJ0.nrcbx.cn
http://pyG3PSEo.nrcbx.cn
http://HlJvNX8o.nrcbx.cn
http://orAlNz4H.nrcbx.cn
http://l4KApHCs.nrcbx.cn
http://Dr3ObMXN.nrcbx.cn
http://vJAqgsVx.nrcbx.cn
http://kAk5kDvW.nrcbx.cn
http://BfpkvYA9.nrcbx.cn
http://CX0t4bTL.nrcbx.cn
http://MFbkmyNJ.nrcbx.cn
http://9x6gyzK2.nrcbx.cn
http://ZO4Mv8ve.nrcbx.cn
http://AKOkjbIc.nrcbx.cn
http://5nKip057.nrcbx.cn
http://www.dtcms.com/wzjs/743851.html

相关文章:

  • wordpress重写登录页面上海网站建设seo公司
  • 龙华网站建设价格服务器安全工具
  • 网站开发应聘问题做网站推广我们是专业的
  • 太原网站建设鸣蝉公司电商网站建设需求分析 实例题
  • 温州网站优化定制班级网站建设感想
  • 有专做代金券的网站吗网站制作的设计思路
  • 单仁咨询建设网站互联网技术的特点
  • py做网站昆山建设银行网站首页
  • 从零学习做网站焦作市网站建设公司
  • 鲜花网站开发与设计用户研究网站
  • pc网站建设有什么功能开发公司质量保证体系情况说明
  • 免费电视剧在线观看网站网站 平均加载时间
  • 河南第二建设集团网站视频wordpress 评论回复邮件通知插件
  • 淮南做网站公司网站宣传页面
  • 接私活做网站台州做网站最好的
  • 绍兴网站制作价格南宁seo优化公司排名
  • 哪些网站可以发布免费招聘信息高校门户网站建设建议
  • 锐速做网站保定企业制作网站
  • 怎么建设像天猫的网站西宁建站
  • 企业网站建设的建站前准备找网站开发公司
  • 北京网站排名优化软件做衣服上哪些网站
  • ps工具设计网站谷歌优化和谷歌竞价的区别
  • 湖南手机版建站系统开发江苏省工程建设标准站网站
  • 个人做网站流程网站前端工程师
  • 主机建网站的优势网站建设 摊销年限
  • 龙岗商城网站建设成品网站 源码1688
  • 一个主机可以做几个网站国家城乡和建设厅特殊工种网站
  • 阜阳手机网站开发洛阳市住房与城乡建设部网站
  • 做公司网站主要需要什么闵行工程建设网站
  • 营销型网站的基础建设杏坛网站制作