欢迎光临
我们一直在努力

词语搭配游戏的制作(ASP)二

建站超值云服务器,限时71元/月

//———————————————————–

//得到用户输入的单词

function getword()

{

//只有当在单词输入框中按回车或

//按“保存”按钮时才继续做下去

if (window.event.type != "keypress" && window.event.type != "click")

return;

else

if (window.event.type == "keypress" && window.event.keycode != 13) return;

var elesrc;

var iindex, inxtwrdidx;

var strword;

//——————————————

//常变量说明

//elesrc :发生事件的元素

//iindex :表示词汇分类的数字。整型

//inxtwrdidx :新单词在单词数组中的索引。整型

//strword :用户输入的单词。字符串型

//——————————————

elesrc = window.event.srcelement;

iindex = geteleindex(elesrc); //获得索引

strword = trim(txtword[iindex].value); //获得用户输入的单词

//检测输入的单词是否合法

//若是非法的单词则退出

if (strword == "")

{

//若输入的单词为空或空格字符串

alert("单词不能为空或空格字符串");

txtword[iindex].select();

return;

}

if (strword.indexof(",") != -1 || strword.indexof(" ") != -1)

{

//若输入的单词包含逗号或空格

alert("单词不能包含逗号或空格");

txtword[iindex].select();

return;

}

//将单词保存到词汇数组中

inxtwrdidx = m_astrwords[iindex].length;

m_astrwords[iindex][inxtwrdidx] = strword;

//showarray(m_astrwords[iindex]);

//将单词写入到页面中

valuelist(m_astrwords[iindex], iindex);

txtword[iindex].value = "";

txtword[iindex].focus();

}

//———————————————————–

//将当前类别所有的单词从内存中删去

function reset()

{

var elesrc;

var iindex, icount;

var strprompt;

//——————————————

//常变量说明

//elesrc :发生事件的元素

//iindex :表示词汇分类的数字。整型

//icount :计数器。整型

//strprompt :操作提示。字符串型

//——————————————

elesrc = window.event.srcelement;

iindex = geteleindex(elesrc);

strprompt = "您确定要从内存中清除[" + m_astrsenpart[iindex] + "]部分所有的单词吗?";

if (window.confirm(strprompt) == false) return;

m_astrwords[iindex] = new array();

valuelist(m_astrwords[iindex], iindex);

//showarray(m_astrwords[iindex]);

strprompt = "单词清除完毕";

alert(strprompt);

txtword[iindex].select();

}

//———————————————————–

//将所选类别的当前词汇保存进文件中

function save()

{

var elesrc;

var iindex, icount;

//——————————————

//常变量说明

//elesrc :发生事件的元素

//iindex :表示词汇分类的数字。整型

//icount :计数器。整型

//——————————————

elesrc = window.event.srcelement;

iindex = geteleindex(elesrc);

if (m_astrwords[iindex].length == 0)

{

//如果所选类别的当前单词个数为零

var strprompt;

strprompt = "[" + m_astrsenpart[iindex] + "]部分现在一个可选单词也没有,您确定要保存吗?";

strprompt += "\n(这样将生成一个空的新文件)";

if (window.confirm(strprompt) == false) return;

}

//保存当前内存中所有的单词

for (icount = 0; icount < m_ipartcnt; icount ++)

eval("frmwords.txtwords" + icount).value = m_astrwords[icount].join(",");

frmwords.txtsenpart.value = iindex;

frmwords.txtopway.value = "save";

frmwords.submit();

}

//———————————————————–

//从文件中读取所选类别的单词纪录

function load()

{

var elesrc;

var iindex, icount;

//——————————————

//常变量说明

//elesrc :发生事件的元素

//iindex :表示词汇分类的数字。整型

//icount :计数器。整型

//——————————————

elesrc = window.event.srcelement;

iindex = geteleindex(elesrc);

//保存当前内存中所有的单词

for (icount = 0; icount < m_ipartcnt; icount ++)

eval("frmwords.txtwords" + icount).value = m_astrwords[icount].join(",")

frmwords.txtsenpart.value = iindex;

frmwords.txtopway.value = "load";

frmwords.submit();

}

//———————————————————–

//显示词汇列表

function showlist(iindex)

{

//如果未给定参数 iindex

//获得 iindex

if (iindex == undefined)

{

//如果已有单词列表被固定,退出函数

if (m_ilistfixed != -1) return;

var elesrc;

var iindex;

//——————————————

//常变量说明

//elesrc :发生事件的元素

//iindex :表示词汇分类的数字。整型

//——————————————

elesrc = window.event.srcelement;

iindex = geteleindex(elesrc);

}

//alert("iindex: "+iindex);

//显示词汇列表

//lblwordlist[iindex].innertext = "[" + lblwordlist[iindex].innertext + "]";

//lblwordlist[iindex].innertext = lblwordlist[iindex].innertext + ">";

lblwordlist[iindex].classname = "lblmover";

divwordlist[iindex].classname= "listshown";

}

//———————————————————–

//隐藏词汇列表

function hidelist(iindex)

{

//如果未给定参数 iindex

//获得 iindex

if (iindex == undefined)

{

//如果已有单词列表被固定,退出函数

if (m_ilistfixed != -1) return;

var elesrc;

var iindex;

//——————————————

//常变量说明

//elesrc :发生事件的元素

//iindex :表示词汇分类的数字。整型

//——————————————

elesrc = window.event.srcelement;

iindex = geteleindex(elesrc);

}

//alert("iindex: "+iindex);

//隐藏词汇列表

//lblwordlist[iindex].innertext = lblwordlist[iindex].innertext.slice(0, -1);

lblwordlist[iindex].classname = "lblmout";

divwordlist[iindex].classname= "listhidden";

}

//———————————————————–

//固定词汇列表

function fixlist()

{

var elesrc;

var iindex;

//——————————————

//常变量说明

//elesrc :发生事件的元素

//iindex :表示词汇分类的数字。整型

//——————————————

elesrc = window.event.srcelement;

iindex = geteleindex(elesrc);

switch (m_ilistfixed)

{

case -1:

//如果还没有单词列表被固定

//固定当前列表

m_ilistfixed = iindex;

lblwordlist[iindex].classname = "lblclicked";

divwordlist[iindex].classname= "listfixed";

break;

case iindex:

//如果被固定单词列表是当前列表

//解固当前列表

m_ilistfixed = -1;

lblwordlist[iindex].classname = "lblmover";

divwordlist[iindex].classname= "listshown";

break;

default:

//如果被固定单词列表不是当前列表

//解固被固定列表

hidelist(m_ilistfixed);

m_ilistfixed = -1;

lblwordlist[iindex].classname = "lblmover";

showlist(iindex);

break;

}

//alert("m_ilistfixed: " + m_ilistfixed + "\niindex: " + iindex);

}

//———————————————————–

//写入某类词汇已载入的单词

function valuelist(awords, isenpart)

{

var icount, iwrdcnt;

var strlistppt;

//——————————————

//常变量说明

//icount :计数器。整型

//iwrdcnt :某类词汇单词的数目。整型

//strlistppt :单词列表中的提示。字符串型

//——————————————

//数据准备

iwrdcnt = awords.length;

lblwordcount[isenpart].innertext = iwrdcnt;

strlistppt = "<div><span style=color: red; font-style: italic; font-size: 10.5pt;>";

strlistppt += "双击单词将其删除</span></div>";

//将单词写入列表

if (iwrdcnt != 0)

{

divwordlist[isenpart].innerhtml = strlistppt;

for (icount = 0; icount < iwrdcnt; icount ++)

divwordlist[isenpart].innerhtml += makeopt(awords[icount], icount);

}

else

divwordlist[isenpart].innerhtml = strlistppt;

}

//———————————————————–

//显示帮助列表

function showhelp()

{

//如果帮助列表已被固定,退出函数

if (m_ihelpfixed == 0) return;

//显示帮助

lblhelp.classname = "lblmover";

divhelp.classname = "helpshown";

}

//———————————————————–

//隐藏帮助列表

function hidehelp()

{

//如果帮助列表已被固定,退出函数

if (m_ihelpfixed == 0) return;

//隐藏帮助

lblhelp.classname = "lblmout";

divhelp.classname = "helphidden";

}

//———————————————————–

//固定帮助列表

function fixhelp()

{

if (m_ihelpfixed == -1)

{

//如果帮助列表还未被固定

//固定它

m_ihelpfixed = 0;

lblhelp.classname = "lblclicked";

divhelp.classname = "helpfixed";

}

else

{

//如果帮助列表已被固定

//解固它

m_ihelpfixed = -1;

lblhelp.classname = "lblmover";

divhelp.classname = "helpshown";

}

}

//———————————————————–

//重置页面至初始状态

function resetall()

{

var icount;

//——————————————

//常变量说明

//icount :计数器。整型

//——————————————

for (icount = 0; icount < m_ipartcnt; icount ++)

{

txtword[icount].value= "";

m_astrwords[icount] = new array(); //将单词数组清空

valuelist(m_astrwords[icount], icount);

}

txtsentence.value = "";

txtword[0].focus();

}

//———————————————————–

//把所有类别的单词都存入文件

function saveall()

{

var icount, iemptycnt;

var strprompt;

//——————————————

//常变量说明

//icount :计数器。整型

//iemptycnt :单词数目为0的类别个数。整型

//strprompt :操作提示。字符串型

//——————————————

iemptycnt = 0;

for (icount = 0; icount < m_ipartcnt; icount ++)

{

//保存当前内存中所有的单词

eval("frmwords.txtwords" + icount).value = m_astrwords[icount].join(",");

if (m_astrwords[icount].length == 0)

iemptycnt ++;

}

//alert("iemptycnt: " + iemptycnt);

if (iemptycnt > 0)

{

switch (iemptycnt)

{

case m_ipartcnt:

strprompt = "所有类别的词汇单词个数都为0,操作将会产生" + m_ipartcnt + "个空文件";

strprompt += "\n您确定要这样做吗?";

break;

default:

strprompt = "其中,";

for (icount = 0; icount < m_ipartcnt; icount ++)

if (m_astrwords[icount].length == 0)

strprompt += "[" + m_astrsenpart[icount] + "]、";

strprompt = strprompt.slice(0, -1);

strprompt += "部分单词个数为0";

strprompt += "\n操作将会产生" + iemptycnt + "个空文件";

strprompt += ",您确定要这样做吗?";

}

if (window.confirm(strprompt) == false) return;

}

frmwords.txtopway.value = "saveall";

frmwords.submit();

}

//———————————————————–

//从文件中载入所有类别的单词

function loadall()

{

var icount;

//——————————————

//常变量说明

//icount :计数器。整型

//——————————————

//保存当前内存中所有的单词

for (icount = 0; icount < m_ipartcnt; icount ++)

eval("frmwords.txtwords" + icount).value = m_astrwords[icount].join(",")

frmwords.txtopway.value = "loadall";

frmwords.submit();

}

//———————————————————–

//进行词汇搭配,得到一个句子

function assemble()

{

var icount, iwrdcnt, irndindex;

var strsentence;

//——————————————

//常变量说明

//icount :计数器。整型

//iwrdcnt :某类词汇单词的个数。整型

//irndindex :随机产生的单词索引。整型

//strsentence :由各个类别词汇中的随机单词组成的句子。字符串型

//——————————————

strsentence = "";

for (icount = 0; icount < m_ipartcnt; icount ++)

{

//如果当前类别词汇的个数为0

//给出提示,并中止搭配

iwrdcnt = m_astrwords[icount].length;

if (iwrdcnt == 0)

{

var strprompt;

//——————————————

//常变量说明

//strprompt :操作提示。字符串型

//——————————————

strprompt = "[" + m_astrsenpart[icount] + "]部分一个可选单词也没有";

strprompt += "\n请至少输入一个单词";

alert(strprompt);

txtword[icount].select();

return;

}

//随机抽取当前类别词汇中的一个单词

//加入到句子中

irndindex = math.floor(math.random()*iwrdcnt);

strsentence += m_astrwords[icount][irndindex];

//alert("iwrdcnt: " + iwrdcnt + "\nirndindex: " + irndindex);

}

strsentence += "。";

txtsentence.value = strsentence;

}

//使鼠标移到之处的按钮

//产生“点亮”的效果

function lightbtn()

{

var elesrc;

//——————————————

//常变量说明

//elesrc :发生事件的元素

//——————————————

elesrc = window.event.srcelement;

while (elesrc.tagname.touppercase() != "button")

elesrc = elesrc.parentelement;

elesrc.classname = "btnlighted";

}

//使鼠标离开的按钮

//还原为初始状态

function delightbtn()

{

var elesrc;

//——————————————

//常变量说明

//elesrc :发生事件的元素

//——————————————

elesrc = window.event.srcelement;

while (elesrc.tagname.touppercase() != "button")

elesrc = elesrc.parentelement;

elesrc.classname = "btndelighted";

}

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 词语搭配游戏的制作(ASP)二
分享到: 更多 (0)