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

复制网页源代码做网站hao123网址导航

复制网页源代码做网站,hao123网址导航,wordpress seo插件中文版,wordpress p2 theme今天我们要做的是实现一个非常重要的系统——生成系统。在很多方面,这个系统其实相对容易实现,但围绕它的工具部分将是最复杂的。让我给你们展示一下。 这个生成函数需要三个值:指定要生成的敌人类型、敌人在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://www.dtcms.com/wzjs/72781.html

相关文章:

  • 开网站平台需要多少钱网站设计与制作教程
  • 重庆做企业网站设计的公司抄一则新闻四年级
  • 最好的网页设计网站淘宝seo是指什么
  • 长沙网站seo推广公司seo整站优化报价
  • 网站页面html静态化是什么意思站长工具忘忧草
  • 网页设计登录注册页面代码郑州搜索引擎优化公司
  • 用easyui 做的网站尚硅谷培训机构官网
  • 天津建设工程信息网天津官网seo关键词排名系统
  • 什么可以做冷门网站电商平台如何推广运营
  • 外贸建站培训百度学术论文查重入口
  • 网页制作教程(第三版)aso关键词优化计划
  • 电脑做网站空间百度网盘网页
  • 潍坊网站建设多少钱广告投放都有哪些平台
  • 上饶网站优化宁波做网站的公司
  • 网站建设项目的预算百度seo关键词优化排行
  • 做电影网站要懂代码seo查询软件
  • 龙岩智能微站手机网站搜索优化
  • 开题报告 网站建设会员制营销方案
  • 天长做网站网店如何营销推广
  • thinkphp制作网站开发北京百度seo排名点击器
  • 珠海网站开发定制百度热搜榜排行
  • 做网上贸易哪个网站好微营销平台有哪些
  • 太姥山镇建设的网站公关公司经营范围
  • 公司为什么做网站如何创建一个网址
  • 新闻写作网站申请域名的方法和流程
  • 做网站玩玩seo公司是做什么的
  • 网络服务提供者不得在什么时间新站seo外包
  • 安徽集团网站建设seo快照推广
  • 某网络公司网站源码 蓝色建站企业网站源码关键时刻
  • 青海建设工程云网站建站之星