[情報] BBS C++程式碼變彩色

看板C_and_CPP (C/C++)作者 (我要當壞人)時間17年前 (2007/11/07 04:06), 編輯推噓5(500)
留言5則, 5人參與, 最新討論串1/1
有鍵於之前 LiloHuang大,分享過 但是由於顏色實在太亮了 所以我改一個比較暗的色調 載點: http://mail.cycu.edu.tw/s9427222/BBS_color.rar 將所要轉的C++ code 檔名打上 結果會存在 "color_"+檔名+".txt" 裡 將它複製出來 ANSI彩色貼上(KKMAN)於BBS就行了 這個工具不會自動修改寬度 由於還是初學者,能用到這樣是我的最大能耐了 如果有什麼bug的話,請告之,我會盡量debug的 範例如下: 猜數字遊戲 ------------------------------------------------------ /**************************** ** 猜數字遊戲 1A1B ** ****************************/ /*玩家,輸入由 0~9 所組成的,四個數字*/ /*與電腦產生的答案比對, 如果所猜的位置與答案的位置相同,A的值增加 如果所猜的位置與答案的位置不相同,B的值增加*/ /* 4A0B 表示猜對了 BINGO!! */ # include <stdio.h> # include <string.h> # include <stdlib.h> # include <iostream> # include <time.h> // programmer: eddie wu 吳偉傑 // Copyright: Wu,Wei-Chieh // Department of Information and Computer Engineering // Chung Yuan Christian University // 開發平台: Windos XP // 開發環境: Dev-C++ using namespace std; typedef char Str5[5]; FILE *FilePtr;//指定寫入record.txt的指標 int guessTimes=0;//猜過的次數,為globle 全域變數 void CreateAnswer(Str5 & answer); //電腦自行產生"正確數字" void Guess(Str5 & guess); //玩家進行猜測 bool CheckGuessOk(Str5 guess); //檢查:玩字輸入的數字 void Result(Str5 answer,Str5 guess,bool & correct,bool & giveUp);//判斷結果 int main(){ Str5 answer = ""; Str5 guess = ""; bool correct = false; //是否為"正確答案 " bool giveUp = false; //是否"放棄" FilePtr = fopen("record.txt","w+");//開啟record.txt CreateAnswer(answer); do{ Guess(guess); //玩家輸入數字 if( CheckGuessOk(guess) ){ //檢查:輸入的數字,是否為正確的輸入 guessTimes++; //猜的次數,增加一次 Result(answer,guess,correct,giveUp); //判斷結果 }//if(為正確的輸入) }while( (!correct)&&(!giveUp) ); fclose(FilePtr);//關閉record.txt system("pause"); return 0; }//main() void CreateAnswer(Str5 & answer) { srand(time(NULL));//以時間函數為種子數 int ture[4];//正確數字 for(int n=0;n<4;n++)//以亂數產生正確數字 { ture[n]=rand()%(10);//產生第一數 if(n==1)//第二數重複數字就再取亂數 { while(ture[n]==ture[n-1]){ ture[n]=rand()%(10);//產生第二數 }//while }//if n==1 else if(n==2)//第三數重複數字就再取亂數 { while(ture[n]==ture[n-1] || ture[n]==ture[n-2]){ ture[n]=rand()%(10);//產生第三數 }//while }//if n==2 else if(n==3)//第四數重複數字就再取亂數 { while(ture[n]==ture[n-1] || ture[n]==ture[n-2] || ture[n]==ture[n-3]){ ture[n]=rand()%(10);//產生第四數 }//while }//if n==3 else ;//do nothing 用意: n==0 已經產生好 亂數,所以不做任何事 }//for 以亂數產生正確數字 for(int z=0;z<4;z++){ answer[z]=ture[z]+48; //char = int + 48; }//for 將產生好的亂數,放在answer的字串裡 //---------------------把answer寫入record.txt-------- fprintf(FilePtr,"電腦選定的號碼為:%s\n",answer); }//CreateAnswer void Guess(Str5 & guess) { printf("Guess Number:"); scanf("%s",&guess); }//Guess bool CheckGuessOk(Str5 guess) { if(strcmp(guess,"0") == 0) ;//do nothing 用意:不然會進入第二個判斷式(字串長度 < 4) else if( (strlen(guess) < 4) || (strlen(guess) > 4) ){ printf("please keyin four numbers!\n"); return false; }//else if 輸入的字串(小於)或者(大於)4個數字 else if( (guess[0] == guess[1]) || (guess[0] == guess[2])|| (guess[0] == guess[3]) || (guess[1] == guess[2])|| (guess[1] == guess[3]) || (guess[2] == guess[3]) ){ printf("please keyin four different numbers!\n"); return false; }//else if 判斷 玩家是否有輸入相同的數字 ex: 1244 else{ for(int i=0;i<4;i++) //char = int + 48 if( ( guess[i] < 48) || (guess[i] > 57) ){ printf("please keyin 0~9\n",guess[i]); return false; }//if }//else ex: "rt56" is not correct input,please input 0~9 return true; }//CheckGuessOk void Result(Str5 answer,Str5 guess,bool & correct,bool & giveUp) { if(strcmp(guess,"0") == 0){ giveUp=true; printf("The answer is %s\n",answer); fprintf(FilePtr,"使用者投降。\n"); return; //跳出 Result function }//if 判斷 玩家是否認輸 int a=0,b=0;//各為幾A幾B的變數 for(int i=0;i<4;i++) //檢查幾A幾B answer[i] for(int j=0;j<4;j++)// guess[j] if( answer[i] == guess[j] ){ //是否為相同的數字 if(i == j)//位置相同 a++; else //位置不同 b++; }//if(answer[i] == guess[j]) printf("%dA%dB\n",a,b); fprintf(FilePtr,"使用者第%d次猜測:%s -- %dA%dB\n",guessTimes,guess,a,b); if(a==4){ //如果猜對了 correct = true; printf("BINGO!!\n"); fprintf(FilePtr,"BINGO!!\n"); }//if (猜對了) }//Result -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.121.105.89

11/07 09:46, , 1F
Push! Thank you very much! :)
11/07 09:46, 1F
※ 編輯: eddle 來自: 59.117.173.184 (11/07 19:16)

11/07 20:40, , 2F
推,好用心
11/07 20:40, 2F

11/07 20:51, , 3F
謝謝
11/07 20:51, 3F

11/08 10:19, , 4F
:) 看來先前的版本顏色太亮是詬病 改天我那個再修正一下
11/08 10:19, 4F

11/09 09:10, , 5F
推 好棒啊~
11/09 09:10, 5F
文章代碼(AID): #17CCbOS7 (C_and_CPP)
文章代碼(AID): #17CCbOS7 (C_and_CPP)