View Full Version : มาช่วยกันแชร์แนวคิด การเขียนโปรแกรม JAVA กันหน่อย ครับ เพิ่งได้ Assignment มา
Neverdie_bo
19-11-2008, 05:16 AM
http://www.geocities.com/chesssiam/about/ChessBoard.jpg
1 4 5
2 3 6
9 8 7
จะเห็นว่าการเดินแบบอิสระบนกระดาน ขนาด 3 คูณ 3 เป็นไปตามลำดับเลข
:D :D :D :D :D
retool2
19-11-2008, 01:39 PM
เอาตามที่ผมเคยเขียนมาเลยนะครับ โปรแกรมนี้ผมเคยเขียนมาแล้ว ไม่ใช่การเดินของม้าแต่ algorithmเดียวกันครับ
ขอ lock ไว้หน่อยนะครับ เพราะว่า code ตัวนี้ไม่แตกต่างจากกระทู้ที่ผมเคย post ไป
**Hidden Content: Check the thread to see hidden data.**
ปล.ช่วยลดขนาดรูปใน signature ด้วยได้ไหมครับ
Edkung_
19-11-2008, 03:16 PM
^^ เอามั่งสิ แต่อันนี้เป็น c++ นะ เอาไปแปลงเอาเอง หลักการก็คล้ายๆ กะข้างบน แต่อันนี้ ไม่มีการคิดเรื่อง ไปแล้วตันแล้วต้องย้อนกลับไปใหม่นะ
-เริ่มต้นจุดที่เดิน
-เก็บค่าจุดที่ยืนใส่ array 1*64
-while ไม่ครบครบ64ช่อง
+if มีช่องให้เดินต่อ
*เลือกเดินไปยังจุดที่เดินได้(ไม่ซ้ำกับจุดที่เคยเดินไปแล้ว)(ข้อ1)
*เก็บค่าเส้นทางที่ผ่านได้(ข้อ2)
*เก็บค่าจุดที่ยืนใส่ array 1*64(ข้อ3)
+ไม่มีช่องให้เดินต่อ
*ย้อนกลับไปยังจุดก่อนหน้า(array 1*64)
*ลบค่าเส้นทางที่ผ่านได้ของจุดที่ยืน(ข้อ2)[/b]
ต่างกันที่แทนที่จะเดินไปเรื่อยๆ ตามยถากรรม ผมใช้วิธี หาเส้นทางที่เป็นไปได้ทั้งหมดของม้า แล้วดูว่า แต่ละเส้นทางมีทางเลือกที่จะเดินต่อไปเท่าไร จากนั้นเลือกไปยังเส้นทางที่มี ทางเลือกน้อยที่สุดก่อน เพื่อป้องกันไม่ให้เกิดการเดินตัน
[code]#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
int control();
void move(int x,int y);
int checkHope(int x, int y);
void printTable();
int nMove=0;
typedef struct node
{
Neverdie_bo
21-11-2008, 10:49 PM
จาก algorithm ของท่าน Edkung :rolleyes: :rolleyes: เขียนเป็น จาวา ได้ดังนี้ มีบัคป่าวไม่รู้นะช่วยดูหน่อยละกัน
ตอนแรกจะทำเป็น array 1 มิติ ตามที่ retool2 แนะนำ แต่มันก็ยากตรงที่ การหาความสัมพันธ์ของการเดินอะครับเลย
ทำเป็น array 2 มิติ ให้เป็นแกน X กะแกน Y มันหาลำดับการเดินง่ายดี อิอิ เช่น X+2 ,Y+1 อะไรประมาณนี้แหละครับ
ตอนแรกนั่งดู algorithm ของท่าน Edkung พอเข้าใจแนวทางเลย นำมานั่งงมเองอยู่พักนึง เลยๆๆๆๆ อิอิ
ยังไม่ค่อยถนัด จาวา เท่าไหร่เลย แต่ก็พอ มั่วๆ ไปได้ เหอๆๆๆๆๆๆๆๆๆๆๆ
อยากแนะนำตรงไหนก็บอกกันได้นะครับ
[code]
//program writes by Neverdie_bo
Edkung_
22-11-2008, 01:22 PM
ยังไม่ได้ run code นะครับ แบบว่าขี้เกียจลง java compiler
แต่ขอติหน่อยนึง
[code]public static int[][] Status=new int[9][9];
Neverdie_bo
22-11-2008, 04:16 PM
[code]public static int[][] Status=new int[9][9];
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions Inc. All rights reserved.