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

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

Δημοσ. (επεξεργασμένο)

Καλησπέρα,

 

Έφτιαξα ένα κλώνο του κλασσικού ναρκαλιευτή σε C(ισως με κάποια features από C++ βεβαια, αλλα νομίζω ως επι το πλείστον είναι C). Ο στόχος μου ήταν να το κάνω όσο το δυνατόν πιο κοντά σε feel στον κλασσικο ναρκαλιευτή των windows xp, και νομίζω ως ενα μεγάλο βαθμό το έχω καταφέρει.

 

Ανεβάζω το executable(δείτε σε virustotal αν θέλετε οτι ειναι οκ). Ρίξτε μια ματιά αν θέλετε για bugs ή οτιδήποτε άλλο feedback.

 

Πέρα από τα κλασσικά του ναρκαλιευτή μπορειτε να αλλάξετε το μέγεθος του παιχνιδιού με τα βελάκια στο πληκτρολόγιο, με τα + και - τον αριθμό ναρκών, και με το * να προτείνει αυτόματα νάρκες με βάση το μέγεθος του παιχνιδιού.

 

Η 32bit έκδοση θα πρέπει λογικά να παίζει και σε windows xp οπότε αν έχει κάποιος xp και μπορεί να το ελέγξει θα ημουν ευγνώμων.

 

32bit: https://www.dropbox.com/s/1xpv26cw9zakng8/Minesweeper_x86.exe?dl=0

64bit: https://www.dropbox.com/s/pagvus7ohsu0j4y/Minesweeper.exe?dl=0

 

 

Known issues:

1) Γίνεται να χάσεις από το 1 κλικ

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

 

Κάποια στιγμή(ελπίζω σύντομα) θα ανεβάσω και τον κώδικα του παιχνιδιού εδώ.

 

Ευχαριστω!

 

edit:

Ορίστε και ο κώδικας για όποιον θέλει να ρίξει μια ματιά

https://www.dropbox.com/sh/h7746ctrcwts7i1/AADFdc56at1J9VL-07-jdBMwa?dl=0

 

Any feedback welcome ;)

Επεξ/σία από bnvdarklord
  • Like 6
  • Απαντ. 106
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Δημοσ.

Αν και δεν ξέρω πως παίζεται αυτο το παιχνίδι (I know, υπάρχει από την εποχή των Windows 3.1 νομίζω :P) δείχνει να λειτουργεί οκ και σε 32 και σε 64 μπιτ.

 

Ωραίος!

 

Το μόνο που παρατήρησα είναι πως κάθε φορά οι νάρκες βγαίνουν στα ίδια σημεία (μήπως το έχεις αφήσει έτσι για να σε διευκολύνει στο debug?)

  • Like 1
Δημοσ.
  Στις 3/3/2015 στις 12:08 ΜΜ, defacer είπε

Y U no Github?  :)

 

Ναι, δεν ξέρω βαριέμαι να στήνω repos όταν φτιάχνω κάτι μόνος μου(αν και σίγουρα γίνεται κάπως αυτόματα από το VS)

 

  Στις 3/3/2015 στις 12:33 ΜΜ, παπι είπε

Σε το εχεις γραψει; pure gdi?

Ναι(αν και δεν είμαι σίγουρος τι εννοεις με το "pure"). Ουσιαστικά το μόνο που χρησιμοποιεί από gdi είναι το StretchDIBits του buffer στο παράθυρο(και 2 PatBlt για τα black borders.)

 

 

  Στις 3/3/2015 στις 12:59 ΜΜ, migf1 είπε

Αν και δεν ξέρω πως παίζεται αυτο το παιχνίδι (I know, υπάρχει από την εποχή των Windows 3.1 νομίζω :P) δείχνει να λειτουργεί οκ και σε 32 και σε 64 μπιτ.

 

Ωραίος!

Thanks! Δεν είναι και τίποτα δύσκολο, οι αριθμοί απλά σου λένε πόσες νάρκες είναι γύρω τους. Τα υπόλοιπα είναι θέμα λογικής.

 

  Εμφάνιση κρυμμένου περιεχομένου

 

 

  Στις 3/3/2015 στις 12:59 ΜΜ, migf1 είπε

Το μόνο που παρατήρησα είναι πως κάθε φορά οι νάρκες βγαίνουν στα ίδια σημεία (μήπως το έχεις αφήσει έτσι για να σε διευκολύνει στο debug?)

Εμένα αλλάζουν κάθε φορά. Είσαι σίγουρος ότι σε εσένα μένουν στα ίδια σημεία; Αν ναι θα έχει ενδιαφέρον να μάθουμε το γιατί.

Δημοσ. (επεξεργασμένο)
  Στις 3/3/2015 στις 2:16 ΜΜ, bnvdarklord είπε

Ναι, δεν ξέρω βαριέμαι να στήνω repos όταν φτιάχνω κάτι μόνος μου(αν και σίγουρα γίνεται κάπως αυτόματα από το VS)

Δικός μου είσαι εσύ :) Και το ζιπ μια χαρά είναι!

 

  Αναφορά σε κείμενο

Thanks! Δεν είναι και τίποτα δύσκολο, οι αριθμοί απλά σου λένε πόσες νάρκες είναι γύρω τους. Τα υπόλοιπα είναι θέμα λογικής.

 

  Εμφάνιση κρυμμένου περιεχομένου

 

Και ο σκοπός ποιος είναι; Να ανοιχτεί όλος ο χάρτης χωρίς μπουμ;

 

  Αναφορά σε κείμενο

Εμένα αλλάζουν κάθε φορά. Είσαι σίγουρος ότι σε εσένα μένουν στα ίδια σημεία; Αν ναι θα έχει ενδιαφέρον να μάθουμε το γιατί.

 

Ναι, έχεις δίκιο. Τώρα που το δοκίμασα πάλι αλλάζουν. Ποιος ξέρει, μάλλον ήμουν τελείως κουνουπίδι χτες που το κοίταξα (έπαιζα banished κι είχα λαλήσει... έφτασα 700 citizens και έχουν ζορίσει τα πράγματα :lol: )

 

 

  Εμφάνιση κρυμμένου περιεχομένου

 

Επεξ/σία από migf1
Δημοσ.
  Στις 3/3/2015 στις 2:28 ΜΜ, migf1 είπε

Και ο σκοπός ποιος είναι; Να ανοιχτεί όλος ο χάρτης χωρίς μπουμ;

Ακριβώς, όταν ανοίξεις τα πάντα εκτός από τις νάρκες κερίζεις.

 

  Στις 3/3/2015 στις 2:28 ΜΜ, migf1 είπε

btw, τι παιχνιδάρα που είναι το banished! ... κι αυτό σε C++, φτιαγμένο από έναν μόνον άνθρωπο, ούτε έτοιμες μηχανές ούτε τίποτα... respect ο τύπος... 2 χρόνια λέει του πήρε, αλλά τον περισσότερο χρόνο τον έφαγε στο artwork και όχι στον κώδικα).

Κάτι μου λεει πως θα εκτιμήσεις αυτή τη προσπάθεια: https://handmadehero.org (σκρόλλαρε για το faq). Απο εκεί ουσιαστικά πήρα το motivation να φτιάξω το ναρκαλιευτή σε C χωρίς να βασίζομαι σε έτοιμα πράγματα. Και τελικά ήταν πολύ πιο έυκολο από ότι περίμενα.

  • Like 1
Δημοσ. (επεξεργασμένο)

 

  Εμφάνιση κρυμμένου περιεχομένου

 

Επεξ/σία από migf1
  • Like 2
Δημοσ.
  Στις 3/3/2015 στις 2:16 ΜΜ, bnvdarklord είπε

Ναι, δεν ξέρω βαριέμαι να στήνω repos όταν φτιάχνω κάτι μόνος μου(αν και σίγουρα γίνεται κάπως αυτόματα από το VS)

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

 

Δεν είσαι βέβαια υποχρεωμένος να το κάνεις, αλλά μιλάμε για κάτι ανάξιο λόγου όσον αφορά το πόσο εύκολα γίνεται. Πριν ξεκινήσεις να γράφεις κώδικα απλά

git init

και αυτό ήταν. Όταν μετά κάποια στιγμή αποφασίσεις να το βάλεις online τότε μία φορά δίνεις

 

git remote add origin online-repo-address.git

και όποτε θες να ενημερώσεις το online απλά git push (με επιπλέον -u origin master την πρώτη φορά μόνο).

 

Σοβαρά τώρα αν δεν το δουλέψεις ο ίδιος δε μπορείς να καταλάβεις. Το zip που λέει ο migf1 θέλει να ασχοληθείς παραπάνω χρόνο για να πετύχεις πολύ χειρότερο αποτέλεσμα.

 

  Στις 3/3/2015 στις 2:16 ΜΜ, bnvdarklord είπε

Εμένα αλλάζουν κάθε φορά. Είσαι σίγουρος ότι σε εσένα μένουν στα ίδια σημεία; Αν ναι θα έχει ενδιαφέρον να μάθουμε το γιατί.

 

Αν το είχες github θα ήταν ίσως εύκολο να δούμε το γιατί.  ;)

  • Like 3
Δημοσ.

Και να μπεις από νωρίς στο κλίμα του να γράφεις ωραία μηνύματα εξηγώντας τι κάνεις (άσχετα αν "εισάγει overhead στον προγραμματιστή").

 

Είναι κρίμα να βλέπεις repos με commits "initial add" -> "update tree" -> "update tree again".

  • Like 1
Δημοσ.
  Στις 3/3/2015 στις 6:50 ΜΜ, defacer είπε

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

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

 

  Στις 3/3/2015 στις 6:50 ΜΜ, defacer είπε

Αν το είχες github θα ήταν ίσως εύκολο να δούμε το γιατί.

(Αν και τελικα δεν υπήρχε το bug) Πώς ακριβώς θα βοηθούσε το source control στο να δούμε τι φταίει vs αν ήταν ο κώδικας σκέτος ανεβασμένος κάπου;

  • Like 1
Δημοσ. (επεξεργασμένο)

Εγώ είμαι μαζί σου για το Git! Μην μασάς!

 

 

  Εμφάνιση κρυμμένου περιεχομένου

 

Επεξ/σία από migf1
Δημοσ.
  Στις 3/3/2015 στις 11:51 ΜΜ, migf1 είπε

ΥΓ. Μόνο που αντί για TCHAR καλεί directly τα ANSI functions του win32 api :P

Δεν έχω ίδεα τι ειναι αυτό αλλά σε όσα email του έχω στειλει με απορίες/ερωτήσεις/σχόλια απαντάει κανονικά πάντως αν θες :P

Δημοσ. (επεξεργασμένο)

 

  Εμφάνιση κρυμμένου περιεχομένου

 

Επεξ/σία από migf1
Δημοσ. (επεξεργασμένο)
  Εμφάνιση κρυμμένου περιεχομένου

Επεξ/σία από bnvdarklord

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

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

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

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

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

Σύνδεση

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

Συνδεθείτε τώρα

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