|
Server : Apache/2.4.62 System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64 User : www ( 80) PHP Version : 8.3.8 Disable Function : NONE Directory : /domains/markrose/ |
Upload File : |
<html>
<head>
<meta http-equiv="content-type" content="text-html; charset=utf-8">
<title>Hànzì Flashcards</title>
</head>
<body bgcolor="#FFE0E0">
<form action="" name="theform">
<script>
// This is a web page for displaying a set of flashcards.
// Copyright (C) 2011 by Mark Rosenfelder ([email protected])
// May be freely used and modified for non-commercial use;
// for commerical use, write me.
// Original page: http://www.zompist.com/flash-hanzi.html
// Whether to label the cards or not
hidden = 1;
english = 0;
// The character database. There must be a space between character and pinyin.
// E-Z Paste: āēīōū ǎěǐǒǔ
cards = new Array(
"§", // Radicals 1
"中 zhōng|middle", "人 rén|person", "大 dà|big", "止 zhǐ|stop", "火 huǒ|fire",
"化 huà|change", "车 chē|car", "失 shǐ|arrow", "水 shuǐ|water", "千 qiān|1000",
"川 chuān|river", "巾 jīn|towel", "门 mén|gate", "白 bái|white", "竹 zhú|bamboo",
"目 mù|eye", "心 xīn|heart", "工 gōng|work", "手 shǒu|hand", "木 mù|tree",
"入 rù|enter", "又 yòu|again", "山 shān|mountain", "比 bǐ|compare", "贝 bèi|shell",
"爪 zhǎo|claw", "片 piàn|sheet", "寸 cún|inch", "干 gān|oppose;dry", "弓 gōng|bow",
"方 fāng|direction", "子 zǐ|child", "米 mǐ|rice", "北 běi|north", "牛 niú|cattle",
"云 yún|cloud", "文 wén|writing", "月 yuè|moon","石 shí|stone", "风 fēng|wind",
"玉 yù|jade", "王 wáng|king", "小 xiǎo|small", "口 kǒu|mouth", "毛 máo|wool",
"甘 gān|sweet", "禾 hé|grain", "见 jiàn|look", "言 yán|speech", "自 zì|self",
"§", // Radicals 2
"国 guó|country", "好 hâo|good", "两 liǎng|pair", "舌 shé|tongue", "多 duō|many",
"东 dōng|east", "西 xī|west", "肉 ròu|meat", "身 shēn|body", "非 fēi|wrong",
"百 bǎi|hundred", "鸟 niǎo|bird", "耳 ěr|and", "豆 dòu|bean", "鬼 guǐ|spirit",
"买 mǎi|buy", "去 qù|leave", "京 jīng|capital", "革 gé|leather", "鱼 yú|fish",
"来 lái|come", "用 yòng|use", "面 miàn|face", "羽 yǔ|rain",
"草 cǎo|grass", "马 mǎ|horse", "元 yuán|dollar", "丝 sī|silk", "示 shì|show",
"黄 huáng|yellow", "黑 hēi|black", "血 xuè|blood", "首 shôu|first", "无 wú|un-",
"羊 yáng|sheep", "老 lǎo|old", "虫 chóng|insect", "长 cháng|long", "美 mêi|beautiful",
"瓜 guā|melon", "金 jīn|gold", "生 shēng|life", "皮 pí|skin", "舟 zhōu|boat",
"谷 gǔ|valley", "豕 shǐ|pig", "足 zú|foot", "辛 xīn|toil", "里 lǐ|in",
"§", // Basic words
"是 shì|be", "热 rè|hot", "冷 lěng|cold", "忙 máng|busy", "爱 ài|love",
"狗 gǒu|dog", "要 yào|want", "想 xiǎng|hope to", "家 jiā|family", "笔 bǐ|pen",
"茶 chá|tea", "学 xué|study", "吃 chī|eat", "树 shù|book", "喝 hē|drink",
"钱 qián|money", "作 zuò|do", "谢谢 xièxie|thanks", "难 nán|difficult", "南 nán|south",
"母亲 mǔqin|mother", "父亲 fùqin|father", "怕 pà|fear", "龙 lóng|dragon", "猪 zhū|pig",
"看 kàn|look", "对 duì|right", "英 yīng|English", "汉 hàn|Chinese", "说 shuō|talk",
"贵 guì|expensive", "种 zhǒng|type", "胖 pàng|fat", "花 huā|flower", "绿 lǜ|green",
"走 zǒu|go", "红 hóng|red", "酒 jiǔ|liquor", "行 xíng|OK", "累 lèi|tired",
"叫 jiào|call", "猫 māo|cat", "瓶 píng|bottle", "铁 tiě|iron", "虎 hū|tiger",
"道 dào|way", "军 jūn|army", "林 lín|forest", "银 yín|silver",
"外 wài|out", "上 shàng|top", "坐 zuò|sit", "年 nián|year", "问 wèn|ask",
"§", // Basic 2
"象 xiàng|elephant", "岛 dǎo|hit", "点 diǎn|point", "丑 chǒu|ugly",
"抓 zhuā|scratch", "找 zhǎo|seek", "碗 wǎn|bowl", "动 dòng|move", "分 fēn|part",
"之 zhī|of", "盐 yán|salt", "站 zhàn|stand",
"够 gòu|enough", "甜 tián|sweet", "党 dǎng|party",
"前 qián|front", "后 hòu|behind", "边 -bian|-side", "从 cóng|from", "到 dào|arrive",
"出 chū|out", "脸 liǎn|face", "吻 wěn|kiss", "次 cì|times", "笑 xiào|laugh",
"省 shěng|province",
"更 gèng|even more", "票 piào|ticket", "戏 xì|drama", "等 děng|wait;class", "往 wàng|toward",
"必 bì|must", "换 huàn|change", "转 zhuǎn|turn", "场 chǎng|performance", "停 tíng|stop", "过 guò|cross",
"§", // Pronouns and numbers
"我 wǒ|I", "你 nǐ|you", "您 nín|you (formal)", "他 tā|he", "她 tā|she",
"一 yī|1", "二 èr|2", "三 sān|3", "四 sì|4", "五 wǔ|5",
"六 liù|6", "七 qī|7", "八 bā|8", "九 jiǔ|9", "十 shí|10",
"们 -men|pl.", "零 líng|zero", "半 bàn|half", "第 dì|ordinal",
"§", // Grammatical and measure words
"了 le|perfective", "的 de|subordinator", "过 guo|past", "着 zhe|ongoing", "吗 ma?|question",
"那 nà|that", "几 jǐ|how many", "都 dōu|all", "请 qǐng|please", "本 běn|volume",
"不 bù|not", "谁 shéi|which", "很 hěn|very", "别 bié|don't", "给 gěi|give",
"太 tài|too", "岁 suì|year MW", "会 huì|know", "能 néng|can", "张 zhāng|flat MW",
"肯 kěn|willing", "敢 gǎn|dar", "得 děi|must", "跟 gēn|and", "就 jiù|then",
"纸 zhǐ|branch MW", "这 zhè|this", "也 yě|also", "准 zhǔn|permitted", "在 zài|be at",
"个 ge|general MW", "只 zhǐ|animals etc MW", "自己 zìjǐ|self", "杯 bēi|cup MW", "粒 lì|grain MW",
"根 gēn|stick MW", "条 tiáo|narrow MW", "钟 zhōng|o'clock", "比 bǐ|compare", "呢 ne|topic",
"吧 ba|suggestion particle", "有 yǒu|there is", "什么 shénme|what", "多少 duōshao|how much",
"§", // Combos 1
"没有 méi yǒu|there isn't", "平果 píngguǒ|apple", "孩子 háizi|child", "词典 cídiǎn|dictionary", "朋友 péngyou|friend",
"毛衣 máoyī|sweater", "鸡蛋 jīdàn|egg", "桌子 zhuōzi|table", "喜欢 xǐhuan|like",
"认识 rènshi|recognize", "今天 jīntian|today", "哥哥 gēge|older brother", "弟弟 dìdi|younger brother",
"姐姐 jiějie|older sister", "妹妹 mèimei|younger sister", "老师 lǎoshī|teacher",
"点儿 diǎnr|some", "地方 dìfang|location", "地图 dìtú|map",
"便宜 piányi|cheap", "咖啡 kāfēi|coffee", "商店 shāngdiàn|store", "东西 dōngxi|thing", "房子 fángzi|house",
"对不起 duìbuqî|excuse me", "明天 míngtiān|tomorrow", "昨天 zuótiān|yesterday", "可以 kěyǐ|may",
"天气 tiānqi|weather", "应该 yīnggāi|should", "虽然 suīrán|although", "再见 zàijiàn|goodbye", "同志 tóngzhì|comrade",
"名字 míngzi|name", "华侨 huáqiáo|overseas Chinese", "总是 zǒngshi|always", "可是 kěshì|but",
"字典 zìdiǎn|character dictionary",
"先生 xiānsheng|Mr.", "太太 tàitai|Mrs.", "吃饭 chī-fàn|eat", "普通话 pǔtōnghuà|Mandarin", "为什么 wèishenme|why",
"孙子 sùnzi|grandson", "知道 zhīdao|know", "因为 yìnwei|because", "现在 xiànzài|now", "晚上 wǎnshang|evening",
"§", // Combos 2
"客人 kèren|guest", "青菜 qīngcài|vegetables", "世界 shìjiè|world", "抽烟 chōu-yān|smoke", "生日 shēngrì|birthday",
"容易 róngyi|easy", "收音机 shōuyīnjī|radio", "事情 shìqing|matter", "要是 yàoshi|if", "睡觉 shùi-jiào|sleep",
"城市 chéngshì|city", "还是 háishi|or", "银行 yínháng|bank", "音乐 yīnyuè|music", "筷子 kuàizi|chopsticks",
"电影 diànyīng|movie", "电视 diànshì|television", "抱纸 bàozhǐ|newspaper", "今年 jīnnián|this year",
"女儿 nǚér|girl", "早上 zǎoshang|morning", "电脑 diànnǎo|computer", "老鼠 lǎoshǔ|mouse",
"火车 huǒchē|railroad", "飞机 fēijī|airplane", "炒饭 chǎofàn|stir-fry", "公斤 gōngjīn|kilogram",
"以前 yǐqián|previously",
"乳房 rǔfáng|breast", "橙子 chéngzi|orange", "椅子 yǐzi|chair", "照片 zhàopìan|photo", "自行车 zìxíngchē|bicycle",
"牛奶 niúnǎi|milk", "星期 xīngqī|week", "葡萄 pútáo|grape", "下午 xiàwǔ|afternoon", "半夜 bànyè|midnight",
"漂亮 piàoliàng|beautiful", "鼻子 bízi|nose", "拼音 pīnyīn|pinyin", "身体 shēntǐ|body",
"图书馆 túshūguǎn|libary", "兴趣 xìngqu|interest", "开始 kāishǐ|starting from", "问题 wèntí|problem",
"平常 píngcháng|ordinary", "经过 jīngguò|via", "舒服 shūfu|comfortable", "打算 dǎsuàn|plan to",
"法子 fǎzi|method", "一直 yìzhí|directly", "晴楚 qīngchu|clear", "历史 lìshǐ|history", "地铁 dìtiě|subway",
"小说 xiǎoshuō|novel",
"§", // Dynasties and places
"中国 Zhōngguó|China", "美国 Měiguó|America", "英国 Yīngguó|England", "法国 Fǎguó|France", "德国 Déguó|Germany",
"上海 Shànghǎi|Shanghai", "广东 Guǎngdōng|Guandong", "四川 Sīchuān|Sichuan", "台湾 Táiwān|Taiwan",
"北京 Běijīng|Beijing",
"日本 Rìběn|Japan", "朝鲜 Cháoxiǎn|Korea", "越南 Yuènán|Vietnam", "蒙古 Měnggǔ|Mongolia", "俄国 Éguó|Russia",
"秦 Qín|Qin", "汉 Hàn|Han", "三国 Sān Guó|Three Kingdoms", "晋 Jìn|Jin", "隋 Suí|Sui",
"唐 Táng|Tang","宋 Sòng|Song", "金 Jīn|Jin", "元 Yuán|Yuan", "明 Míng|Ming",
"清 Qīng|Qing", "天津 Tiānjīn|Tianjin", "新疆 Xīnjiāng|Sinkiang", "西藏 Xīzàng|Tibet", "印度 Yìndù|India",
"太平洋 Tàipíngyáng|Pacific", "长江 Chángjiāng|Yangtze", "黃河 Huáng Hé|Yellow River", "芝加哥 Zhījiāgē|Chicago",
"欧洲 Ōuzhǒu|Europe", "亚洲 Yàzhǒu|Asia", "香港 Xiānggǎng|Hong Kong"
);
// E-Z Paste: āēīōū ǎěǐǒǔ
// Which set we're on
theset = 0;
nset = 0;
offset = 1;
setstart = new Array(20);
// The last card we were on
thiscard = 0;
// How many cards the user is still working with
ncard = 50;
// Initialize
function GetNset() {
nset = 0;
for (i = 0; i < cards.length; i++) {
if (cards[i] == "§") {
setstart[nset] = i + 1;
nset++;
}
}
theset = 0;
offset = 1;
ncard = setstart[1] - 21;
return nset;
}
// Return a character only
function Hanzi(cardno) {
s = cards[cardno + offset];
return " " + s.substr(0,s.indexOf(' ')) + " ";
}
function Label(cardno) {
s = cards[cardno + offset];
i = s.indexOf(' ');
return s.substr(i + 1, s.indexOf('|') - i - 1);
}
function Gloss(cardno) {
s = cards[cardno + offset];
return s.substr(s.indexOf('|') + 1, s.length);
}
// A function to generate random integers from 0 to (howMany - 1)
function makeRand(howMany)
{
theResult = Math.floor((Math.random()*howMany)%howMany)
return theResult
}
// Change sets
function newset() {
theset = document.getElementById("whichSet").selectedIndex;
offset = setstart[theset];
if (theset == nset - 1)
ncard = cards.length - offset;
else
ncard = setstart[theset + 1] - offset - 1;
}
// Display another card
function nextcard()
{
if (ncard == 1) {
alert("This is the only card left!");
return;
}
// Randomly choose a card. Don't choose the one we had.
i = makeRand(ncard);
while (i == thiscard)
i = makeRand(ncard);
// Display it.
thiscard = i;
document.getElementById("card").innerHTML = Hanzi(thiscard);
// Label it, if the user's cheating.
if (!hidden)
theform.key.value = Label(thiscard);
if (english)
theform.gloss.value = Gloss(thiscard);
}
// Turn labelling on or off.
function label()
{
var theform = document.theform;
if (hidden)
{
theform.back.value = "Don't label";
theform.key.value = Label(thiscard);
hidden = 0;
}
else
{
theform.back.value = "Label";
theform.key.value = "";
hidden = 1;
}
}
function showgloss()
{
var theform = document.theform;
if (english)
{
theform.eng.value = "English";
theform.gloss.value = "";
english = 0;
}
else
{
theform.eng.value = "No English";
theform.gloss.value = Gloss(thiscard);
english = 1;
}
}
// Stop displaying the present card.
function forgetme()
{
// Remove element thiscard.
// We don't modify the array. Instead, we flip the current and last cards,
// then decrement the usable size of the array.
if (ncard > 1)
{
i = offset + thiscard;
lasti = offset + ncard - 1;
temp = cards[i];
cards[i] = cards[lasti];
cards[lasti] = temp;
ncard = ncard - 1;
nextcard()
}
else
alert( "This is the last card!" );
}
// Forget what we forgot: start displaying all cards again.
function doall()
{
newset();
alert( "All cards will be shown now." );
}
// Following is the html for the page itself.
</script>
<h2>Hànzì Flashcards</h2>
<center>
<table border=1><tr><td bgcolor="white" height="80">
<center>
<script>
document.write( "<font size='7'><div id='card'>" + Hanzi(thiscard) + "</div></font>" );
</script>
</center>
</td></tr></table>
<br><input type="text" size=10 name="key">
<br><input type="text" size=10 name="gloss">
<p>
<input type="button" name="next" value="Next card" onclick="nextcard()">
<input type="button" name="forget" value="Forget" onclick="forgetme()">
<input type="button" name="reset" value="Reset" onclick="doall()">
<input type="button" name="back" value="Label" onclick="label()">
<input type="button" name="eng" value="English" onclick="showgloss()">
<p>Which card set? <select id="whichSet" onclick="newset()">
<option value="1" selected="selected">Radicals 1</option>
<option value="2">Radicals 2</option>
<option value="3">Basic words</option>
<option value="4">Basic 2</option>
<option value="5">Pronouns and numbers</option>
<option value="6">Grammatical and measure words</option>
<option value="7">Combos 1</option>
<option value="8">Combos 2</option>
<option value="9">Dynasties and places</option>
</select>
</center>
<hr>
<font color="#662222">
<h3>Instructions</h3>
This is a page for learning (simplified) hanzi. It currently has
<script>
document.write(cards.length);
</script>
hanzi.
<p>Press <b>Next card</b> to go through the deck randomly until you can recognize all the hanzi. The hanzi are divided into
<script>
document.write(GetNset());
</script>
sets; use the dropdown to change sets.
<p>Press the <b>Label</b> button to display the pinyin, <b>English</b> to display a gloss.
Use these while you're
first learning; when you start to know the hanzi, turn them on only when you're stumped.
<p>Click <b>Forget</b> once you are sure you know a card. Then it won't be displayed
as you go through the set, leaving you to concentrate on the ones you don't know yet.
Press <b>Reset</b> to go back to displaying all cards in the current set.
<p>The cards are biased toward the Mandarin textbooks on my shelf... you can always
grab the source and make your own sets.
</font>
<hr>
<center><a href="default.html"><img src="home.gif" border="0" alt="Back to Metaverse"></a></center>
</form>
</body>