Sponsored Content
Full Discussion: C++ Edit code
Top Forums Programming C++ Edit code Post 302766053 by ment0smintz on Monday 4th of February 2013 05:26:13 AM
Old 02-04-2013
C++ Edit code

Hi guys,

I am learning C++ on my own and i wanna redit the code using classes and heritance to revamp the code below.
example class for the card attributes -suit , - rank, - face
and also class deck to contain shuffle
and a class player with the function to setcard and a function handonecard from the deck.
do share your knowledge with me thanks Smilie

Code:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <ctime>
#include <windows.h>

using namespace std;

struct Card {
    char *face;
    char *pix;
    char *suit;
    };

typedef struct Card card;

void fillDeck(card *, char *[], char *[], char *[]);
void shuffle(card *, int);
void deal(card *);
void WaitKey();

int main()
{
    int shuffled = 1250;
    card deck[52];
    char *face[] = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
    char *pix[] = {"\x03","\x05","\x04","\x06"}; // - Added to original program
    char *suit[] = {"Hearts","Clubs","Diamonds","Spades"};
    time_t t;
    srand((unsigned) time(&t)); // Randomize using time
    cout << "PokerGame Options:" << endl;
    fillDeck(deck, face, suit, pix);
    shuffle(deck, shuffled);
    deal(deck);
    printf("\n\n\t");
    WaitKey();
    return 0;
}

void fillDeck(card *wDeck, char *wFace[], char *wSuit[], char *wPix[])
{
    int i;

    for (i = 0; i < 52; i++)
    {
        wDeck[i].face = wFace[i % 13];
        wDeck[i].pix  = wPix[i / 13]; // Added
        wDeck[i].suit = wSuit[i / 13];
    }
}

void shuffle(card *wDeck, int shuffled)
{
    int i, j, x;
    Card temp;
    for (x = 0; x < shuffled ; x++) // A big shuffle
    {
        for (i = 0; i < 52; i++)
        {
            j=rand() % 52;
            temp = wDeck[i];
            wDeck[i] = wDeck[j];
            wDeck[j] = temp;
        }
    }
}
 
void deal(card *wDeck)
{
    int i;
        for (i = 0; i <= 4; i++)
        {
            if ( wDeck[i].pix == "\x03"||wDeck[i].pix== "\x04" )
                SetConsoleTextAttribute (GetStdHandle(STD_OUTPUT_HANDLE), 4);
            else
                SetConsoleTextAttribute (GetStdHandle(STD_OUTPUT_HANDLE), 8);
                printf("%5s%s %c", wDeck[i].face, wDeck[i].pix, (i + 1) % 5 ? '\b' : '\n');
        }
}

void WaitKey()
{
SetConsoleTextAttribute (GetStdHandle(STD_OUTPUT_HANDLE), 8);
cout << "\t\t   Press ENTER to continue...\n\t\t";
while (_kbhit()) _getch(); // Empty the input buffer
_getch(); // Wait for a key
while (_kbhit()) _getch(); // Empty the input buffer (some keys sends two messages)
}

 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

edit crontab without -e

hi i need to change crontab settings as minute,hour,day of month,month year,day of week certain times. for that i need to go as crontab -e. i want to avoid that as its creating many problems in mysystem. so here i m planning/trying to write a script that will update the settings in crontab... (8 Replies)
Discussion started by: d_swapneel14
8 Replies

2. UNIX for Dummies Questions & Answers

Edit Crontab

Hi I am new to Unix and would like some assistance. I need to edit the crontab file so that a script is set to run at 3:00 am each day. When I telnet to the sun server and type crontab -e a black screen appears and I am unable to make any changes. Could you advice on what is needed to... (11 Replies)
Discussion started by: juliet
11 Replies

3. Solaris

how to edit /etc/vfstab

I created a file system earth in /earthpool (zpool). I mounted the file system on a directory /earth. But, when I reboot my machine it doesn't load the file systems and the zpool and zfs shows no pools available and no datasets respectively. I am using Solaris 10 running on X4500. Could you... (5 Replies)
Discussion started by: bharu_sri
5 Replies

4. Linux

Edit Grub? help!

Please help! I have installed 5 Linux OS in the following order: 1st : OpenSUSE 11.0 2nd : Ubuntu 8.4 3rd : Ubuntu 8.10 4th : OpenSUSE 11.1 5th : Fedora 10 Here is the scenario, at the 4th installation i can still choose which OS to boot as what OpenSUSE grub displays. Now, after... (3 Replies)
Discussion started by: etcpasswd
3 Replies

5. Infrastructure Monitoring

snmp,how to edit code generated by mib2c?

Hi, I'm reading net-snmp site, using C language and unix environment, I have manager ( do get/set command), agent and server ... I'm trying to monitor cpu, memory and disk usage and get Ip address of server and send the value back to agent, stored in variable which enable manager to gets the... (1 Reply)
Discussion started by: zainab
1 Replies

6. Shell Programming and Scripting

Script to Check & Edit Content of a file (Addition of comma in each lines of code)

Hi all, I need to write an automated bash shell script which performs such operations: 1. Grep the header of everyline with the initial of "T" in "FILE_A" 2. Perform a for loop, Count the numbers of comma in the line of code, if (no. of comma < 17) ADD the comma until 17; ... (2 Replies)
Discussion started by: big_nutz
2 Replies

7. Shell Programming and Scripting

Plus edit and edit header

Dear Masters, i have a problem with unix script, till now i just know about how to create header. i want to change file below -63395.2 72653.5 -63361.3 72696.0 ... (9 Replies)
Discussion started by: ipatah
9 Replies

8. Programming

Are there any C code r instruction to see where is the creation or last edit for the file

Are there any C or termina instructin code or instruction to see where is the creation or last edit for the file (1 Reply)
Discussion started by: fwrlfo
1 Replies

9. Web Development

Want to edit a sh file using php code

Hi friends, I want to edit sh file using php, i have tried different method. but its shows permission issues. Folder path : xyz permission :0755 owner: 545 group: 0 filename : abc.sh permission :0644 owner:0 group: 0 how to edit these files using php/ i have use below codes, but... (3 Replies)
Discussion started by: sanjay833i
3 Replies
XSOL(6) 							   Games Manual 							   XSOL(6)

NAME
xsol - X Solitaire SYNOPSIS
xsol DESCRIPTION
This manual page briefly documents xsol , a simple Motif/ Lesstif version of the classic solitaire game. It was written for the Debian GNU/Linux distribution because the original program does not have a manual page. HOW TO PLAY
Solitaire is a card game. At the start you are presented with seven columns of cards. First has only one card, second one has two, third three and so on (28 in total), but only the first card in every column is shown ('opened'). Also there is the deck (24 cards at the start), and four emtpy places for suit stacks. Cards in the deck and in the columns are unsorted, and the object of Solitaire is to use all the cards in the deck to build up the four suit stacks in ascending order, beginning with the aces. You can accomplish that by dragging and dropping the red onto the black (and black onto the red) cards between the columns, and between the deck and the columns (but not the other way around). When you see a whole turned card, click on it to see it ('open' it) and to be able to move it somewhere. Deck is opened by clicking on it; once you reach the end of the deck, just click once more and you'll reopen it. If you reach a point when you can't move any more cards to the stacks, and rearranging cards in columns and the deck gets you nowhere, the game is over. Start it again. OPTIONS
You can access all options within the program, through the 'Game' menu. There you have four options: New game - start a new game, Undo - undo last move, Options - configure these options: Timed game - should we count the seconds? Keep score - should we count the score? Show number of cards in deck - should we show it? Draw one - card from the deck, Draw three - cards from the deck. About - shows information about the author. Exit - quits the game. AUTHOR
xsol was written by Brian Masney <masneyb@newwave.net>, and this manual page was written by Josip Rodin <jrodin@jagor.srce.hr>. Debian Project March 1999 XSOL(6)
All times are GMT -4. The time now is 05:07 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy