{"id":12042,"date":"2017-03-22T00:00:00","date_gmt":"2017-03-21T16:00:00","guid":{"rendered":"https:\/\/fgchen.com\/wpedu2\/2017\/03\/22\/%e9%81%8e%e6%b2%b3%e5%95%8f%e9%a1%8c%ef%bc%9a%e8%be%b2%e5%a4%ab%e3%80%81%e7%be%8a%e3%80%81%e7%8b%bc%e3%80%81%e9%9d%92%e8%8f%9c\/"},"modified":"2026-03-30T14:50:38","modified_gmt":"2026-03-30T06:50:38","slug":"%e9%81%8e%e6%b2%b3%e5%95%8f%e9%a1%8c%ef%bc%9a%e8%be%b2%e5%a4%ab%e3%80%81%e7%be%8a%e3%80%81%e7%8b%bc%e3%80%81%e9%9d%92%e8%8f%9c","status":"publish","type":"post","link":"https:\/\/fgchen.com\/wpedu\/2017\/03\/%e9%81%8e%e6%b2%b3%e5%95%8f%e9%a1%8c%ef%bc%9a%e8%be%b2%e5%a4%ab%e3%80%81%e7%be%8a%e3%80%81%e7%8b%bc%e3%80%81%e9%9d%92%e8%8f%9c\/","title":{"rendered":"\u904e\u6cb3\u554f\u984c\uff1a\u8fb2\u592b\u3001\u7f8a\u3001\u72fc\u3001\u9752\u83dc"},"content":{"rendered":"<img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full wp-image-4681\" src=\"http:\/\/www.fgchen.com\/wp\/wp-content\/uploads\/2017\/03\/C-CrossRiverGame-2.png\" alt=\"\" width=\"864\" height=\"487\" \/>\n<span style=\"font-size: 14pt\">\u4e00\u540d\u8fb2\u592b\u5e36\u8457\u4e00\u96bb\u72fc\u3001\u4e00\u96bb\u7f8a\u548c\u4e00\u9846\u9ad8\u9e97\u83dc\u6e21\u6cb3\uff0c\u6cb3\u4e0a\u53ea\u6709\u4e00\u8258\u8239\uff0c\u4e00\u6b21\u53ea\u80fd\u8f09\u8fb2\u592b\u548c\u4e00\u6a23\u6771\u897f\u5230\u5c0d\u5cb8\uff0c\u53ea\u6709\u8fb2\u592b\u6703\/\u80fd\u5212\u8239\uff0c\u5982\u679c\u8fb2\u592b\u6c92\u770b\u8457\uff0c\u72fc\u6703\u5403\u7f8a\uff0c\u7f8a\u6703\u5403\u83dc\uff0c\u8fb2\u592b\u8981\u5982\u4f55\u6210\u529f\u7684\u5c07\u72fc\u3001\u7f8a\u3001\u9ad8\u9e97\u83dc\u5e36\u5230\u53e6\u4e00\u5cb8\uff0c\u800c\u4e0d\u6703\u6709\u640d\u5931\uff1f<\/span>\n\n<h2>\u7a0b\u5f0f\u756b\u9762<\/h2>\n\n<img decoding=\"async\" class=\"alignnone size-full wp-image-4678\" src=\"http:\/\/www.fgchen.com\/wp\/wp-content\/uploads\/2017\/03\/C-CrossRiverGame-1.png\" alt=\"\" width=\"601\" height=\"290\" \/>\n\n<h2>\u3010\u7a0b\u5f0f\u5217\u8868\u3011<\/h2>\n\n<pre class=\"theme:vs2012 lang:c# decode:true \">using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\nnamespace WindowsFormsApplication1\n{\n    public partial class Form1 : Form\n    {\n        string farmerLocation = \"L\"; \/\/\u8fb2\u592b\u7684\u4f4d\u7f6e\uff0c\u4e00\u958b\u59cb\u5728\u5de6\u908a\n        public Form1()\n        {\n            InitializeComponent();\n        }\n        private void Form1_Load(object sender, EventArgs e)\n        {\n            lstBoxL.Enabled = true; L.Text = \"\u897f\u5cb8(\u53ef\u9078\u53d6)\";\n            lstBoxR.Enabled = false; R.Text = \"\u6771\u5cb8(\u4e0d\u53ef\u9078\u53d6)\";\n        }\n        \/*\n         * \u7576\u6309\u4e86\u5f80\u53f3\u908a\u79fb\u52d5\uff0c\u6709\u4e09\u500b\u72c0\u6cc1\uff1a\n         * 1\uff0e\u82e5\u8fb2\u592b\u5df2\u5728\u53f3\u908a\uff0c\u4e0d\u9700\u8981\u79fb\u52d5\uff0c\u96e2\u958b\n         * 2\uff0e\u53ea\u6709\u8fb2\u592b\u81ea\u5df1\u4e00\u4eba\u904e\u6cb3\n         * 3\uff0e\u8fb2\u592b\u5e36\u8457\u4e00\u7269\u904e\u6cb3\uff0c\u9078\u53d6\u7684\u7269\u54c1\u5f9e\u5de6\u908a\u79fb\u5165\u53f3\u908a(Add)\uff0c\u4e26\u5f9e\u5de6\u908a\u79fb\u9664(Remove)\n         *\n         * 2\u82073\u5171\u540c\u6b65\u9a5f\uff1a\n         * \u8a2d\u5b9a\u8fb2\u592b\u4f4d\u503c\u5728\u53f3\u908a\n         * \u5c0d\u8abf\u5de6\u53f32\u500b\u6e05\u55ae\u65b9\u584a\u7684\u53ef\u9078\u53d6\u72c0\u614b\n         *\/\n        private void btn2Right_Click(object sender, EventArgs e) \/\/\u6309\u4e0b\u5f80\u53f3\u79fb\u52d5\n        {\n            if (farmerLocation == \"R\") return; \/\/\u5982\u679c\u8fb2\u592b\u5df2\u5728\u53f3\u908a\u7684\u8a71\u5c31\u96e2\u958b\n            if (lstBoxL.SelectedItem != null) \/\/\u82e5\u5de6\u908a\u65b9\u584a\u6709\u9078\u53d6\n            {\n                lstBoxR.Items.Add(lstBoxL.SelectedItem); \/\/\u5c07\u5de6\u908a\u65b9\u584a\u7684\u9078\u53d6\u9805\u76ee\u52a0\u5230\u53f3\u908a\u65b9\u584a\n                lstBoxL.Items.Remove(lstBoxL.SelectedItem); \/\/\u5c07\u5de6\u908a\u65b9\u584a\u9078\u53d6\u9805\u76ee\u79fb\u9664\u6389(\u79fb\u5230\u53e6\u4e00\u908a\u7684\u610f\u601d)\n            }\n            lstBoxL.Enabled = false; L.Text = \"\u897f\u5cb8(\u4e0d\u53ef\u9078\u53d6)\";\n            lstBoxR.Enabled = true; R.Text = \"\u6771\u5cb8(\u53ef\u9078\u53d6)\";\n            btnFarmer.Location = new Point(312, 120); \/\/\u79fb\u52d5\u8fb2\u592b\n            farmerLocation = \"R\"; \/\/\u6a19\u8a18\u8fb2\u592b\u7684\u4f4d\u7f6e\u5728\u53f3\u908a\n        }\n        private void btn2Left_Click(object sender, EventArgs e)\n        {\n            if (farmerLocation == \"L\") return; \/\/\u5982\u679c\u8fb2\u592b\u5df2\u5728\u53f3\u908a\u7684\u8a71\u5c31\u96e2\u958b\n            if (lstBoxR.SelectedItem != null)\n            {\n                lstBoxL.Items.Add(lstBoxR.SelectedItem);\n                lstBoxR.Items.Remove(lstBoxR.SelectedItem);\n            }\n            lstBoxR.Enabled = false; R.Text = \"\u6771\u5cb8(\u4e0d\u53ef\u9078\u53d6)\";\n            lstBoxL.Enabled = true; L.Text = \"\u897f\u5cb8(\u53ef\u9078\u53d6)\";\n            btnFarmer.Location = new Point(192, 120);\n            farmerLocation = \"L\";\n        }\n        private void button1_Click(object sender, EventArgs e)\n        {  \/\/\u53d6\u6d88\u4e8c\u908a\u6e05\u55ae\u65b9\u584a\u7684\u9078\u53d6\n            lstBoxL.SelectedItem = null;\n            lstBoxR.SelectedItem = null;\n        }\n    }\n}\n<\/pre>\n\n<h2>\u3010\u7a0b\u5f0f\u82f1\u6587\u3011<\/h2>\n\n<span style=\"font-size: 14pt\">1\uff0eListBox \u6e05\u55ae\u65b9\u584a<\/span>\n<span style=\"font-size: 14pt\">2\uff0eItem \u9805\u76ee (\u6e05\u55ae\u65b9\u584a\u88cf\u7684)<\/span>\n<span style=\"font-size: 14pt\">3\uff0eItems \u9805\u76ee\u96c6\u5408<\/span>\n<span style=\"font-size: 14pt\">4\uff0eEnabled \u00a0\u555f\u7528\u7684<\/span>\n<span style=\"font-size: 14pt\">5\uff0eSelectedItem \u9078\u53d6\u7684\u9805\u76ee<\/span>\n<span style=\"font-size: 14pt\">6\uff0enull \u672a\u6307\u5b9a\/\u7a7a<\/span>\n<span style=\"font-size: 14pt\">7\uff0eLocation \u4f4d\u7f6e<\/span>\n<span style=\"font-size: 14pt\">8\uff0epoint \u9ede<\/span>\n\n<h2>\u3010\u904a\u6232\u5224\u65b7\u3011<\/h2>\n\n<span style=\"font-size: 14pt\">1\uff0e\u6e2c\u8a66\u6e05\u55ae\u65b9\u584a\u88cf\u7684\u9805\u76ee\u662f\u5426\u540c\u6642\u51fa\u73fe\uff1f \u7576\u8fb2\u592b\u5728\u53e6\u4e00\u908a\u6642\uff0c\u6b64\u6642\uff0c\u904a\u6232\u5931\u6557\uff01<\/span>\n\n<p style=\"padding-left: 30px\"><span style=\"font-size: 14pt\">a\uff0e\u7f8a\u548c\u9ad8\u9e97\u83dc\uff0c\u7f8a\u6703\u5403\u4e86\u9ad8\u9e97\u83dc<\/span><\/p>\n\n<p style=\"padding-left: 30px\"><span style=\"font-size: 14pt\">b\uff0e\u72fc\u548c\u7f8a\uff0c\u72fc\u6703\u5403\u4e86\u7f8a<\/span><\/p>\n\n<span style=\"font-size: 14pt\">2\uff0e\u82e5\u7f8a\u3001\u72fc\u3001\u9ad8\u9e97\u83dc\u540c\u6642\u51fa\u73fe\u5728\u53f3\u908a\u6e05\u55ae\u65b9\u584a\u6642\uff0c\u6b64\u6642\uff0c\u904a\u6232\u904e\u95dc\uff01<\/span>\n\n<h2>\u3010\u7a0b\u5f0f\u5224\u65b7\u662f\u5426\u5931\u6557\u3011<\/h2>\n\n<pre class=\"theme:vs2012 lang:c# decode:true\">using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\nnamespace WindowsFormsApplication2\n{\n    public partial class Form1 : Form\n    {\n        string farmerLocation = \"L\"; \/\/\u8fb2\u592b\u7684\u4f4d\u7f6e\uff0c\u4e00\u958b\u59cb\u5728\u5de6\u908a\n        public Form1()\n        {\n            InitializeComponent();\n        }\n        private void Form1_Load(object sender, EventArgs e)\n        {\n            lstBoxL.Enabled = true; L.Text = \"\u897f\u5cb8(\u53ef\u9078\u53d6)\";\n            lstBoxR.Enabled = false; R.Text = \"\u6771\u5cb8(\u4e0d\u53ef\u9078\u53d6)\";\n        }\n        private void lstBoxL_SelectedIndexChanged(object sender, EventArgs e)\n        {\n        }\n        private bool isGameFailed()\n        {\n            bool hasSheep = false, hasWolf = false, hasCab = false;\n            if (farmerLocation == \"L\")\n            {\n                foreach (object o in lstBoxR.Items)\n                {\n                    string s = o.ToString();\n                    if (s == \"\u7f8a\") hasSheep = true;\n                    if (s == \"\u72fc\") hasWolf = true;\n                    if (s == \"\u9ad8\u9e97\u83dc\") hasCab = true;\n                }\n            } else\n            {\n                foreach (object o in lstBoxL.Items)\n                {\n                    string s = o.ToString();\n                    if (s == \"\u7f8a\") hasSheep = true;\n                    if (s == \"\u72fc\") hasWolf = true;\n                    if (s == \"\u9ad8\u9e97\u83dc\") hasCab = true;\n                }\n            }\n            bool gameFailed = false;\n            if (hasSheep &amp;&amp; hasCab) gameFailed = true;\n            if (hasSheep &amp;&amp; hasWolf) gameFailed = true;\n            return gameFailed;\n        }\n        private void btn2Left_Click(object sender, EventArgs e)\n        {\n            if (farmerLocation == \"L\") return; \/\/\u5982\u679c\u8fb2\u592b\u5df2\u5728\u53f3\u908a\u7684\u8a71\u5c31\u96e2\u958b\n            if (lstBoxR.SelectedItem != null)\n            {\n                lstBoxL.Items.Add(lstBoxR.SelectedItem);\n                lstBoxR.Items.Remove(lstBoxR.SelectedItem);\n            }\n            lstBoxR.Enabled = false; R.Text = \"\u6771\u5cb8(\u4e0d\u53ef\u9078\u53d6)\";\n            lstBoxL.Enabled = true; L.Text = \"\u897f\u5cb8(\u53ef\u9078\u53d6)\";\n            btnFarmer.Location = new Point(168, 101);\n            farmerLocation = \"L\";\n            if (isGameFailed()) MessageBox.Show(\"You losed!\");\n        }\n        private void btn2Right_Click(object sender, EventArgs e)\n        {\n            if (farmerLocation == \"R\") return; \/\/\u5982\u679c\u8fb2\u592b\u5df2\u5728\u53f3\u908a\u7684\u8a71\u5c31\u96e2\u958b\n            if (lstBoxL.SelectedItem != null) \/\/\u82e5\u5de6\u908a\u65b9\u584a\u6709\u9078\u53d6\n            {\n                lstBoxR.Items.Add(lstBoxL.SelectedItem); \/\/\u5c07\u5de6\u908a\u65b9\u584a\u7684\u9078\u53d6\u9805\u76ee\u52a0\u5230\u53f3\u908a\u65b9\u584a\n                lstBoxL.Items.Remove(lstBoxL.SelectedItem); \/\/\u5c07\u5de6\u908a\u65b9\u584a\u9078\u53d6\u9805\u76ee\u79fb\u9664\u6389(\u79fb\u5230\u53e6\u4e00\u908a\u7684\u610f\u601d)\n            }\n            lstBoxL.Enabled = false; L.Text = \"\u897f\u5cb8(\u4e0d\u53ef\u9078\u53d6)\";\n            lstBoxR.Enabled = true; R.Text = \"\u6771\u5cb8(\u53ef\u9078\u53d6)\";\n            btnFarmer.Location = new Point(312, 101); \/\/\u79fb\u52d5\u8fb2\u592b\n            farmerLocation = \"R\"; \/\/\u6a19\u8a18\u8fb2\u592b\u7684\u4f4d\u7f6e\u5728\u53f3\u908a\n            if (isGameFailed()) MessageBox.Show(\"You losed!\");\n        }\n        private void button1_Click(object sender, EventArgs e)\n        {\n            \/\/\u53d6\u6d88\u4e8c\u908a\u6e05\u55ae\u65b9\u584a\u7684\u9078\u53d6\n            lstBoxL.SelectedItem = null;\n            lstBoxR.SelectedItem = null;\n        }\n    }\n}\n<\/pre>\n\n&nbsp;","protected":false},"excerpt":{"rendered":"<p>\u4e00\u540d\u8fb2\u592b\u5e36\u8457\u4e00\u96bb\u72fc\u3001\u4e00\u96bb\u7f8a\u548c\u4e00\u9846\u9ad8\u9e97\u83dc\u6e21\u6cb3\uff0c\u6cb3\u4e0a\u53ea\u6709\u4e00\u8258\u8239\uff0c\u4e00\u6b21\u53ea\u80fd\u8f09\u8fb2\u592b\u548c\u4e00\u6a23 &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[266],"tags":[93,110,111],"class_list":["post-12042","post","type-post","status-publish","format-standard","hentry","category-266","tag-c","tag-game","tag-111"],"_links":{"self":[{"href":"https:\/\/fgchen.com\/wpedu\/wp-json\/wp\/v2\/posts\/12042","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fgchen.com\/wpedu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fgchen.com\/wpedu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fgchen.com\/wpedu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fgchen.com\/wpedu\/wp-json\/wp\/v2\/comments?post=12042"}],"version-history":[{"count":1,"href":"https:\/\/fgchen.com\/wpedu\/wp-json\/wp\/v2\/posts\/12042\/revisions"}],"predecessor-version":[{"id":13488,"href":"https:\/\/fgchen.com\/wpedu\/wp-json\/wp\/v2\/posts\/12042\/revisions\/13488"}],"wp:attachment":[{"href":"https:\/\/fgchen.com\/wpedu\/wp-json\/wp\/v2\/media?parent=12042"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fgchen.com\/wpedu\/wp-json\/wp\/v2\/categories?post=12042"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fgchen.com\/wpedu\/wp-json\/wp\/v2\/tags?post=12042"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}