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

Ναρκαλιευτής


thanos713

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

Δημοσ.

Καλησπέρα.

Φτιάχνω έναν ναρκαλιευτή και είμαι σχεδόν στο τέλος, το μόνο που μένει είναι να ανοίγει τα τριγύρω τετραγωνάκια όταν κάνεις κλικ. Το θέμα είναι όμως ότι πόσα τριγύρω πρέπει να ανοίξει; Δεν έχω καταλάβει πόσα ανοίγουν και πότε ανοίγουν... Ξέρει κανείς;

 

ΥΣ. Δεν ζητάω κώδικα, τους κανόνες του παιχνιδιού ζητάω...

Δημοσ.

Το 1 σημαίνει ότι εκεί δίπλα υπάρχει 1 βόμβα, το 2 σημαίνει ότι υπάρχουν εκεί δίπλα 2 βόμβες κ.λ.π. Απλά άμα πετύχεις κάπου που δεν υπάρχει νούμερο, θέλω να μάθω με ποια λογική φτάνει στο να εμφανίζει τα νούμερα...

Δημοσ.

Ο αριθμός δείχνει πόσες νάρκες υπάρχουν στα τετράγωνα που εφάπτονται με το αυτό τετράγωνο. Εάν δεν υπάρχει καμία νάρκη στα 8 διπλανά τετράγωνα τότε δεν έχει αριθμό. Όταν κλικάρει κανείς πάνω σε ένα τέτοιο τετράγωνο, τότε, παράλληλα με αυτό, ανοίγει και όποιο τετραγωνάκι εφάπτεται με το αρχικό και δεν έχει γύρω του καμία νάρκη, εν συνεχεία γίνεται ο ίδιος ο έλεγχος και για τα 8 εφαπτόμενα τετράγωνα του δεύτερου τετραγώνου κ.ο.κ. Ο κύκλος σταματάει μόλις βρεθεί τετράγωνο το οποίο περιέχει αριθμό.

Δημοσ.

Δηλαδή πες ότι έχουμε αυτό:

>
002001
102201
011102

(δεν στέκει, απλά πες ότι υπάρχει), και πατήσουμε στο

>
002001
100[b]0[/b]01
011002
011102

θα γίνει έτσι:

>
002  1
1    1
011  2
0111 2

;

Δημοσ.

Δεν καταλαβαίνω τι κάνεις... :P

 

Imho, (εφόσον μιλάμε για δυσδιάστατο περιβάλλον) εάν τα τετράγωνα που έχεις στο παιχνίδι είναι ένα Object το καθένα, θα μπορούσες να τα φτιάξεις να κρατάνε ένα value του αριθμού των ναρκών δίπλα, ενώ με μια μεταβλητή να φαίνεται αν είναι νάρκη ή απλό τετράγωνο. Αν ένα τετράγωνο έχει μέγεθος π.χ. 32χ32, θα μπορούσες να βρίσκεις κάθε φορά τον αριθμό των ναρκών γύρω με ένα απλό έλεγχο στα τετράγωνα που βρίσκονται στο

 

x+32,y

x-32,y

x-32,y-32

x-32,y+32

x+32,y-32

x+32,y+32

x,y-32

x,y+32

 

(Τα x και y είναι relative με το κάθε αντικείμενο)

 

Κατόπιν χρησιμοποιώντας όσα είπα πάνω, ανοίγεις όσα τετράγωνα έχουν value > 0, ενώ κάνεις τον ίδιο έλεγχο (και εξαφανίζεις) για όσα έχουν value 0 (κενά).

 

Υ.Γ. τώρα κατάλαβα το παράδειγμα σου... Απλά θα χαθούν όλα τα 0, ενώ θα εμφανιστούν όσα από τα 1,2 είναι κρυφά ακόμη, και εφάπτονται με ένα τετράγωνο που είναι 0 και εξαφανίστηκε. Δλδ σωστά το έκανες.

Δημοσ.

Αυτό περίπου θα κάνω, μόνο που δεν μου απάντησες αν θα γίνει έτσι το σχήμα, αυτό με καίει, το πως θα γίνει είναι απλό...

Δημοσ.

Αυτό περίπου θα κάνω, μόνο που δεν μου απάντησες αν θα γίνει έτσι το σχήμα, αυτό με καίει, το πως θα γίνει είναι απλό...

 

Ναι, σωστά το έκανες. Παίξε λίγο ναρκαλιευτή στα windows, και βάλε μεγάλο room με λίγες νάρκες... Θα το καταλάβεις εντός 5λέπτου...

Δημοσ.

screenshotjm.png

 

Ο αλγόριθμος δουλέυει σωστά, το λάθος έγινε στο κόκκινο τετράγωνο... Αυτό που δεν σκευφτήκαμε πρίν, είναι να μην τσεκάρει τα διαγώνια, εφόσον αυτά βρίσκονται ανάμεσα σε 2 που περιέχουν αριθμό... Το κόκκινο δλδ να μην ληφθεί υπόψη...

Δημοσ.

Ο αλγόριθμος δουλέυει σωστά, το λάθος έγινε στο κόκκινο τετράγωνο... Αυτό που δεν σκευφτήκαμε πρίν, είναι να μην τσεκάρει τα διαγώνια, εφόσον αυτά βρίσκονται ανάμεσα σε 2 που περιέχουν αριθμό... Το κόκκινο δλδ να μην ληφθεί υπόψη...

Όχι δεν έγινε λάθος. Πρέπει να ανοίξουν και όλα τα διαγώνια τετράγωνα. Αλλιώς στο παρακάτω παράδειγμα τα δύο "3" θα ήταν κλειστά ακόμα. Κάτι που δεν ισχύει στον ναρκαλιευτή.

minesx.png

Δημοσ.

Φτοιάξε και ένα κρυφό συνδυασμό πλήκτρων όπου όταν τον ενεργοποιείς , στην πάνω αριστερή γωνία να εμφανίζεται μια πολύ μικρή κουκίδα όπως το αντίστοιχο cheat του κλασικού ναρκαλιευτή που όταν το mouse βρίσκεται πάνω από κουτάκι που δεν έχει ακόμα ανοιχτεί αλλά είναι νάρκη εμφανίζεται μαύρη κουκίδα και όταν δεν έχει νάρκη εμφανίζεται άσπρη κουκίδα...

Και για όσους δεν το γνωρίζουν στον κανονικό ναρκαλιευτή η ενεργοποίηση του συγκεκριμένου cheat γίνεται εαν πατήσεις με τη σειρά τα πλήκτρα :

x,y,z,z,y,Shift,Enter,Enter

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...