Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- #include <unistd.h>
- #define clearScreen() system("clear")
- char userSzo[100];
- char szo[100];
- char rosszBetuk[11];
- int rosszBetukIndex=0;
- int hibaPont = 0;
- char bekertChar;
- //Megnézi, hogy a szóban csak karakterek vannak-e
- void szoEllenorzes(){
- while(1){
- int hiba=0;
- int i=0;
- for (i=0;szo[i]!=0;i++){
- if (!(szo[i]>='a'&& szo[i]<='z')||(szo[i]>='A' && szo[i]<='Z')){
- hiba++;
- break;
- }
- }
- //Ha talált hibás karaktert
- if (hiba==0){
- break;
- }
- //Ha NEM talált hibás karaktert
- else{
- clearScreen();
- akasztofaRajzol();
- printf("Csak az angol ábécé kis- és nagybetűit használhatod! Add meg újra a szót!\n");
- //gets(szo);
- scanf("%s", szo);
- clearScreen();
- akasztofaRajzol();
- }
- }
- }
- //Megnézi, hogy megadta-e már az adott betűt, és helyes-e!
- void betuEllenorzes(){
- while (1){
- int rosszChar=0;
- if(!((bekertChar>='a' && bekertChar<='z')||(bekertChar>='A' && bekertChar<='Z'))){
- clearScreen();
- akasztofaRajzol();
- printf("Csak az angol ábécé kis- és nagybetűit használhatod! Add meg újra a következő betűt!\n");
- scanf("%c", &bekertChar);
- clearScreen();
- akasztofaRajzol();
- rosszChar++;
- }
- //ELSEÁG
- int i;
- int voltMar=0;
- //Megnézi a jók között
- for (i=0;userSzo[i]!=0;i++){
- if (userSzo[i]==bekertChar){
- ++voltMar;
- break;
- }
- }
- //Megnézi a hibásak között
- for (i=0;rosszBetuk[i]!=0;i++){
- if (rosszBetuk[i]==bekertChar){
- ++voltMar;
- break;
- }
- }
- //Ha előtte már meg lett adva a betű
- if(voltMar){
- clearScreen();
- akasztofaRajzol();
- printf("Ezt a betűt már megadtad! Adj meg egy másik betűt!\n");
- scanf("%c", &bekertChar);
- clearScreen();
- akasztofaRajzol();
- }
- else if (voltMar==0 && rosszChar==0){
- break;
- }
- }
- }
- //Rossz betűk kiíratása
- void rosszBetukKiir(){
- int j;
- for (j=0;rosszBetuk[j]!=0;j++){
- if (rosszBetuk[j+1]!=0){
- printf("%c, ", rosszBetuk[j]);
- }
- else{
- printf("%c", rosszBetuk[j]);
- }
- }
- printf("\n");
- }
- //Megnézi, hogy a bekért karakter benne van-e a szóban
- void benneVane(){
- int i;
- int joBetu=0;
- for (i=0;szo[i]!=0;i++){
- if (szo[i]==bekertChar){
- ++joBetu;
- userSzo[i]=szo[i];
- }
- }
- //Ha nem találtuk el
- if (!joBetu){
- hibaPont++;
- rosszBetuk[rosszBetukIndex]=bekertChar;
- rosszBetukIndex++;
- rosszBetuk[rosszBetukIndex]=0;
- }
- }
- //Akasztófát kirajzolja
- void akasztofaRajzol() {
- switch (hibaPont) {
- case 0 :
- printf("Hibás karakterek: %d\n\n", hibaPont);
- rosszBetukKiir();
- printf("\n");
- printf("\n");
- printf("\n");
- printf("\n");
- printf("\n");
- printf("\n");
- printf("____________\n\n");
- printf("\nA szó:\n%s\n", userSzo);
- break;
- case 1 :
- printf("Hibás karakterek: %d\n\n", hibaPont);
- rosszBetukKiir();
- printf("\n");
- printf(" |\n");
- printf(" |\n");
- printf(" |\n");
- printf(" |\n");
- printf(" |\n");
- printf("_|_________\n\n");
- printf("\nA szó:\n%s\n", userSzo);
- break;
- case 2 :
- printf("Hibás karakterek: %d\n\n", hibaPont);
- rosszBetukKiir();
- printf(" _______\n");
- printf(" |\n");
- printf(" |\n");
- printf(" |\n");
- printf(" |\n");
- printf(" |\n");
- printf("_|_________\n\n");
- printf("\nA szó:\n%s\n", userSzo);
- break;
- case 3 :
- printf("Hibás karakterek: %d\n\n", hibaPont);
- rosszBetukKiir();
- printf(" _______\n");
- printf(" |/\n");
- printf(" |\n");
- printf(" |\n");
- printf(" |\n");
- printf(" |\n");
- printf("_|_________\n\n");
- printf("\nA szó:\n%s\n", userSzo);
- break;
- case 4 :
- printf("Hibás karakterek: %d\n\n", hibaPont);
- rosszBetukKiir();
- printf(" _______\n");
- printf(" |/ | \n");
- printf(" | O \n");
- printf(" |\n");
- printf(" |\n");
- printf(" |\n");
- printf("_|_________\n\n");
- printf("\nA szó:\n%s\n", userSzo);
- break;
- case 5 :
- printf("Hibás karakterek: %d\n\n", hibaPont);
- rosszBetukKiir();
- printf(" _______\n");
- printf(" |/ | \n");
- printf(" | O \n");
- printf(" | |\n");
- printf(" | |\n");
- printf(" |\n");
- printf("_|_________\n\n");
- printf("\nA szó:\n%s\n", userSzo);
- break;
- case 6 :
- printf("Hibás karakterek: %d\n\n", hibaPont);
- rosszBetukKiir();
- printf(" _______\n");
- printf(" |/ | \n");
- printf(" | O \n");
- printf(" | \\|\n");
- printf(" | | \n");
- printf(" |\n");
- printf("_|_________\n\n");
- printf("\nA szó:\n%s\n", userSzo);
- break;
- case 7 :
- printf("Hibás karakterek: %d\n\n", hibaPont);
- rosszBetukKiir();
- printf(" _______\n");
- printf(" |/ | \n");
- printf(" | O \n");
- printf(" | \\|/\n");
- printf(" | | \n");
- printf(" |\n");
- printf("_|_________\n\n");
- printf("\nA szó:\n%s\n", userSzo);
- break;
- case 8 :
- printf("Hibás karakterek: %d\n\n", hibaPont);
- rosszBetukKiir();
- printf(" _______\n");
- printf(" |/ | \n");
- printf(" | O \n");
- printf(" | \\|/\n");
- printf(" | | \n");
- printf(" | /\n");
- printf("_|_________\n\n");
- printf("\nA szó:\n%s\n", userSzo);
- break;
- case 9 :
- printf("Hibás karakterek: %d\n\n", hibaPont);
- rosszBetukKiir();
- printf(" _______\n");
- printf(" |/ | \n");
- printf(" | O \n");
- printf(" | \\|/\n");
- printf(" | | \n");
- printf(" | / \\\n");
- printf("_|_________\n\n");
- printf("\nA szó:\n%s\n", userSzo);
- break;
- case 10 :
- printf("Hibás karakterek: %d\n\n", hibaPont);
- rosszBetukKiir();
- printf(" _______\n");
- printf(" |/ | \n");
- printf(" | X \n");
- printf(" | \\|/\n");
- printf(" | | \n");
- printf(" | / \\\n");
- printf("_|_________\n\n");
- printf("\nA szó:\n%s\n", userSzo);
- break;
- }
- }
- int main (){
- clearScreen();
- rosszBetuk[0]=0;
- //Bekérés, hogy mi legyen a forrás
- printf("Üdvözöllek az akasztófában!\n");
- printf("Kérlek add meg a kívánt forrást!\n");
- printf("(1)\tMagam írok be szót.\n");
- printf("(2)\tA szavak.txt szókészletét használom.\n");
- char forras;
- scanf("%c", &forras);
- while (forras != '1' && forras != '2'){
- scanf ("%c", &forras);
- clearScreen();
- printf("Hibás adatbevitel! Kérlek add meg újra a kívánt forrást!\n");
- printf("(1)\tMagam írok be szót.\n");
- printf("(2)\tA szavak.txt szókészletét használom.\n");
- }
- switch (forras) {
- case '1':
- clearScreen();
- printf("Add meg a szót!\n");
- scanf("%s", szo);
- //gets(szo);
- printf("%s\n", szo);
- szoEllenorzes();
- clearScreen();
- break;
- case '2':
- //MEGÍRNI A TXT KEZELŐSET
- break;
- }
- //Feltölti _-okkal az userSzot.
- int l;
- for (l=0;l<strlen(szo);l++){
- userSzo[l]='_';
- }
- //Játék kezdete
- while (hibaPont < 11){
- clearScreen();
- akasztofaRajzol();
- printf("Add meg a következő betűt!\n");
- scanf("%c", &bekertChar);
- betuEllenorzes();
- benneVane();
- }
- //MEGÍRNI A GAME OVERT
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement