廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 6180 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
satan0124
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++][範例] 與電腦猜拳的範例
本程式僅供參考之用,並未加上除錯機制。
#include <time.h>
#include <stdlib.h>
#include <iostream>
using namespace std;

void main()
{
srand (time(0));
char a = {'a','b','c'};
char b;
int c = 0; // 暫時記錄亂數值
int d = 0; // 暫時記錄亂數值
int e = 0; // 交換兩數所暫存的變數
int w = 0; // 記錄贏的次數
int l = 0; // 記錄輸的次數

cout << "─◎─猜拳─◎─" << endl;
for(;;)
{
cout << "請選擇您要出的拳(a.剪刀 b.石頭 c.布.......q.離開): ";
cin >> b;

for(int i = 0; i <= 500; i++) // i <= 500 表對調次數,可自行修改想要進行幾次的對調
{
c = rand()%3; // 亂數取得0,1,2三數
d = rand()%3;
e = a;
a = a; // 亂數將陣列裡的三個字元對調
a = e;
}

if (a == b) // 每次猜完一次拳之後,程式會再次將字元給做對調
{
cout < ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容




獻花 x0 回到頂端 [樓 主] From:臺灣 | Posted:2009-04-28 07:27 |
ronlain
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x1 鮮花 x11
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

一點點小意見
1. 只用到a[0]其實交換500次沒有意義
2. 建議用switch寫 程式可讀性會比較好


獻花 x0 回到頂端 [1 樓] From:臺灣中華 | Posted:2009-05-09 09:08 |
海洋天使 手機
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x35
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

用 a b c 程式可讀性會降低不少

建議是用些有意義的句子囉^^


獻花 x0 回到頂端 [2 樓] From:歐洲 | Posted:2009-05-25 10:21 |
kioko
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x1
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

複製程式
#include <stdio.h>
#include <iostream> 
#include <stdlib.h> 
#include <conio.h>

using namespace std ; 

main ()
{
       int c_ai=0, c_select=0, c_count=0, c_win=0, c_lost=0, c_peace=0; 
       while(1){
              c_ai=rand()%3;
              printf("\n"); 
              printf("一@一 猜拳遊戲 一@一");
              printf("\n"); 
              printf("目前遊戲次數 %d 共獲得 %d 次勝利 %d 次失敗 %d 次平手\n",c_count,c_win,c_lost,c_peace);
              printf("\n");
              printf("請問您選擇的是 (0).剪刀 (1).石頭 (2).布 (3).離開遊戲 ... ? "); 
              scanf("%d",&c_select);
              c_count++; 
              switch(c_select){
                     case 0:
                            printf("你 出的是 < 剪刀 > ...\n");
                            switch(c_ai){
                                   case 0:
                                          printf("電腦出的是 < 剪刀 > ...\n");
                                          printf("判決 \"平手\" ...\n");
                                          c_peace++; 
                                          break;
                                   case 1:
                                          printf("電腦出的是 < 石頭 > ...\n");
                                          printf("判決 \"你輸了\" ...\n");
                                          c_lost++; 
                                          break;
                                   case 2:
                                          printf("電腦出的是 < 布 > ...\n");
                                          printf("判決 \"你勝利了\" ...\n");
                                          c_win++; 
                                          break;       
                            }
                            break; 
                     case 1:
                            printf("你 出的是 < 石頭 > ...\n");
                            switch(c_ai){
                                   case 0:
                                          printf("電腦出的是 < 剪刀 > ...\n");
                                          printf("判決 \"你勝利了\" ...\n");
                                          c_win++; 
                                          break;
                                   case 1:
                                          printf("電腦出的是 < 石頭 > ...\n");
                                          printf("判決 \"平手\" ...\n");
                                          c_peace++; 
                                          break;
                                   case 2:
                                          printf("電腦出的是 < 布 > ...\n");
                                          printf("判決 \"你輸了\" ...\n");
                                          c_lost++; 
                                          break;       
                            }
                            break; 
                     case 2:       
                            printf("你 出的是 < 布 > ...\n");
                            switch(c_ai){
                                   case 0:
                                          printf("電腦出的是 < 剪刀 > ...\n");
                                          printf("判決 \"你輸了\" ...\n");
                                          c_lost++; 
                                          break;
                                   case 1:
                                          printf("電腦出的是 < 石頭 > ...\n");
                                          printf("判決 \"你勝利了\" ...\n");
                                          c_win++; 
                                          break;
                                   case 2:
                                          printf("電腦出的是 < 布 > ...\n");
                                          printf("判決 \"平手\" ...\n");
                                          c_peace++; 
                                          break;       
                            }
                            break; 
                     case 3:
                            exit(1); 
                            break;
                     default:
                            printf("輸入錯誤請重新選擇 ...\n");
                            break; 
              } 
              getch();
              system("cls"); 
       } 
}

Switch版本


獻花 x0 回到頂端 [3 樓] From:臺灣 | Posted:2009-09-15 09:06 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.017355 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言