Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pytanie] Częstrze powtarzanie liczb w Random()


Rekomendowane odpowiedzi

Opublikowano

Witam. Chciałbym aby wylosowało się 9 liczb z zakresu 1-7.

$rand1 = Random(1,7,1)
$rand2 = Random(1,7,1)
$rand3 = Random(1,7,1)
$rand4 = Random(1,7,1)
$rand5 = Random(1,7,1)
$rand6 = Random(1,7,1)
$rand7 = Random(1,7,1)
$rand8 = Random(1,7,1)
$rand9 = Random(1,7,1)

I chciałbym żeby wylosowane liczby częściej się powtarzały niż domyślnie np raz losuje 6 takich samych liczb + 3 inne a czasem 2 takie same + 7 innych. Mam nadzieje że ktoś rozumie o co mi chodzi i pomoże. A potrzebuje tego bo robię grę "Sloot Machine" i za rzadko się w niej wygrywa więc muszę zrobić coś żeby wygrywało się częściej

Cipka - Najlepszy silnik na świecie. Działa z tłokiem każdej średnicy, wbudowana funkcja samosmarowania, odpalasz jednym palcem i co miesiąc sam się wymienia olej. Szkoda tylko że ma taki pojebany komputer pokładowy.

Opublikowano

For $zmienna = 0 to 9 step +1

  1. $rand1 = Random(1,7,1)

Next

nie sprawdzałem, ale powinno działać. a to z tym że więcej razy 1 liczbę to się nie da ;) zrób mniej liczb

qxv1fr.jpg


by NovusOrdo


It is better to keep your mouth closed and let people think you are a fool than to open it and remove all doubt. ~Mark Twain

Opublikowano

For $zmienna = 0 to 9 step +1

  1. $rand1 = Random(1,7,1)

Next

nie sprawdzałem, ale powinno działać. a to z tym że więcej razy 1 liczbę to się nie da ;) zrób mniej liczb

 

Ten kod tylko powtarza losowanie 9 razy a nie sprawia że częściej losują sie takie same liczby...

Cipka - Najlepszy silnik na świecie. Działa z tłokiem każdej średnicy, wbudowana funkcja samosmarowania, odpalasz jednym palcem i co miesiąc sam się wymienia olej. Szkoda tylko że ma taki pojebany komputer pokładowy.

Opublikowano

For $zmienna = 0 to 9 step +1

  1. $rand1 = Random(1,7,1)

Next

nie sprawdzałem, ale powinno działać. a to z tym że więcej razy 1 liczbę to się nie da ;) zrób mniej liczb

 

Ta pętla wykonuje się 10 razy ;)

 

 

Ten kod tylko powtarza losowanie 9 razy a nie sprawia że częściej losują sie takie same liczby...

 

Random to random... w c++ bardziej się możesz pobawić niż tutaj, ale tak czy owak... to jest losowość, nie % na daną liczbę (czyli np. nie ma więcej szans na 3 czy też 5).

9obpmnjr.png

Opublikowano

Jak to się nie da ?
Jaja sobie robicie ?
A warunek if ?
i np.

if $wynik = 5 then 
random($wynik-1,$wynik+1,1)
endif

daje nam to szanse na 5 w ch*j razy większa...
Jak czegoś nie rozumiesz z tego autorze posta to mogę pomóż Ci w tym.

Wiem że to będzie skomplikowane ale wszystko się da -.-

 

 

Hmmm 5 min myślenia i coś mam.
Łap to

While 1
	$1=Random(1,7,1)
	$2=Random(1,7,1)
$Wynik =	random($1,$2,1)

if $Wynik>0 then
MsgBox(0,"",$Wynik)
endif
WEnd

Teraz wysoka szansa na trafienie samych 7
masz to

#include<array.au3>
dim $tab[8]
While 1
	for $s=1 to 7
	$1=Random(1,7,1)
	$2=Random(1,7,1)
$Wynik =	random($1,$2,1)
if $wynik=0 then
	$wynik=7
	endif
$tab[$s] = $wynik
next
_ArrayDisplay($tab)
WEnd

Jeżeli chcesz mniejszą to też coś wymyślę za chwilę :)
Tylko daj znać

 

I jeszcze nie wiem jakie efekty wizualne chcesz dać ale pobaw się i oceń czy ma to sens :)
Kod zrobiony na odpier*** byle żebyś zobaczył jak wskakują liczby

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include<array.au3>
dim $tab[8]
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 530, 293, 192, 124)
$Label1 = GUICtrlCreateLabel("0", 56, 96, 54, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("0", 112, 96, 54, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label3 = GUICtrlCreateLabel("0", 168, 96, 54, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label6 = GUICtrlCreateLabel("0", 344, 96, 54, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label5 = GUICtrlCreateLabel("0", 288, 96, 54, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label4 = GUICtrlCreateLabel("0", 224, 96, 54, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label7 = GUICtrlCreateLabel("0", 400, 96, 54, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Button1 = GUICtrlCreateButton("Start", 64, 128, 385, 65)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		case $Button1
			for $s=1 to 7
	$1=Random(1,7,1)
	$2=Random(1,7,1)
$Wynik =	random($1,$2,1)
if $wynik=0 then
	$wynik=7
	endif
$tab[$s] = $wynik
next
GUICtrlSetData($Label1,$tab[1])
Sleep(500)
GUICtrlSetData($Label2,$tab[2])
Sleep(500)
GUICtrlSetData($Label3,$tab[3])
Sleep(500)
GUICtrlSetData($Label4,$tab[4])
Sleep(500)
GUICtrlSetData($Label5,$tab[5])
Sleep(500)
GUICtrlSetData($Label6,$tab[6])
Sleep(500)
GUICtrlSetData($Label7,$tab[7])

EndSwitch

WEnd


I jeszcze szybka myśl zmiany szansy na 7 na jakąkolwiek inną liczbę :)
Myślę że ten kod Cię już zadowoli

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include<array.au3>
dim $tab[8]
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 530, 293, 192, 124)
$Label1 = GUICtrlCreateLabel("0", 56, 96, 54, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("0", 112, 96, 54, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label3 = GUICtrlCreateLabel("0", 168, 96, 54, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label6 = GUICtrlCreateLabel("0", 344, 96, 54, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label5 = GUICtrlCreateLabel("0", 288, 96, 54, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label4 = GUICtrlCreateLabel("0", 224, 96, 54, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label7 = GUICtrlCreateLabel("0", 400, 96, 54, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Button1 = GUICtrlCreateButton("Start", 64, 128, 385, 65)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		case $Button1
			for $s=1 to 7
	$1=Random(1,7,1)
	$2=Random(1,7,1)
$Wynik =	random($1,$2,1)
$tab[$s] = $wynik
next
$random = Random(1,7,1)
for $s = 1 to 7
	if $tab[$s]=0 then
		$tab[$s]=$random
	endif
	next
GUICtrlSetData($Label1,$tab[1])
Sleep(500)
GUICtrlSetData($Label2,$tab[2])
Sleep(500)
GUICtrlSetData($Label3,$tab[3])
Sleep(500)
GUICtrlSetData($Label4,$tab[4])
Sleep(500)
GUICtrlSetData($Label5,$tab[5])
Sleep(500)
GUICtrlSetData($Label6,$tab[6])
Sleep(500)
GUICtrlSetData($Label7,$tab[7])

EndSwitch

WEnd

v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v^v
 

Opublikowano

Nooooooooooo taaaa dzięki nie do końca kumam ten kod ale jakoś już sobie sam poradziłem ale masz lajka :D

Cipka - Najlepszy silnik na świecie. Działa z tłokiem każdej średnicy, wbudowana funkcja samosmarowania, odpalasz jednym palcem i co miesiąc sam się wymienia olej. Szkoda tylko że ma taki pojebany komputer pokładowy.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...