Send a PR on GitHub

progintro @ dit


Εισαγωγή

Το παρακάτω πρόγραμμα γράφτηκε σε γλώσσα C και αποτελεί ένα απλό πρόγραμμα που προσομοιάζει μια στρατηγική για το παιχνίδι “Prisoner’s Dilemma”

Το πρόγραμμα επιλέγει και εμφανίζει την κίνησή του, C ή D, και ανταλλάσσει κινήσεις με έναν αντίπαλο.

Πώς Λειτουργεί

Το πρόγραμμα επιλέγει αρχικά ‘C’ και το εμφανίζει στην οθόνη.

Ακολουθεί μια ανταλλαγή κινήσεων με έναν αντίπαλο, με τον παίκτη να επιλέγει κινήσεις (‘C’ ή ‘D’) κατά τη διάρκεια του παιχνιδιού. Το πρόγραμμα μπορεί να παίξει εναντίον ενός χρήστη ή ενός παρόμοιου προγράμματος.

Στρατηγική του Προγράμματος

Η στρατηγική του προγράμματος είναι σχεδόν Tit - For - Tat, δηλαδή ξεκινάει με συνεργασία και στη συνέχεια, κάνει ό,τι έκανε ο αντίπαλος στον προηγούμενο γύρο. Αν το πρόγραμμα ανιχνεύσει ότι ο παίκτης είναι επιθετικός, π.χ. παίξει δύο συνεχόμενες φορές D, παίζει και αυτό D, μέχρι ο αντίπαλος να υποχωρήσει. Περιλαμβάνει και την περίπτωση συγχώρεσης, όπου όταν το Tit - Fot - Tat χαλάσει, παίζει μία φορά C αντί για D, για να αποφευχθεί το αλλεπάλληλο ασυγχρόνιστο Tit - For - Tat. Περιλαμβάνει και έλεγχο ώστε το πρόγραμμα να παίζει τουλάχιστον μία φορά C και μία φορά D ανά 1000 γύρους. Σε γενικές γραμμές, είναι πολύ απλή στρατιγική, αλλά και αποτελεσματική!

Πώς να Χρησιμοποιήσετε το Πρόγραμμα

Συντάξτε τον κώδικα σε ένα αρχείο με κατάληξη .c.

Χρησιμοποιήστε έναν compiler C για να μεταγλωττίσετε το πρόγραμμα, με την εντολή

gcc -Os -Wall -Wextra -Werror -pedantic -o coop coop.c -lm

Εκτελέστε το παραγόμενο εκτελέσιμο αρχείο, και παίξτε!

Σημείωση

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

Καλή διασκέδαση και πειραματισμό!