发表于: 2019-10-28 21:27:34
1 832
今天完成的事情:
今天完成了jS代码2-4的重新整理,分类,命名,修改简略代码
完成了JS2-4的详解攻略
angularformdata对象的初步学习
伪代码的理解
JS任务2-4的详解过程
第一步
搭建HTML文件
第二步
使用oninput事件来创建函数,关联任何可以改变的数值,使用Value来明确你关联的是数值。
数值关联好了之后,你在任意一个地方改变数值,各个数值都会跟着改变
在input框里设定鼠标点击事件,通过点击来设定玩家人数的自增和自减
在你关联的地方引用玩家函数
第三步
分配玩家
在这个游戏中杀手只有玩家人数大概四分之一的样子,
所以需要创建一个代表玩家人数的函数,通过IF判断语句,使用Math.floor()来取整数,杀手函数等于人类函数的四分之一,而人类函数等于玩家函数减去杀手人数,然后通过JQ语法来改变HTML文件,把这个数值传递到页面上面显示出来,最后通过洗牌算法来把你设定的玩家进行乱序,最后把你在这个页面设置的函数传递到下一个页面,因为你在下一个页面需要用到这个页面的数值。
JS任务3
在这个页面主要是身份牌的显示和隐藏,只有一个按钮可以点击
那就依靠鼠标点击来进行判断这个身份牌是显示的还是隐藏的
先接收上个页面传递过来的玩家人数
把身份牌当做两套,按照鼠标点击的奇偶数来进行判断,一套为奇数,一套为偶数。
启用toggle()方法,使用hide()来隐藏,使用show()来显示
在你点击的按钮上面设定鼠标点击事件,初始值为1
每次点击进行自增
声明一个点击次数等于你的玩家总人数
然后进行if判断语句
由于身份牌有一个翻页的情况,点击次数应该是你玩家总人数的两倍
先使用if判断语句,两个等于号是求余数,判断 == 2 这个条件是否成立,如果成立就是偶数,不成立就是奇数,通过这个判断来启用JQ语句改变HTML决定哪个身份牌是显示还是隐藏。
使用if判断,如果点击次数小于玩家人数的两倍,由于初始值为1,所以直接除以2就是玩家的序列号了,如果点击次数是玩家的两倍,那就要修改下面的HTML按钮来变成法官查看,再+1就可以直接跳转到下一个页面
JS任务4
在这个页面有着多个小页面,所以其中的逻辑一定要理清。
先把html文件制作好。
其中有一个法官查看页面,一个杀人页面,一个天数页面,一个法官日志页面。
法官日志页面显示是每天记录的情况这个把到时候的数据传过去就好
主要是杀人页面和天数页面,其中有一个生死判断,在这里需要用到对象来判断
法官查看页面是把你在上个页面进行乱序后的玩家参数穿进来,然后用JQ语句来生成HTML文件,在每个DIV中都有着玩家的身份和序号。
法官查看页面
先接收上个页面的玩家人数,然后用for循环,把所有玩家都循环出来,使用JQ来改变HTML,为玩家添加上身份和序号
为下面的投死按钮添加鼠标点击函数,声明天数,步骤,创建关于状态,生死,尸体的数组。
在for循环中增加if判断,启用push为数组增加新的长度,添加上布尔值,先全部设定为false表示活着,
再把这个页面你设定的东西都传递到下个页面,取名一定要取好。
天数页面
先制作天数的HTML文件,放到for循环中,让他来通过天数新增下一天
在这一天中有四个步骤,杀人,遗言,发言,投票
接下来就需要判断你是不是按照步骤来进行点击,这里有两个办法,笨方法就是四个步骤的类名都分别设置,这样就只能按照你设定来的点击。
当四个类名都是一样的时候,就要用EQ()方法来进行判断了,
在步骤上面设定鼠标点击事件,一开始你天数设定的为1,就用1乘以总步骤减去未选择步骤,这样就规定了你只能依次点击下去,
由于第一步是杀手杀人,所以只会杀平民,第四步是全民投票,可以投死杀手,所以需要在这里声明一个值,每个步骤自增,最后到第四步的时候按照这个值的奇偶数来判断是杀人页面还是投票页面。(虽然这两个是一个页面)
用if判断语句当步骤等于一的时候,点击第一个步骤,用JQ语法改变CSS,
步骤自加一,跳往杀人页面,下面的步骤就都差不多了。
杀人页面
接收上个页面传递过来的数组,状态,生死。
使用for循环,把每个玩家DIV循环出来。
为刀添加隐藏
使用for循环,来判断当这个玩家的状态为false的时候,就显示刀
使用你在上个页面设置杀人还是投票的值来判断如果是活着的就改变DIV颜色,代表你选取的玩家,如果不是就跳弹窗,IF再判断如果这个玩家是平民且状态是false活着的就可以选取杀死,如果是杀手且活着的,就跳弹窗提示不可自刀,如果是true死亡的,就显示不可鞭尸。
创造生死状态函数,设置为点击过后修改false为true
点击杀死按钮,修改生死状态,启用鼠标点击事件。如果还有人活着就跳转到天数页面
启用for循环,把所有状态为true的玩家DIV进行修改,表示已经死亡
然后就可以创造判断胜利条件了,哪一方全部死亡就是另一方胜利,最后把所有的数值传递到胜利页面就可以了。
好像上传图片就是需要用到这个FormData对象。
明天计划的事情:
完成angular所学任务的详解过程
遇到的难题:
命名一时爽
收获:
在和老大的交流中学习到了很多东西,不知道怎么下手就写伪代码,
评论