Pianomahnn
04-18-2002, 10:51 PM
I'm making this a thread for all your tribal coders who want to flaunt their shiznat skizzals.
:)
Pianomahnn
04-19-2002, 12:02 AM
This program is cool.
/******************************************************
* Chris Tinnon
* cmtinno
* ACS168
* Section 15
*
* frequency.cpp
*
* Reads from a line of user entered text no more
* than 100 characters long and sorts low to high
******************************************************/
#include <iostream>
using namespace std;
struct letters
{
char letter;
int count;
};
int main()
{
letters letter[26] = {' ',0};
int i = 0;
cout << "Please enter a line of text no more than 300 characters long" << endl
<< "\tand press enter when finished" << endl;
char string[300];
cin.getline(string, 300);
for(i=0; i<26; i++)
{
letter[i].count = 0;
letter[i].letter = ' ';
}
for(i=0; i<300; i++)
{
switch(string[i])
{
case 'a':
letter[0].count++;
letter[0].letter = 'a';
break;
case 'b':
letter[1].count++;
letter[1].letter = 'b';
break;
case 'c':
letter[2].count++;
letter[2].letter = 'c';
break;
case 'd':
letter[3].count++;
letter[3].letter = 'd';
break;
case 'e':
letter[4].count++;
letter[4].letter = 'e';
break;
case 'f':
letter[5].count++;
letter[5].letter = 'f';
break;
case 'g':
letter[6].count++;
letter[6].letter = 'g';
break;
case 'h':
letter[7].count++;
letter[7].letter = 'h';
break;
case 'i':
letter[8].count++;
letter[8].letter = 'i';
break;
case 'j':
letter[9].count++;
letter[9].letter = 'j';
break;
case 'k':
letter[10].count++;
letter[10].letter = 'k';
break;
case 'l':
letter[11].count++;
letter[11].letter = 'l';
break;
case 'm':
letter[12].count++;
letter[12].letter = 'm';
break;
case 'n':
letter[13].count++;
letter[13].letter = 'n';
break;
case 'o':
letter[14].count++;
letter[14].letter = 'o';
break;
case 'p':
letter[15].count++;
letter[15].letter = 'p';
break;
case 'q':
letter[16].count++;
letter[16].letter = 'q';
break;
case 'r':
letter[17].count++;
letter[17].letter = 'r';
break;
case 's':
letter[18].count++;
letter[18].letter = 's';
break;
case 't':
letter[19].count++;
letter[19].letter = 't';
break;
case 'u':
letter[20].count++;
letter[20].letter = 'u';
break;
case 'v':
letter[21].count++;
letter[21].letter = 'v';
break;
case 'w':
letter[22].count++;
letter[22].letter = 'w';
break;
case 'x':
letter[23].count++;
letter[23].letter = 'x';
break;
case 'y':
letter[24].count++;
letter[24].letter = 'y';
break;
case 'z':
letter[25].count++;
letter[25].letter = 'z';
break;
case ' ':
break;
default:
break;
};
}
/****** Begin Sort Routine ******/
int index = 0;
int min;
int index_of_min;
int index2 = 0;
int temp_num;
char temp_letter;
int index_of_next_smallest;
for(index=0; index < 26; index++)
{
min = letter[index].count;
index_of_min = index;
for(index2=index+1; index2 < 26; index2++)
{
if(letter[index2].count < min)
{
min = letter[index2].count;
index_of_min = index2;
}
}
index_of_next_smallest = index_of_min;
temp_num = letter[index].count;
temp_letter = letter[index].letter;
letter[index].count = letter[index_of_next_smallest].count;
letter[index].letter = letter[index_of_next_smallest].letter;
letter[index_of_next_smallest].count = temp_num;
letter[index_of_next_smallest].letter = temp_letter;
}
/****** End Sort Routine ******/
cout << endl << "Letter:\tNumber of Occurrences" << endl;
int x = 0;
for(x=0; x<=25; x++)
{
if(letter[x].count > 0)
{
cout << letter[x].letter << "\t" << letter[x].count << endl;
}
}
return 0;
}
skalie
04-19-2002, 05:31 PM
Looks like you are re-inventing the wheel, I feel your pain.
You getting taught to how to program?
Pianomahnn
04-19-2002, 05:56 PM
C++ baby!!
My current project (which I plan on posting here so everyone can play) is the card game War.
:)
Pianomahnn
04-27-2002, 05:48 PM
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
#include <string>
using namespace std;
class Card
{
public:
Card();
Card(int in_value, int in_suit);
int get_value();
char get_suit();
void print_value();
void print_name();
void print_suit();
private:
int value;
char suit;
};
Card::Card()
{
value = 0;
suit = ' ';
}
Card::Card(int in_value, int in_suit)
{
value = in_value;
switch(in_suit)
{
case 0:
suit = 'H';
break;
case 1:
suit = 'D';
break;
case 2:
suit = 'C';
break;
case 3:
suit = 'S';
break;
};
}
int Card::get_value()
{
return value;
}
char Card::get_suit()
{
return suit;
}
void Card::print_value()
{
if(value > 10)
{
print_name();
}
else
{
cout << value;
}
}
void Card::print_name()
{
switch(value)
{
case 11:
cout << "Jack";
break;
case 12:
cout << "Queen";
break;
case 13:
cout << "King";
break;
case 14:
cout << "Ace";
break;
};
}
void Card::print_suit()
{
switch(suit)
{
case 'H':
cout << "Hearts";
break;
case 'D':
cout << "Diamonds";
break;
case 'C':
cout << "Clubs";
break;
case 'S':
cout << "Spades";
break;
};
}
class Deck
{
public:
Deck();
Card get_card(int i);
int get_size();
int return_value();
void initialize_deck();
void shuffle_deck();
Card deal_card();
void add_card(Card temp[], int i, int d);
void print_card();
void print_deck();
private:
int size;
Card deck[52];
};
Deck::Deck()
{
Card();
size = 0;
}
Card Deck::get_card(int i)
{
return deck[i];
}
int Deck::get_size()
{
return size;
}
void Deck::initialize_deck()
{
int y = 0;
for(int i = 0; i < 4; i++)
{
for(int x = 0; x < 13; x++)
{
deck[y] = Card((x+2), i);
y++;
size++;
}
}
}
void Deck::shuffle_deck()
{
srand((unsigned int) time(0));
Card temp[1];
int rand_num1;
int rand_num2;
for(int i = 0; i < 100; i++)
{
rand_num1 = rand()%52;
rand_num2 = rand()%52;
temp[0] = deck[rand_num1];
deck[rand_num1] = deck[rand_num2];
deck[rand_num2] = temp[0];
}
}
Card Deck::deal_card()
{
Card temp[1];
temp[0] = deck[0];
for(int i = 0; i < 51; i++)
{
deck[i] = deck[(i + 1)];
}
deck[51] = Card();
size--;
return temp[0];
}
void Deck::add_card(Card temp[], int i, int d)
{
deck[i] = temp[d];
size++;
}
void Deck::print_card()
{
deck[0].print_value();
cout << " of ";
deck[0].print_suit();
}
void Deck::print_deck()
{
for(int i = 0; i < 52; i++)
{
deck[i].print_value();
cout << " of ";
deck[i].print_suit();
cout << endl;
}
}
int Deck::return_value()
{
int card_value = deck[0].get_value();
return card_value;
}
class Player
{
public:
Player() {;}
Player(int player_id_in, string name_in);
string get_name();
int get_id();
int get_games_played();
int get_size_of_hand();
int tie_play();
void add_games_played();
int play_card();
void pick_up_card(Card temp[], int i, int d);
Deck hand;
private:
int player_id;
string name;
int games_played;
};
Player::Player(int player_id_in, string name_in)
{
player_id = player_id_in;
name = name_in;
games_played = 0;
}
string Player::get_name()
{
return name;
}
int Player::get_id()
{
return player_id;
}
int Player::get_games_played()
{
return games_played;
}
int Player::get_size_of_hand()
{
int size = hand.get_size();
return size;
}
void Player::add_games_played()
{
games_played++;
}
int Player::play_card()
{
Card temp[1];
hand.print_card();
temp[0] = hand.deal_card();
// int return_value = hand.return_value();
// return return_value;
return 0;
}
int Player::tie_play()
{
Card temp[1];
temp[0] = hand.deal_card();
return 0;
}
void Player::pick_up_card(Card temp[], int i, int d)
{
hand.add_card(temp, i, d);
}
int choose_player(Player player[], int choices[]);
void intro();
void play_game();
void rules();
void quit();
void credits();
int main()
{
intro();
return 0;
}
void intro()
{
int choice;
system("cls");
cout << "\t\tWelcome to the game of WAR!!" << endl << endl;
cout << "Game Options:" << endl;
cout << " 1) Rules/How To Play" << endl;
cout << " 2) Begin Game" << endl;
cout << " 3) View Credits" << endl;
cout << " 4) Quit" << endl;
cout << endl << "Enter your choice: ";
cin >> choice;
switch(choice)
{
case 1:
rules();
break;
case 2:
play_game();
break;
case 3:
credits();
break;
case 4:
quit();
break;
default:
intro();
break;
};
quit();
}
void play_game()
{
Player player[6];
player[0] = Player(1, "John");
player[1] = Player(2, "Jimmy");
player[2] = Player(3, "Sally");
player[3] = Player(4, "Chris");
player[4] = Player(5, "Dana");
player[5] = Player(6, "Bela");
Player player_one;
Player player_two;
Deck deck;
Deck player_deck_one;
Deck player_deck_two;
deck.initialize_deck();
deck.shuffle_deck();
int choices[2] = {0};
choices[2] = choose_player(player, choices);
switch(choices[0])
{
case 1:
player_one = player[0];
break;
case 2:
player_one = player[1];
break;
case 3:
player_one = player[2];
break;
case 4:
player_one = player[3];
break;
case 5:
player_one = player[4];
break;
case 6:
player_one = player[5];
break;
};
switch(choices[1])
{
case 1:
player_two = player[0];
break;
case 2:
player_two = player[1];
break;
case 3:
player_two = player[2];
break;
case 4:
player_two = player[3];
break;
case 5:
player_two = player[4];
break;
case 6:
player_two = player[5];
break;
};
Card temp[1];
int count_one = 0;
int count_two = 0;
for(int i = 0; i < 52; i++)
{
if((i % 2) == 0)
{
temp[0] = deck.deal_card();
player_one.hand.add_card(temp, count_one, 0);
count_one++;
}
else
{
temp[0] = deck.deal_card();
player_two.hand.add_card(temp, count_two, 0);
count_two++;
}
}
char quit = 'N';
int round_count = 0;
while((quit != 'Y') && (quit != 'y') && (player_one.get_size_of_hand() != 0) && (
player_two.get_size_of_hand() != 0))
{
round_count++;
system("cls");
cout << "This is Round " << round_count << endl << endl;
Card temp_card_one[1];
temp_card_one[0] = player_one.hand.get_card(0);
cout << endl;
int card_value_one = player_one.hand.return_value();
int card_value_two = player_two.hand.return_value();
Card temp_card_two[1];
temp_card_two[0] = player_two.hand.get_card(0);
cout << player_one.get_name() << " played a ";
player_one.play_card();
cout << "\t\t";
cout << player_two.get_name() << " played a ";
player_two.play_card();
cout << endl;
if(card_value_one > card_value_two)
{
cout << endl << "\t\t\t" << player_one.get_name() << " wins this war!" << endl;
int size = player_one.get_size_of_hand();
player_one.pick_up_card(temp_card_one, (size), 0);
player_one.pick_up_card(temp_card_two, (size + 1), 0);
cout << endl << "\t\t\t" << player_one.get_name() << " has " << player_one.get_size_of_hand()
<< " cards." << endl << "\t\t\t" << player_two.get_name() << " has "
<< player_two.get_size_of_hand() << " cards.";
}
if(card_value_two > card_value_one)
{
cout << endl << "\t\t\t" << player_two.get_name() << " wins this war!" << endl;
int size = player_two.get_size_of_hand();
player_two.pick_up_card(temp_card_one, (size), 0);
player_two.pick_up_card(temp_card_two, (size + 1), 0);
cout << endl<< "\t\t\t" << player_one.get_name() << " has " << player_one.get_size_of_hand()
<< " cards." << endl<< "\t\t\t" << player_two.get_name() << " has "
<< player_two.get_size_of_hand() << " cards.";
}
int tie_count = 0;
if(card_value_one == card_value_two)
{
cout << endl << "\t\t\t\tTie!!" << endl << endl;
Card temp_tie_card_one[52];
Card temp_tie_card_two[52];
temp_tie_card_one[0] = temp_card_one[0];
temp_tie_card_two[0] = temp_card_two[0];
tie_count++;
int tie_game = 0;
do
{
for(i = 1; i < 5; i++)
{
temp_tie_card_one[(tie_count * i)] = player_one.hand.get_card((tie_count * i));
temp_tie_card_two[(tie_count * i)] = player_one.hand.get_card((tie_count * i));
}
for(i = 1; i < 4; i++)
{
player_one.tie_play();
player_two.tie_play();
}
cout << player_one.get_name() << " played a ";
card_value_one = player_one.hand.return_value();
player_one.play_card();
cout << "\t\t";
cout << player_two.get_name() << " played a ";
card_value_two = player_two.hand.return_value();
player_two.play_card();
cout << "\t\t";
if(card_value_one > card_value_two)
{
cout << endl << "\t\t\t" << player_one.get_name() << " wins this war!" << endl;
int size1 = player_one.get_size_of_hand();
int size2 = player_two.get_size_of_hand();
for(i = 0; i < 5; i++)
{
player_one.pick_up_card(temp_tie_card_one, (size1 + i), (size1 + i));
player_one.pick_up_card(temp_tie_card_two, (size1 + i + 1), (size1 + i + 1));
}
cout << endl << "\t\t\t" << player_one.get_name() << " has " << player_one.get_size_of_hand()
<< " cards." << endl << "\t\t\t" << player_two.get_name() << " has "
<< player_two.get_size_of_hand() << " cards.";
tie_game = 1;
}
if(card_value_two > card_value_one)
{
cout << endl << "\t\t\t" << player_one.get_name() << " wins the war!" << endl;
int size1 = player_one.get_size_of_hand();
int size2 = player_two.get_size_of_hand();
for(i = 0; i < 5; i++)
{
player_two.pick_up_card(temp_tie_card_two, (size2 + i), (size2 + i));
player_two.pick_up_card(temp_tie_card_one, (size2 + i + 1), (size2 + i + 1));
}
cout << endl<< "\t\t\t" << player_one.get_name() << " has " << player_one.get_size_of_hand()
<< " cards." << endl<< "\t\t\t" << player_two.get_name() << " has "
<< player_two.get_size_of_hand() << " cards.";
tie_game = 1;
}
} while(tie_game = 0);
}
if(round_count == 1)
{
cin.get();
cin.get();
}
else
{
cin.get();
}
if((round_count % 10) == 0)
{
system("cls");
cout << "Would you like to quit (y/n)? ";
cin >> quit;
cout << endl << "Press enter to continue";
cin.get();
cin.get();
}
}// END PLAY LOOP
}
int choose_player(Player player[], int choices[])
{
system("cls");
int choice = 0;
int choice2 = 0;
do
{
system("cls");
cout << "ID\t\tPlayer\t\tGames Played" << endl;
cout << player[0].get_id() << "\t\t" << player[0].get_name() << "\t\t" <<
player[0].get_games_played() << endl;
cout << player[1].get_id() << "\t\t" << player[1].get_name() << "\t\t" <<
player[1].get_games_played() << endl;
cout << player[2].get_id() << "\t\t" << player[2].get_name() << "\t\t" <<
player[2].get_games_played() << endl;
cout << player[3].get_id() << "\t\t" << player[3].get_name() << "\t\t" <<
player[3].get_games_played() << endl;
cout << player[4].get_id() << "\t\t" << player[4].get_name() << "\t\t" <<
player[4].get_games_played() << endl;
cout << player[5].get_id() << "\t\t" << player[5].get_name() << "\t\t" <<
player[5].get_games_played() << endl;
cout << endl << "Enter the ID of the player you would like to be: ";
cin >> choice;
}while((choice != 1) && (choice != 2) && (choice != 3) && (choice != 4) && (choice != 5)
&& (choice != 6));
switch(choice)
{
case 1:
player[0].add_games_played();
break;
case 2:
player[1].add_games_played();
break;
case 3:
player[2].add_games_played();
break;
case 4:
player[3].add_games_played();
break;
case 5:
player[4].add_games_played();
break;
case 6:
player[5].add_games_played();
break;
};
do
{
system("cls");
if(choice != 1)
{
cout << player[0].get_id() << "\t\t" << player[0].get_name() <<
"\t\t" << player[0].get_games_played() << endl;
}
if(choice != 2)
{
cout << player[1].get_id() << "\t\t" << player[1].get_name() <<
"\t\t" << player[1].get_games_played() << endl;
}
if(choice != 3)
{
cout << player[2].get_id() << "\t\t" << player[2].get_name() <<
"\t\t" << player[2].get_games_played() << endl;
}
if(choice != 4)
{
cout << player[3].get_id() << "\t\t" << player[3].get_name() <<
"\t\t" << player[3].get_games_played() << endl;
}
if(choice != 5)
{
cout << player[4].get_id() << "\t\t" << player[4].get_name() <<
"\t\t" << player[4].get_games_played() << endl;
}
if(choice != 6)
{
cout << player[5].get_id() << "\t\t" << player[5].get_name() <<
"\t\t" << player[5].get_games_played() << endl;
}
cout << "Enter the ID of your Opponant: " << endl;
cin >> choice2;
}while((choice2 != 1) && (choice2 != 2) && (choice2 != 3) && (choice2 != 4) && (choice2 != 5)
&& (choice2 != 6) || (choice2 == choice));
switch(choice2)
{
case 1:
player[0].add_games_played();
break;
case 2:
player[1].add_games_played();
break;
case 3:
player[2].add_games_played();
break;
case 4:
player[3].add_games_played();
break;
case 5:
player[4].add_games_played();
break;
case 6:
player[5].add_games_played();
break;
};
choices[0] = choice;
choices[1] = choice2;
return choices[2];
}
void quit()
{
system("cls");
cout << "Thank you for playing!!" << endl << endl;
}
void credits()
{
system("cls");
cout << "This game was created by Chris Tinnon for" << endl;
cout << "ACS 168 at Illinois State University" << endl;
cout << "April 2002" << endl << endl;
cout << "Press enter to return";
cin.get();
cin.get();
intro();
}
void rules()
{
system("cls");
cout << "WAR is a very easy game to play." << endl << endl;
cout << "The first step is to select who you want to be." << endl;
cout << "Then select your opponent." << endl << endl;
cout << "From there, the computer pretty much takes over." << endl;
cout << "Every ten plays you have an option to quit or continue." << endl;
cout << "At the end of the game you can quit or play another round." << endl;
cout << endl << "That's about it!!" << endl << endl;
cout << "Press enter to continue." << endl;
cin.get();
cin.get();
intro();
}
Pianomahnn
05-02-2002, 12:59 AM
/*********************************************
* Chris Tinnon
* cmtinno
* ACS 168
* Section 15
* tictactoe.cpp
*********************************************/
#include <iostream>
#include <string>
#include <sstream>
#include <cstdlib>
using namespace std;
class Game
{
public:
int square;
std::string player;
};
void print(Game game[]);
int end(Game game[]);
int main()
{
Game game[9];
char player_one[20];
char player_two[20];
int end_game = 0;
int choice = 0;
int round = 0;
//Initializes the Table
for(int i = 1; i < 10; i++)
{
std::ostringstream oss;
oss << i;
game[(i - 1)].player = oss.str();
}
cout << "Please enter Player One's name: ";
cin.getline(player_one, 20);
cout << endl;
cout << "Please enter Player Two's name: ";
cin.getline(player_two, 20);
while((end_game != 1) && (end_game != 2) && (round != 10))
{
if((end_game != 1) && (end_game != 2) && (round != 10))
{
system("cls");
print(game);
round++;
cout << endl << player_one << ", enter your square choice: ";
cin >> choice;
game[(choice - 1)].player = 'X';
game[(choice - 1)].square = 1;
end_game = end(game);
}
if((end_game != 1) && (end_game != 2) && (round != 10))
{
system("cls");
print(game);
round++;
cout << endl << player_two << ", enter your square choice: ";
cin >> choice;
game[(choice - 1)].player = 'O';
game[(choice - 1)].square = -1;
end_game = end(game);
}
}
system("cls");
if(end_game == 1)
{
cout << endl << endl << player_one << " wins!!" << endl << endl;
print(game);
cout << endl << endl;
}
else if(end_game == 2)
{
cout << endl << endl << player_two << " wins!!" << endl << endl;
print(game);
cout << endl << endl;
}
else
{
cout << endl << endl << "Cats Game!! Please Play Again!" << endl << endl;
print(game);
cout << endl << endl;
}
return 0;
}
void print(Game game[])
{
cout << " " << game[0].player << " | " << game[1].player << " | " << game[2].player << endl;
cout << "--- --- ---" << endl;
cout << " " << game[3].player << " | " << game[4].player << " | " << game[5].player << endl;
cout << "--- --- ---" << endl;
cout << " " << game[6].player << " | " << game[7].player << " | " << game[8].player << endl;
}
int end(Game game[])
{
int end_game = 0;
if((game[0].square + game[1].square + game[2].square == 3))
{
end_game = 1;
}
else if((game[0].square + game[1].square + game[2].square == -3))
{
end_game = 2;
}
else if((game[3].square + game[4].square + game[5].square == 3))
{
end_game = 1;
}
else if((game[3].square + game[4].square + game[5].square == -3))
{
end_game = 2;
}
else if((game[6].square + game[7].square + game[8].square == 3))
{
end_game = 1;
}
else if((game[6].square + game[7].square + game[8].square == -3))
{
end_game = 2;
}
else if((game[0].square + game[3].square + game[6].square == 3))
{
end_game = 1;
}
else if((game[0].square + game[3].square + game[6].square == -3))
{
end_game = 2;
}
else if((game[1].square + game[4].square + game[7].square == 3))
{
end_game = 1;
}
else if((game[1].square + game[4].square + game[7].square == -3))
{
end_game = 2;
}
else if((game[2].square + game[5].square + game[8].square == 3))
{
end_game = 1;
}
else if((game[2].square + game[5].square + game[8].square == -3))
{
end_game = 2;
}
else if((game[0].square + game[4].square + game[8].square == 3))
{
end_game = 1;
}
else if((game[0].square + game[4].square + game[8].square == -3))
{
end_game = 2;
}
else if((game[2].square + game[4].square + game[6].square == 3))
{
end_game = 1;
}
else if((game[2].square + game[4].square + game[6].square == -3))
{
end_game = 2;
}
else
{
end_game = 0;
}
return end_game;
}
vBulletin v3.5.3, Copyright ©2000-2010, Jelsoft Enterprises Ltd.