電腦遊戲製作開發設計論壇 首頁 電腦遊戲製作開發設計論壇
任何可以在PC上跑的遊戲都可以討論,主要以遊戲之製作開發為主軸,希望讓台灣的遊戲人有個討論、交流、教學、經驗傳承的園地
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

Google
猜數字遊戲

 
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式初級班:語法及基礎概念
上一篇主題 :: 下一篇主題  
發表人 內容
satanupup
喜歡上這裡的冒險者


註冊時間: 2007-05-29
文章: 80

68.10 果凍幣

發表發表於: 2009-5-17, PM 4:53 星期日    文章主題: 猜數字遊戲 引言回覆

代碼:
// fq001.cpp : 義主控台應用程式的進入點。
//
#include "stdafx.h"

string int2str(int &);


int main(void)
{
      
//**************************************************
   string idStr;
   int hand=0, count = 0,numA=0,numB=0;
   int sum;
   string s;
   
   srand(time(NULL));
   sum=(rand()%9001)+1000;
 
   s = int2str(sum);  //整數sum 轉換成字串 s

   bool isID=false;
   string num="0123456789";

   do {
      count++;
      cout<<"請輸入四個數字 :";
      cin >>idStr;
      cout<<"你輸入的是"<<idStr<<endl;  //輸入數字的部份
      
      if(idStr[0] == idStr[1] || idStr[0] == idStr[2] || idStr[0] == idStr[3] || idStr[1] == idStr[2] || idStr[1] == idStr[3] || idStr[2] == idStr[3])
      {
         cout<<"出現重複數字 YOU LOSE"<<endl;
         main();
      }
      cout<<sum<<endl;//答案

      //   if (idStr.substr(0,3).find_first_not_of("0123")   != string::npos) //確認是否輸入的是數字
         //   cout<<"請輸入數字! "<<endl;
//***************************************************************************

      if(s[0] == s[1] || s[0] == s[2] || s[0] == s[3] || s[1] == s[2] || s[1] == s[3] || s[2] == s[3])
      {
         cout<<"出現重複數字 遊戲提早結束"<<endl;
         main();
      }

      if(s[0]==idStr[0])
         numA++;
      if(s[1]==idStr[1])
         numA++;
      if(s[2]==idStr[2])
         numA++;
      if(s[3]==idStr[3])
         numA++;
      //******************************************
      if( s[1] == idStr[0] || s[2] == idStr[0] || s[3] == idStr[0])
         numB++;
      if(s[0] == idStr[1] || s[2] == idStr[1] || s[3] == idStr[1])
         numB++;
      if(s[0] == idStr[2] || s[1] == idStr[2] || s[3] == idStr[2])
         numB++;
      if(s[0] == idStr[3] || s[1] == idStr[3] || s[2] == idStr[3])
         numB++;
      cout<<numA<<"A"<<numB<<"B"<<endl;
      numA=0;
      numB=0;
      
//***************************************************************************
      //   if (idStr.substr(0,3).find_first_not_of("0123")   != string::npos)
         if ( idStr == s){  //輸入的數字 等於 隨機亂數的話遊戲過關
            isID=true;
            cout<<"you win"<<"共輸入了: "<<count<<" 次";}
   }while (!isID);
//***************************************************/

   system("pause");
}

string int2str(int &i) {
  string s;
  stringstream ss(s);
  ss << i;

  return ss.str();
}
回頂端
檢視會員個人資料 發送私人訊息
hk8100_00
偶而上來逛逛的過客


註冊時間: 2009-06-27
文章: 10

255.69 果凍幣

發表發表於: 2009-8-10, PM 12:47 星期一    文章主題: 引言回覆

你的程式運行不到 !!
Very Happy 你寫C++ ??
Crying or Very sad Why not #include <iostream>
回頂端
檢視會員個人資料 發送私人訊息
yag
Site Admin


註冊時間: 2007-05-02
文章: 688

2673.35 果凍幣

發表發表於: 2009-8-11, AM 9:43 星期二    文章主題: 引言回覆

hk8100_00 寫到:
你的程式運行不到 !!
Very Happy 你寫C++ ??
Crying or Very sad Why not #include <iostream>

他使用了先行編譯標頭檔 -- stdafx.h
你要使用vc++的專案建置精靈去建置一個console專案才能copy他的程式碼
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
hk8100_00
偶而上來逛逛的過客


註冊時間: 2009-06-27
文章: 10

255.69 果凍幣

發表發表於: 2009-8-13, PM 12:15 星期四    文章主題: 引言回覆

我的版本

代碼:

#include <iostream>
#include <windows.h>  // 引入SetConsoleTitle
#include <ctime>  // 引入亂數

using namespace std;

int main()
{
    SetConsoleTitle("猜數字遊戲 V3.1");  // 標題
    system("color b");  // 文字顏色
   
    cout << "關於本程式" << endl;
    cout << "撰寫語言 : C++" << endl;
    cout << "作者 : C++初學者" << endl << endl;
    system("pause");
    system("cls"); // 進入下一頁
   
    int p,u;
    cout << "請設定最高猜錯數字值(最高值 : " << INT_MAX << ") : "; // 設定
    cin >> p;
    cout << "請設定猜數字範圍(最高值 : " << INT_MAX << ") : "; // 設定
    cin >> u;
    system("cls"); // 進入下一頁
   
     cout << "猜數字遊戲 V3.1" << endl;
     cout << "猜數字範圍   : " << u << endl;
     cout << "猜錯最高數字 : " << p << endl << endl;
     system("pause");
     system("cls"); // 進入下一頁
// -------------------------------------------------------------------------------
 char q;
 int l=0;
     do // 第一層迴圈
     {
       srand(time(NULL)); // 設定亂數種子
       int z=rand()%u;
       int c;
         do // 第二層迴圈
         {
           cout << "猜錯次數   : " << l << endl;
           cout << "請輸入數字 : ";
           cin >> c;
           if(c>z) // 數字大過z就進入這處
           {
             cout << "這數字太大了 !!" << endl << endl;
             l++; // 每猜錯一次,l就增加1 l++ <-- l=l+1
           }
           else if(c<z) // 數字小過z就進入這處
           {
             cout << "這數字太小了 !!" << endl << endl;
             l++; // 每猜錯一次,l就增加1 l++ <-- l=l+1
           }
           else if(c==z)  // 猜中的話進入這處
           {
             cout << endl << "你猜中了 !!" << endl << endl;
             break; // 跳出第二層迴圈
           }
               if(l==p) // 當l達到p的時候,就進入這處
               {
                 cout << "< < < < < < < Game over > > > > > > >" << endl << endl;
                 break; // 跳出第二層迴圈
               }
         
         }while(c!=z); // 當c不等於z的時候就進入迴圈
       
        cout << "你還要繼續 !!" << endl;
        cout << "Y 繼續 || 任何鍵 Exit" << endl;
        cout << "指令 : ";
        cin >> q;
        system("cls");
        l=0; // 因為是進入新遊戲,所以將l設置0
     }while(q=='Y'||q=='y'); // 當輸入y的時候就進行迴圈
}

回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式初級班:語法及基礎概念 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
可以 在這個版面附加檔案
可以 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作