資源簡介
8 puzzle問題, C# 代碼,算法設計與分析課程作業,實現簡單的8 puzzle游戲,適合初學者

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Text;
using?System.Windows;
using?System.Windows.Controls;
using?System.Windows.Data;
using?System.Windows.Documents;
using?System.Windows.Input;
using?System.Windows.Media;
using?System.Windows.Media.Imaging;
using?System.Windows.Navigation;
using?System.Windows.Shapes;
namespace?ALG_eight_puzzle
{
????///?
????///?MainWindow.xaml?的交互邏輯
????///?
????public?partial?class?MainWindow?:?Window
????{
????????public?const?int?MAX?=?10000000;
????????//public?static?int[]?st?=?new?int[MAX?9];
????????//public?static?int[]?goal?=?new?int[9];
????????//public?static?int[]?dist?=?new?int[MAX];
????????//public?static?int[]?fa?=?new?int[MAX];
????????//public?static?int[]?vis?=?new?int[362881];
????????public?static?int[]?st?=?null;
????????public?static?int[]?goal?=?null;
????????public?static?int[]?dist?=?null;
????????public?static?int[]?fa?=?null;
????????public?static?int[]?vis?=?null;
????????public?static?int[]?fact?=?new?int[9];
????????public?static?int[]?dx?=?{?-1?1?0?0?};
????????public?static?int[]?dy?=?{?0?0?-1?1?};
????????public?static?int?result;
????????public?static?string?ans;
????????static?void?init_lookup()
????????{
????????????fact[0]?=?1;
????????????for?(int?i?=?1;?i?9;?i++)
????????????{
????????????????fact[i]?=?fact[i?-?1]?*?i;
????????????}
????????}
????????static?int?can_insert(int?t)
????????{
????????????int?c?=?0;
????????????for?(int?i?=?0;?i?9;?i++)
????????????{
????????????????int?cnt?=?0;
????????????????for?(int?j?=?i?+?1;?j?9;?j++)
????????????????????if?(st[t?j]?????????????????c?+=?fact[8?-?i]?*?cnt;
????????????}
????????????Console.WriteLine(“hash?function?:“?+?c);
????????????if?(vis[c]?==?1)?return?0;
????????????else?return?vis[c]?=?1;
????????}
????????static?int?bfs()
????????{
????????????init_lookup();
????????????int?front?=?1?rear?=?2;
????????????fa[front]?=?0;
????????????while?(front?????????????{
????????????????bool?flag?=?true;
????????????????for?(int?i?=?0;?i?9;?i++)
????????????????{
????????????????????if?(st[front?i]?!=?goal[i])
????????????????????{
????????????????????????flag?=?false;?break;
????????????????????}
????????????????}
????????????????if?(flag)?return?front;
????????????????int?z;
????????????????for?(z?=?0;?z?9;?z++)
????????????????????if?(0?==?st[front?z])?break;
????????????????int?x?=?z?/?3?y?=?z?%?3;
????????????????for?(int?i?=?0;?i?4;?i++)
????????????????{
????????????????????int?nx?=?x?+?dx[i];
????????????????????int?ny?=?y?+?dy[i];
????????????????????int?nz?=?nx?*?3?+?ny;
????????????????????if?(nx?>=?0?&&?nx?3?&&?ny?>=?0?&&?ny?3)
????????????????????{
????????????????????????for?(int?k?=?0;?k?9;?k++)?st[rear?k]?=?st[front?k];
????????????????????????st[rear?nz]?=?st[front?z];
????????????????????????st[rear?z]?=?s
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-06-21?10:43??C#源代碼\
?????目錄???????????0??2012-06-13?01:29??C#源代碼\ALG_eight_puzzle\
?????目錄???????????0??2012-06-26?00:14??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\
?????文件????????4537??2012-06-17?21:04??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\ALG_eight_puzzle.csproj
?????文件?????????227??2012-06-17?21:26??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\ALG_eight_puzzle.csproj.user
?????文件?????????327??2012-06-13?01:28??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\App.xaml
?????文件?????????312??2012-06-13?01:28??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\App.xaml.cs
?????文件????????3452??2012-06-18?02:12??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\MainWindow.xaml
?????文件????????6126??2012-06-18?02:50??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\MainWindow.xaml.cs
?????目錄???????????0??2012-06-13?01:28??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\Properties\
?????文件????????2197??2012-06-13?01:28??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\Properties\AssemblyInfo.cs
?????文件????????2882??2012-06-13?01:28??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\Properties\Resources.Designer.cs
?????文件????????5612??2012-06-13?01:28??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\Properties\Resources.resx
?????文件????????1101??2012-06-13?01:28??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\Properties\Settings.Designer.cs
?????文件?????????201??2012-06-13?01:28??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\Properties\Settings.settings
?????目錄???????????0??2012-06-18?02:50??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\bin\
?????目錄???????????0??2012-06-13?01:56??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\bin\Debug\
?????文件???????18944??2012-06-18?02:42??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\bin\Debug\ALG_eight_puzzle.exe
?????文件???????42496??2012-06-18?02:42??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\bin\Debug\ALG_eight_puzzle.pdb
?????文件???????11600??2012-06-18?00:38??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\bin\Debug\ALG_eight_puzzle.vshost.exe
?????文件?????????490??2010-03-17?22:39??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\bin\Debug\ALG_eight_puzzle.vshost.exe.manifest
?????目錄???????????0??2012-06-18?02:51??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\bin\Release\
?????文件???????16384??2012-06-18?02:51??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\bin\Release\ALG_eight_puzzle.exe
?????文件???????34304??2012-06-18?02:51??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\bin\Release\ALG_eight_puzzle.pdb
?????文件???????11600??2012-06-18?02:50??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\bin\Release\ALG_eight_puzzle.vshost.exe
?????文件?????????490??2010-03-17?22:39??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\bin\Release\ALG_eight_puzzle.vshost.exe.manifest
?????目錄???????????0??2012-06-13?01:28??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\obj\
?????目錄???????????0??2012-06-18?02:50??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\obj\x86\
?????目錄???????????0??2012-06-18?02:50??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\obj\x86\Debug\
?????文件?????????180??2012-06-18?01:39??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\obj\x86\Debug\ALG_eight_puzzle.Properties.Resources.resources
?????文件????????1826??2012-06-18?02:12??C#源代碼\ALG_eight_puzzle\ALG_eight_puzzle\obj\x86\Debug\ALG_eight_puzzle.csproj.FileListAbsolute.txt
............此處省略53個文件信息
- 上一篇:Modbus_TCP .net C# 通信
- 下一篇:C#版RFID無線射頻識別系統
評論
共有 條評論