KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /domains/markrose/flash-hanzi.html
<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 "&nbsp;" + s.substr(0,s.indexOf(' ')) + "&nbsp;";
}

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()">&nbsp;&nbsp;&nbsp;&nbsp;
	<input type="button" name="forget" value="Forget" onclick="forgetme()">&nbsp;&nbsp;&nbsp;&nbsp;
	<input type="button" name="reset" value="Reset" onclick="doall()">&nbsp;&nbsp;&nbsp;&nbsp;
	<input type="button" name="back" value="Label" onclick="label()">&nbsp;&nbsp;&nbsp;&nbsp;
	<input type="button" name="eng" value="English" onclick="showgloss()">&nbsp;&nbsp;&nbsp;&nbsp;

<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>

Anon7 - 2021