Új hozzászólás Aktív témák

  • Fire/SOUL/CD

    félisten

    válasz rothkrisz #511 üzenetére

    Hali!

    Kellemes feladatokat kaptok, nekem is jó, mert "retrózhatok". :DDD
    Nos, több megoldása is lehet a feladatnak, Én az alábbi módszert választottam, elsősorban mert x64 Vista alatt ne futnak a DOS-os c/cpp editorok, ebből adódóan a kurzorpozicíóval, assembly betéttel, megszakításokkal nem tudok mit kezdeni.(ugyanis úgy is meg lehetett volna oldani, hogy egyből megjelenik a tábla, és egyből megjelenik rajt a bevitt mezőn az "érme"....)

    Lesz bent egy teljesen kikommentezett rész, azt csak azért hagytam bent, hogy még egy mátrix definíciót is láss. Sajna ott viszont már "keményen" mútatókkal lehet volna csak operálni, és ha valaki nincs tisztában velük, akkor tényleg nem fog érteni belőle semmit....

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    #define CB_XY 17

    /*
    unsigned char ChessBoard_Matrix[][CB_XY]={
    "╔","═","╦","═","╦","═","╦","═","╦","═","╦","═","╦","═","╦","═","╗",
    "║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║",
    "╠","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╣",
    "║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║",
    "╠","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╣",
    "║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║",
    "╠","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╣",
    "║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║",
    "╠","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╣",
    "║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║",
    "╠","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╣",
    "║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║",
    "╠","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╣",
    "║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║",
    "╠","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╬","═","╣",
    "║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║"," ","║",
    "╚","═","╩","═","╩","═","╩","═","╩","═","╩","═","╩","═","╩","═","╝"

    };
    */

    int ChessBoard_Matrix[CB_XY][CB_XY]={
    {0xC9,0xCD,0xCB,0xCD,0xCB,0xCD,0xCB,0xCD,0xCB,0xCD,0xCB,0xCD,0xCB,0xCD,0xCB,0xCD,0xBB},
    {0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA},
    {0xCC,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xB9},
    {0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA},
    {0xCC,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xB9},
    {0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA},
    {0xCC,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xB9},
    {0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA},
    {0xCC,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xB9},
    {0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA},
    {0xCC,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xB9},
    {0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA},
    {0xCC,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xB9},
    {0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA},
    {0xCC,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xCE,0xCD,0xB9},
    {0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA,0x20,0xBA},
    {0xC8,0xCD,0xCA,0xCD,0xCA,0xCD,0xCA,0xCD,0xCA,0xCD,0xCA,0xCD,0xCA,0xCD,0xCA,0xCD,0xBC}

    };

    int main()
    {
    int i,j,k;
    char str[256];

    while(0==0) {
    printf("Enter coordinate and value: ");
    strupr(gets(str));
    if (str[0]=='*') { printf("\nGenerating Chessboard\n\n"); break; }
    if (!strlen(str) || strlen(str)>3) { printf("Bad SIZE found [%s=>%d], skipped...\n",str,strlen(str)); continue; }
    if (str[0]<'A' || str[0]>'H') { printf("Bad COLUMN found [%c], skipped...\n",str[0]); continue; }
    if (str[1]<'1' || str[1]>'8') { printf("Bad ROW found [%c], skipped...\n",str[1]); continue; }
    if (str[2]!='1' && str[2]!='2' && str[2]!='5') { printf("Bad VALUE found [%c], skipped...\n",str[2]); continue; }

    ChessBoard_Matrix[('8'-str[1])*2+1][(str[0]-'A')*2+1]=str[2];
    }

    for(i=0,k=8;i<CB_XY;i++) {
    if ((i % 2)) printf("%d ",k--);
    else printf(" ");
    for(j=0;j<CB_XY;j++)
    printf("%c",ChessBoard_Matrix[i][j]);
    printf("\n");
    }
    for(printf(" "),i=0;i<8;printf("%c ",'A'+i),i++);

    printf("\n\n");

    return 0;
    }

    Fire.

    UI: remélem jól értelmeztem a feladatot... :U

    Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

Új hozzászólás Aktív témák