線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2306
推到 Plurk!
推到 Facebook!

賓果遊戲,如何產生25個亂數

尚未結案
Mosquito
一般會員


發表:4
回覆:5
積分:1
註冊:2005-01-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-10 00:02:35 IP:211.74.xxx.xxx 未訂閱
之前寫的賓果遊戲想多加一個亂數取號的功能 但是沒學過亂數,沒亂數的概念 程式目的: 取25個亂數,範圍1~25,不重複,儲存到edit(1~25)
rogan321
高階會員


發表:21
回覆:307
積分:200
註冊:2003-05-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-10 00:18:49 IP:203.204.xxx.xxx 未訂閱
#include "stdlib.h"//下面函式需要的標題檔
 srand((unsigned)time(NULL));//對時間做亂數
 int Point=rand()% 1;//取亂數範圍1~25
 Edit1->Text=IntToStr(Point);
 
或參考這篇樂透的解法~大同小異 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=61818 發表人 - rogan321 於 2005/01/10 00:22:04
Mosquito
一般會員


發表:4
回覆:5
積分:1
註冊:2005-01-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-10 00:39:42 IP:211.74.xxx.xxx 未訂閱
    int Point[25];//取亂數範圍1~25
    srand((unsigned)time(NULL));//對時間做亂數
    for ( int ran=1 ; ran<=25 ; ran  )
    {
       Point[ran]=rand()% 1;
    }
    for ( int system=1 ; system<=25 ; system   )
    {
       TEdit *edit = dynamic_cast(FindComponent("Edit"   IntToStr(system)));
       edit->Text=IntToStr(Point[system]);
    }
還是怪怪的,會重複,最後一個數字會超出範圍
blk5743
高階會員


發表:34
回覆:371
積分:236
註冊:2003-11-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-10 09:14:00 IP:61.66.xxx.xxx 未訂閱
[quote]      for ( int ran=1 ; ran<=25 ; ran++)     {        Point[ran]=rand()%25+1;     } 這只會產生1~25的亂數,當然會重複 最後一個數字會超出範圍 你的最後一個參數是Point[25],你妳只宣告到Point[0]~Point[24](共25個) [/quote
blk5743
高階會員


發表:34
回覆:371
積分:236
註冊:2003-11-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-10 09:23:07 IP:61.66.xxx.xxx 未訂閱
int i,j,Temp; bool BRepeat; for ( i = 0; i < 25; i++ ) {     do{         BRepeat = false         Temp = rand()%25+1;         for ( j=0 ; j(FindComponent("Edit" IntToStr(system))); edit->Text=IntToStr(Point[system]); }
 
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-01-10 12:23:58 IP:211.76.xxx.xxx 未訂閱
大家好: 插個花! 因為該遊戲的資料是固定的,1~25。 所以可以將1~25的數字存在一陣列中,再隨機選擇交換該陣列中的元素,這樣就可以避免掉判斷資料是否重複的問題,又能獲得打亂後的排列結果。 RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====#####
Mosquito
一般會員


發表:4
回覆:5
積分:1
註冊:2005-01-04

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-01-10 17:26:04 IP:211.74.xxx.xxx 未訂閱
感謝blk5743 & rogan321 的回答
系統時間:2024-06-01 22:28:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!