|
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().
1.8.17