Mastermind
Számkitaláló játék
|
a MasterMind játék algoritmikus megoldása Részletek...
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
Adatszerkezetek | |
struct | Response |
egy választ tároló típus Részletek... | |
Enumerációk | |
enum | { NUM_COLORS = 10, NUM_PEGS = 4, N0 = 10000 } |
egész konstansok Részletek... | |
Függvények | |
void | printResponse (Response r) |
egy válasz kiírása a képernyőre Részletek... | |
int | isSameResponse (Response r1, Response r2) |
két válasz megegyezik-e Részletek... | |
void | digits (int a, int d[]) |
egész szám jegyeinek előállítása Részletek... | |
Response | common_digits (int guess, int secret) |
tipp és titkos szám közös jegyeinek meghatározása Részletek... | |
int | filter (int S[], int N, int guess, Response response) |
Lehetséges megoldások halmazának szűrése tipp és válasz alapján. Részletek... | |
int | weight (int S[], int N, int guess, Response response) |
tipp súlya egy adott válasz esetén Részletek... | |
int | worstWeightOfGuess (int S[], int N, int guess) |
tipp maximális súlya minden lehetséges válasz esetére Részletek... | |
int | findBestGuess (int S[], int N) |
legjobb tipp kikeresése az S halmazból Részletek... | |
int | main (void) |
a főprogram | |
a MasterMind játék algoritmikus megoldása
Definíció a(z) mastermind.c fájlban.
anonymous enum |
egész konstansok
Enumeráció-értékek | |
---|---|
NUM_COLORS | színek száma |
NUM_PEGS | számjegyek száma |
N0 | összes lehetséges választás. |
Definíció a(z) mastermind.c fájl 9. sorában.
Response common_digits | ( | int | guess, |
int | secret | ||
) |
tipp és titkos szám közös jegyeinek meghatározása
[in] | guess | a tipp |
[in] | secret | a titkos szám |
Definíció a(z) mastermind.c fájl 54. sorában.
Hivatkozások Response::black, digits(), NUM_PEGS és Response::white.
void digits | ( | int | a, |
int | d[] | ||
) |
egész szám jegyeinek előállítása
[in] | a | az egész szám |
[out] | d | a számjegyek tömbjének kezdőcíme |
Definíció a(z) mastermind.c fájl 41. sorában.
Hivatkozások NUM_COLORS és NUM_PEGS.
Hivatkozások: common_digits().
int filter | ( | int | S[], |
int | N, | ||
int | guess, | ||
Response | response | ||
) |
Lehetséges megoldások halmazának szűrése tipp és válasz alapján.
[in] | S | a megoldástömb kezdőcíme |
[in] | N | a tömb mérete |
[in] | guess | a tipp |
[in] | response | a válasz |
Definíció a(z) mastermind.c fájl 88. sorában.
Hivatkozások common_digits() és isSameResponse().
Hivatkozások: main().
int findBestGuess | ( | int | S[], |
int | N | ||
) |
legjobb tipp kikeresése az S halmazból
[in] | S | a megoldástömb kezdőcíme |
[in] | N | a tömb mérete |
Definíció a(z) mastermind.c fájl 139. sorában.
Hivatkozások worstWeightOfGuess().
Hivatkozások: main().
két válasz megegyezik-e
[in] | r1 | az első válasz |
[in] | r2 | a második válasz |
Definíció a(z) mastermind.c fájl 33. sorában.
Hivatkozások Response::black és Response::white.
void printResponse | ( | Response | r | ) |
egy válasz kiírása a képernyőre
[in] | r | a válasz |
Definíció a(z) mastermind.c fájl 24. sorában.
Hivatkozások Response::black és Response::white.
Hivatkozások: main().
int weight | ( | int | S[], |
int | N, | ||
int | guess, | ||
Response | response | ||
) |
tipp súlya egy adott válasz esetén
[in] | S | a megoldástömb kezdőcíme |
[in] | N | a tömb mérete |
[in] | guess | a tipp |
[in] | response | a válasz |
Definíció a(z) mastermind.c fájl 104. sorában.
Hivatkozások common_digits() és isSameResponse().
Hivatkozások: worstWeightOfGuess().
int worstWeightOfGuess | ( | int | S[], |
int | N, | ||
int | guess | ||
) |
tipp maximális súlya minden lehetséges válasz esetére
[in] | S | a megoldástömb kezdőcíme |
[in] | N | a tömb mérete |
[in] | guess | a tipp |
Definíció a(z) mastermind.c fájl 119. sorában.
Hivatkozások Response::black, NUM_PEGS, weight() és Response::white.
Hivatkozások: findBestGuess().