Zurück   RR:Board > Computer > Programmierung & Entwicklung

Entwicklung und Coding in verschiedenen Programmiersprachen: Assembly, C++, C#, Perl, Delphi, .NET, Visual Basic...
Antwort
 
Themen-Optionen Thema durchsuchen

[C/C++] - Konsole einzelnes Zeichen farbig
Alt 21.01.2009, 16:28   # 1
Smokers
Moderator
MIB
team
Bewertung:
Smokers hat die Renommee-Anzeige deaktiviert
Registriert seit: Sep 2005
Internet: VDSL 50Mbit
Beiträge: 2.178
Power: 29
also habe folgendes kleines Programm ^^


Code:
#include <cstdlib> #include <iostream> #include <string> using namespace std; int show_field(); int give_top(); int ask_field(); int check_win(); int check_free(int); int akt_player = 100; int winner = -10; char fields[3][3] = { {'1','2','3'}, {'4','5','6'}, {'7','8','9'} }; std::string spieler1("-"); std::string spieler2("-"); int main(int argc, char *argv[]) { //////////Programm start &copy by Smoki ////////// printf("Test"); give_top(); do { if(spieler1 == "-") { cout << "Bitte gib den Namen fuer Spieler 1 ein: "; cin >> spieler1; } else { cout << "Kein zulaessiger Name(Zu kurz?).Neue Eingabe :"; cin >> spieler1; } } while(spieler1.size() < 3); system("CLS"); give_top(); do { if(spieler2 == "-") { cout << "Bitte gib den Namen fuer Spieler 2 ein: "; cin >> spieler2; } else { cout << "Kein zulaessiger Name(Zu kurz?).Neue Eingabe :"; cin >> spieler2; } } while(spieler2.size() < 3); system("CLS"); give_top(); show_field(); do { ask_field(); system("CLS"); give_top(); show_field(); } while(check_win() == false); if(winner == 1) { cout << "Herrzlichen Glueckwunsch " << spieler1 << ".Du hast gewonnen" << endl ; } else { cout << "Herrzlichen Glueckwunsch " << spieler2 << ".Du hast gewonnen" << endl ; } cout << endl; system("PAUSE"); return EXIT_SUCCESS; } int show_field() { cout << "+---+---+---+" << endl; cout << "| " << fields[0][0] <<" | " << fields[0][1] <<" | " << fields[0][2] <<" |" << endl; cout << "+---+---+---+" << endl; cout << "| " << fields[1][0] <<" | " << fields[1][1] <<" | " << fields[1][2] <<" |" << endl; cout << "+---+---+---+" << endl; cout << "| " << fields[2][0] <<" | " << fields[2][1] <<" | " << fields[2][2] <<" |" << endl; cout << "+---+---+---+" << endl; cout << endl; } int give_top() { cout << "*******************************************" << endl; cout << "**** TicTacToe Master 0.1 beta by Smoki****" << endl; cout << "*******************************************" << endl; cout << endl; cout << endl; } int ask_field() { int modulo; int eingabe; modulo = akt_player%2; do { if(modulo == 0) { cout << spieler1 << ".Bitte waehle deine Position!" << endl; } else { cout << spieler2 << ".Bitte waehle deine Position!" << endl; } cin >> eingabe; if(check_free(eingabe) == false) { cout << "Feld nicht mehr frei. Bitte neu waehlen!" << endl; } } while(eingabe < 0 || eingabe > 9 || check_free(eingabe) == false); switch(eingabe) { case 1: if(modulo == 0) { fields[0][0] = 'X'; } else { fields[0][0] = 'O'; }; break; case 2: if(modulo == 0) { fields[0][1] = 'X'; } else { fields[0][1] = 'O'; }; break; case 3: if(modulo == 0) { fields[0][2] = 'X'; } else { fields[0][2] = 'O'; }; break; case 4: if(modulo == 0) { fields[1][0] = 'X'; } else { fields[1][0] = 'O'; }; break; case 5: if(modulo == 0) { fields[1][1] = 'X'; } else { fields[1][1] = 'O'; }; break; case 6: if(modulo == 0) { fields[1][2] = 'X'; } else { fields[1][2] = 'O'; }; break; case 7: if(modulo == 0) { fields[2][0] = 'X'; } else { fields[2][0] = 'O'; }; break; case 8: if(modulo == 0) { fields[2][1] = 'X'; } else { fields[2][1] = 'O'; }; break; case 9: if(modulo == 0) { fields[2][2] = 'X'; } else { fields[2][2] = 'O'; }; break; } akt_player = akt_player -1; } int check_win(){ if( (fields[0][0] == 'X' && fields[0][1] == 'X' && fields[0][2] == 'X') || (fields[1][0] == 'X' && fields[1][1] == 'X' && fields[1][2] == 'X') || (fields[2][0] == 'X' && fields[2][1] == 'X' && fields[2][2] == 'X') || (fields[0][0] == 'X' && fields[1][0] == 'X' && fields[2][0] == 'X') || (fields[0][1] == 'X' && fields[1][1] == 'X' && fields[2][1] == 'X') || (fields[0][2] == 'X' && fields[1][2] == 'X' && fields[2][2] == 'X') || (fields[0][0] == 'X' && fields[1][1] == 'X' && fields[2][2] == 'X') || (fields[2][0] == 'X' && fields[1][1] == 'X' && fields[0][2] == 'X') ) { winner = 1; } if( (fields[0][0] == 'O' && fields[0][1] == 'O' && fields[0][2] == 'O') || (fields[1][0] == 'O' && fields[1][1] == 'O' && fields[1][2] == 'O') || (fields[2][0] == 'O' && fields[2][1] == 'O' && fields[2][2] == 'O') || (fields[0][0] == 'O' && fields[1][0] == 'O' && fields[2][0] == 'O') || (fields[0][1] == 'O' && fields[1][1] == 'O' && fields[2][1] == 'O') || (fields[0][2] == 'O' && fields[1][2] == 'O' && fields[2][2] == 'O') || (fields[0][0] == 'O' && fields[1][1] == 'O' && fields[2][2] == 'O') || (fields[2][0] == 'O' && fields[1][1] == 'O' && fields[0][2] == 'O') ) { winner = 2; } if(winner == 1 || winner == 2) { return true; } else { return false; } } int check_free(int eingabe){ switch(eingabe) { case 1: if(fields[0][0] == '1') {return true; } else { return false; }; break; case 2: if(fields[0][1] == '2') {return true; } else { return false; }; break; case 3: if(fields[0][2] == '3') {return true; } else { return false; }; break; case 4: if(fields[1][0] == '4') {return true; } else { return false; }; break; case 5: if(fields[1][1] == '5') {return true; } else { return false; }; break; case 6: if(fields[1][2] == '6') {return true; } else { return false; }; break; case 7: if(fields[2][0] == '7') {return true; } else { return false; }; break; case 8: if(fields[2][1] == '8') {return true; } else { return false; }; break; case 9: if(fields[2][2] == '9') {return true; } else { return false; }; break; } }
Ich will nun das die vom user eingegebenen Zeichen ( X oder O ) nun in ROT drinne stehen...

ist das möglich?

habe bisher nur gefunden das die ganze Konsole sich färbt mittels SYSTEM befehl.....

greets

  Smokers ist offline   Mit Zitat antworten

Alt 21.01.2009, 16:43   # 2
naca7
Final Releaser
rot rot rot rot rot 
Bewertung:
naca7 hat mehr als 5000 Punktenaca7 hat mehr als 5000 Punktenaca7 hat mehr als 5000 Punktenaca7 hat mehr als 5000 Punktenaca7 hat mehr als 5000 Punktenaca7 hat mehr als 5000 Punktenaca7 hat mehr als 5000 Punktenaca7 hat mehr als 5000 Punktenaca7 hat mehr als 5000 Punktenaca7 hat mehr als 5000 Punkte
naca7 hat mehr als 5000 Punkte
Registriert seit: May 2006
Beiträge: 1.806
Power: 28
wenn ichs richtig verstanden habe was du meinst ... das funkt über die conio.h: http://www.daniweb.com/forums/showth...0122#post30122
  naca7 ist offline   Mit Zitat antworten

AW: Konsole einzelnes Zeichen farbig
Alt 21.01.2009, 20:29   # 3
Smokers
Moderator
MIB
team
Bewertung:
Smokers hat die Renommee-Anzeige deaktiviert
Registriert seit: Sep 2005
Internet: VDSL 50Mbit
Beiträge: 2.178
Power: 29
Themenstarter
weis ja nicht, aber ich hab mal conio.h eingebunden und folgendes probiert :
Code:
using namespace std; int show_field(); int give_top(); int ask_field(); int check_win(); int check_free(int); int akt_player = 100; int winner = -10; char fields[3][3] = { {'1','2','3'}, {'4','5','6'}, {'7','8','9'} }; std::string spieler1("-"); std::string spieler2("-"); int main(int argc, char *argv[]) { //////////Programm start &copy by Smoki ////////// textcolor(12); printf("Test"); ..............
Dann bekomm ich halt Compiler error das er textcolor() nich kennt.

// 27 H:\Cpp\Projekte\TicTacToe\main.cpp `textcolor' undeclared (first use this function) //

  Smokers ist offline   Mit Zitat antworten

AW: Konsole einzelnes Zeichen farbig
Alt 21.01.2009, 22:01   # 4
naca7
Final Releaser
rot rot rot rot rot 
Bewertung:
naca7 hat mehr als 5000 Punktenaca7 hat mehr als 5000 Punktenaca7 hat mehr als 5000 Punktenaca7 hat mehr als 5000 Punktenaca7 hat mehr als 5000 Punktenaca7 hat mehr als 5000 Punktenaca7 hat mehr als 5000 Punktenaca7 hat mehr als 5000 Punktenaca7 hat mehr als 5000 Punktenaca7 hat mehr als 5000 Punkte
naca7 hat mehr als 5000 Punkte
Registriert seit: May 2006
Beiträge: 1.806
Power: 28
was du noch versuchen könntest wäre die farbe jedesmal pro spieler umzuschalten mittels system("COLOR XY");

x= Hintergrund
y= Vordergrund

Werte:
0= Schwarz
1= Dunkelblau
2= Dunkelgrün
3= Blaugrün
4= Dunkelrot
5= Lila
6= Ocker
7= Hellgrau
8= Dunkelgrau
9= Blau
A= Grün
B= Zyan
C= Rot
D= Magenta
E= Gelb
F= Weiß
  naca7 ist offline   Mit Zitat antworten

AW: Konsole einzelnes Zeichen farbig
Alt 22.01.2009, 07:34   # 5
Moses
Hühnchen
Bewertung:
Moses hat 300 bis 399 PunkteMoses hat 300 bis 399 PunkteMoses hat 300 bis 399 PunkteMoses hat 300 bis 399 Punkte
Registriert seit: Mar 2007
Beiträge: 4
Power: 0
Hey,
falls du das Programm für Windows schreibst kannst du auch das hier benutzen:
http://msdn.microsoft.com/en-us/libr...47(VS.85).aspx

Windows.h includieren

und dann z.B.:
Code:
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hConsole, FOREGROUND_RED);
funktioniert bei mir einwandfrei... aber wie gesagt nur Windows

//Edit:
Du kannst die Farben so auch kombinieren z.B. für ein knalliges Rot:
SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_INTENSITY);

oder auch mehrere Farben miteinander

MfG Moses
  Moses ist offline   Mit Zitat antworten

AW: Konsole einzelnes Zeichen farbig
Alt 22.01.2009, 09:17   # 6
crunsh
Board Raider
gruen gruen gruen 
Bewertung:
crunsh hat 500 bis 999 Punktecrunsh hat 500 bis 999 Punktecrunsh hat 500 bis 999 Punktecrunsh hat 500 bis 999 Punktecrunsh hat 500 bis 999 Punktecrunsh hat 500 bis 999 Punkte
Registriert seit: Mar 2008
Internet: >=100Mbit
Beiträge: 82
Power: 13
und falls du für linux schreiben willst, solltest du dir ncurses anschauen

http://de.wikibooks.org/wiki/Ncurses

The first time you'll get a Microsoft product, that doesn't ****, will be the day they start producing vacuum cleaners.
  crunsh ist offline   Mit Zitat antworten

AW: Konsole einzelnes Zeichen farbig
Alt 22.01.2009, 14:11   # 7
Smokers
Moderator
MIB
team
Bewertung:
Smokers hat die Renommee-Anzeige deaktiviert
Registriert seit: Sep 2005
Internet: VDSL 50Mbit
Beiträge: 2.178
Power: 29
Themenstarter
okay, danke erstmal soweit ich werds damit mal versuchen dank euch

  Smokers ist offline   Mit Zitat antworten
Antwort

RR:Board > Computer > Programmierung & Entwicklung > [C/C++] - Konsole einzelnes Zeichen farbig


Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir erlaubt, Anhänge anzufügen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[PHP] - Wordpress: Einzelnes Datenbank-Feld auslesen breZZer Webentwicklung 3 18.01.2012 12:04
einzelnes gerät im netzwerk für internet sperren Horstroad Netzwerk & Internet 3 27.03.2011 09:48
einzelnes öffnen von bildern einer dia suryoyo Software 3 18.12.2008 21:47
Front Soundausgang für einzelnes Programm Fend Windows 3 03.09.2008 16:50
[C/C++] - Einzelnes Edit-Feld Updaten Tholke Programmierung & Entwicklung 2 29.07.2008 14:42



Alle Zeitangaben in WEZ +1. Es ist jetzt 10:59 Uhr.
vBulletin Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.