Forum

[VisualBasic] Nieprawidłowości w dziąłaniu programu szachowego

[+] Twoje konto

Subskrybuj kanał najnowszych wypowiedzi w tym temacie

Wątek Forum > Porady > Programowanie > [VisualBasic] Nieprawidłowości w dziąłaniu programu szachowego

Idź do strony:1
Ocena: (Ocen: 0)
Wypowiedzi 1 - 4 z 4
 Gość gunis232 Kopiuj nick (83.22.70.*)
Wypowiedź dodana: 23 czerwca 2010, 21:33:51 | Wypowiedź edytowana Ostatnio edytowana: 23 czerwca 2010, 22:15:49 po raz 1-wszy przez: Dżyszla
« Opcje

Moderowane przez Dżyszla :

Przeniesione, dodany znacznik kodu

Public Class Form1
Dim pozycja_hetmana(8) As Integer
Dim tablica_wynikow(8, 0) As Integer
Dim wiersz(8) As Boolean
Dim przekatna_lewo(16) As Boolean
Dim przekatna_prawo(16) As Boolean
Dim pola(8, 8) As Label
Dim rozwiazanie As Integer
Dim numer As Integer

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i, j, k As Byte
Dim kolor() As Color = New Color() {Color.White, Color.DarkGray}
For i = 0 To 8
For j = 0 To 8

pola(i, j) = New Label()
With pola(i, j)
.Width = 40
.Height = 40
.Left = i * 40
.Top = j * 40
.TextAlign = ContentAlignment.MiddleCenter
.Font = New System.Drawing.Font("Verdana", 11, System.Drawing.FontStyle.Bold)

If i > 0 And j > 0 Then
k = (i + j) Mod 2
.BackColor = kolor(k)

ElseIf i = 0 And j > 0 Then
.Text = j
ElseIf j = 0 And i > 0 Then
.Text = i
End If
End With
Controls.Add(pola(i, j))
Next
Next

End Sub

Sub czysc()
Dim i, j As Integer
For i = 1 To 8
For j = 1 To 8
pola(i, j).Text = ""
Next
Next
End Sub
Sub wyswietl_wynik(ByVal numer_rozwiazania As Integer)
Dim i, j As Integer

For i = 1 To 8
If rozwiazanie = 1 Then
j = pozycja_hetmana(i)
ElseIf rozwiazanie = 2 Then
i = tablica_wynikow(i, numer_rozwiazania)
End If

pola(i, j).Text = "H"
Next

End Sub
Sub sprawdzaj(ByVal kolumna As Integer, ByRef koniec As Boolean)
Dim pomoc As Integer = 0
Do
pomoc += 1
koniec = False

If wiersz(pomoc) And przekatna_lewo(kolumna + pomoc) And przekatna_prawo(kolumna - pomoc + 8) Then
pozycja_hetmana(kolumna) = pomoc
wiersz(pomoc) = False
przekatna_lewo(kolumna + pomoc) = False
przekatna_prawo(kolumna - pomoc + 8) = False

If kolumna < 8 Then
sprawdzaj(kolumna + 1, koniec)

If Not koniec Then
wiersz(pomoc) = True
przekatna_lewo(kolumna + pomoc) = True
przekatna_prawo(kolumna - pomoc + 8) = True
End If

Else
koniec = True
End If
End If

Loop Until koniec Or pomoc = 8
End Sub

Sub sprawdzaj_wszystkie(ByVal kolumna As Integer)
Dim pomoc As Integer
For pomoc = 1 To 8
If wiersz(pomoc) And przekatna_lewo(kolumna + pomoc) And przekatna_prawo(kolumna - pomoc + 8) Then
pozycja_hetmana(kolumna) = pomoc
wiersz(pomoc) = False
przekatna_lewo(kolumna + pomoc) = False
przekatna_prawo(kolumna - pomoc + 8) = False

If kolumna < 8 Then
sprawdzaj_wszystkie(kolumna + 1)
Else
numer += 1
zapisz_wynik(numer)
End If
wiersz(pomoc) = True
przekatna_lewo(kolumna + pomoc) = True
przekatna_prawo(kolumna - pomoc + 8) = True
End If
Next
End Sub

Sub zapisz_wynik(ByVal numer As Integer)
Dim i As Integer
For i = 1 To 8
ReDim Preserve tablica_wynikow(8, numer)
tablica_wynikow(i, numer) = pozycja_hetmana(i)
Next
End Sub

End Class

w tym programie jest coś nie tak z procedurą wyswietl wynik może ktoś pomoże

 Gość REKLAMA Kopiuj nick (*->*)
Wypowiedź dodana: 23 czerwca 2010, 21:33:52

AvatarAdministrator Dżyszla Mężczyzna Kopiuj nick (83.2.108.*) |  
Wypowiedź dodana: 23 czerwca 2010, 22:15:04
« Opcje

A co rozumiesz pod pojęciem "coś nie tak?"


mgr inż. Dżyszla

Nie odpisuję na problemy zgłaszane na e-mail lub PW!

 Gość gumis232 Kopiuj nick (83.22.83.*)
Wypowiedź dodana: 25 czerwca 2010, 07:48:14 | Wypowiedź edytowana Ostatnio edytowana: 25 czerwca 2010, 07:53:46 po raz 1-wszy
« Opcje

Program z założenia powinien wyświetlać na szachownicy wszystkie możliwe rozwiązania a wyświetla 1. Pokazuje komunikat że znalaz 92 ale po zmianie numeru dalej pokazuje te same rozwiązanie

*** Dodano o 07:53:46: *** (Autoscalanie)

http://webcache.googleusercontent.com/search?q=cache:m8M1Ua0wXSoJ:www.otwartaszkola.edu.pl/upload/biuletyn/zadania/Kompendium_programisty_3_JB.doc+jak+napisa%C4%87+program+8+hetman%C3%B3w&cd=11&hl=pl&ct=clnk&gl=pl

to jest link do strony z której był pisany program

AvatarAdministrator Dżyszla Mężczyzna Kopiuj nick (83.2.108.*) |  
Wypowiedź dodana: 25 czerwca 2010, 18:38:11
« Opcje

proponuję sprawdzić przebieg działania pod debuggerem. Tak z kodu na dodatek nie mając projektu formy trudno jest wychwycić.


mgr inż. Dżyszla

Nie odpisuję na problemy zgłaszane na e-mail lub PW!

 
Idź do strony:1

[+] Pokaż/odśwież listę czytających i monitorujących ten wątek

Podobne tematy:
Tytuł wątkuDziałWypowiedziWyświetleńOcenaOstatnia wypowiedź
WątekZabezpieczenie programu przed kopiowaniem
Jak uniemożliwić skopiowanie programu
Porady / Programowanie7446 21.08.2013 08:23:36
WątekUnRAR
Komentarze dotyczące programu UnRAR (program twórcy programu WinRAR)
Komentarze / Moje programy i teksty82 298 16.01.2006 10:32:15
Ważne!WątekLogi
Masz log z jakiegoś programu, ale nie wiesz, jak go czytać i co z niego wynika? Wrzuć go tutaj i poproś o pomoc!
Logi programu HijackThis możesz sprawdzić także na stronie www.hijackthis.de!
Porady / Oprogramowanie, systemy operacyjne454 501 14.03.2010 15:24:42
RozwiązaneWątek zamkniętyProgram w menu wyboru systemu
Windows 98 i Subiekt 4 - dopisanie programu do menu systemowego
Porady / Oprogramowanie, systemy operacyjne7342 20.08.2009 08:10:36
WątekLED
Komentarze dotyczące programu LED
Komentarze / Moje programy i teksty7354 31.07.2005 12:56:15

Nowa wypowiedź

Nowa wypowiedź
Nie jesteś zalogowany; będziesz traktowany jako gość!
Zaloguj Zaloguj
Nick (gość): | Przepisz ten kod [?]: 98201:
Tekst:

 
* Wysyłając formularz wyrażasz zgodę na przetwarzanie przekazanych danych w zakresie wskazanym w Regulaminie

Subskrybuj kanał najnowszych wypowiedzi w tym temacie


Chcesz mieć też takie forum na swojej stronie? Napisz!

Strona istnieje od 25.01.2001
Ta strona używa plików Cookie.
Korzystając z niej wyrażasz zgodę na przetwarzanie danych a zakresie podanym w Polityce Prywatności.
Helion.pl  
archive To tylko kopia strony wykonana przez robota internetowego! Aby wyświetlić aktualną zawartość przejdź do strony.

Optymalizowane dla przeglądarki Firefox
© Copyright 2001-2018 Dawid Najgiebauer. Wszelkie prawa zastrzeżone.
Ostatnia aktualizacja podstrony: 15.07.2018 16:27
Wszystkie czasy dla strefy czasowej: Europe/Warsaw