Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

καλησπερα μας ζητηθηκε να κανουμε ναυμαχία στην visual basic σε console aplication με βάση τον παρακατω κωδικα του ναρκαλιευτη Module Module1

'Ο Πίνακας Game υλοποιεί όλη τη λογική του παιχνιδιού του Ναρκαλιευτή

Dim Game(10, 10) As SByte, narkes As Byte

 

Sub Main()

Console.Write("Πόσες νάρκες να τοποθετήσω? ")

narkes = Console.ReadLine

Call putNarkes() 'Τοποθετεί τυχαία τις νάρκες που ζήτησε ο χρήστης στον πίνακα Game

Call putNumbers() 'Τοποθετεί τους αριθμούς στα υπόλοιπα τετράγωνα του πίνακα Game

Call printTableGame() 'Κάνει μια εκτύπωση του πίνακα Game στο παράθυρο Console

Console.ReadLine()

End Sub

 

Sub putNarkes()

'Τοποθετεί τυχαία τις νάρκες που ζήτησε ο χρήστης στον πίνακα Game

Dim i, x, y As Byte, rndObject As New Random()

For i = 1 To narkes

Do

x = rndObject.Next(0, 11) 'παράγει έναν τυχαίο αριθμό στο διάστημα [0,10] για το x

y = rndObject.Next(0, 11) 'παράγει έναν τυχαίο αριθμό στο διάστημα [0,10] για το y

Loop Until Game(x, y) <> -1

Game(x, y) = -1

Next

End Sub

 

Sub putNumbers()

'Τοποθετεί τους αριθμούς στα υπόλοιπα τετράγωνα του πίνακα Game

Dim i, j, ii, jj, ia, ib, ja, jb As Byte

For i = 0 To 10

For j = 0 To 10

'Αν υπάρχει νάρκη πρόσθεσε μια μονάδα σε όλα τα διπλανά τετράγωνα

If Game(i, j) = -1 Then

'Ψάχνουμε την περιοχή-ορθογώνιο από i-1,j-1 έως i+1,j+1 όπου i-1,j-1>=0 & i+1,j+1<=10

ia = IIf(i = 0, 0, i - 1) 'προσέχω μη βγω έξω από τον πίνακα - από πάνω

ib = IIf(i = 10, 10, i + 1) 'προσέχω μη βγω έξω από τον πίνακα - από κάτω

ja = IIf(j = 0, 0, j - 1) 'προσέχω μη βγω έξω από τον πίνακα - από αριστερά

jb = IIf(j = 10, 10, j + 1) 'προσέχω μη βγω έξω από τον πίνακα - από δεξιά

For ii = ia To ib

For jj = ja To jb

If Game(ii, jj) <> -1 Then Game(ii, jj) = Game(ii, jj) + 1

Next

Next

End If

Next

Next

End Sub

 

Sub printTableGame()

'Κάνει μια εκτύπωση του πίνακα Game στο παράθυρο Console

Dim i, j As Byte

For i = 0 To 10

For j = 0 To 10

If Game(i, j) < 0 Then

' Το space(2) αφήνει 2 κενά κατά την εκτύπωση

Console.Write(Space(2) & "{0}", Game(i, j))

Else

' Το space(3) αφήνει 3 κενά κατά την εκτύπωση

Console.Write(Space(3) & "{0}", Game(i, j))

End If

Next

Console.WriteLine()

Next

End Sub

End Module

 

 

μπορειτε να μου δωσετε μια βοηθεια γιατι αν και το εψαξα δεν το εχω με τον προγραμματισμο.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...