Herzlich Willkommen im einzigen (deutschsprachigem) Picaxe-Forum.

Der Ursprung dieses Forum reicht bis in das Jahr 2008 zurück


elektronischer Würfel

#1 von BoomBoomMagic , 26.01.2019 18:57

Ein Klassiker aus meinen Anfängen mit der Picaxe - passend zum Thema : Zufallszahl





Das Prinzip ist sehr einfach , es werden 4 Ausgänge genutzt.
Drei dieser Ausgänge sind jeweils mit 2 LED bestückt für die Zahlen : 2 - 4 - 6
Um die zahlen 1 - 3 - 5 darstellen zu können , wird an einem weiteren Ausgang nur eine LED gesetzt.
Damit sind alle Zahlen von 1 - 6 darstellbar.




Als Quellcode habe ich einmal 3 verschiedene Variationen entwickelt :

1. die simpelste Methode per Zufall eine Zahl zwischen 1 und 6 zu ermitteln
und dann entsprechende Ausgänge schalten:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 

#picaxe 08M2
 
let dirsc=%00010111
 

main:
 
if pinc.3=1 then
pause 200
do
loop until pinc.3=0
gosub Auswertung
endif
 
goto main
 

Auswertung:
let pinsc=0

RANDOM w0
w1 = w0 // 6 + 1

if w1=1 then
high 0
endif

if w1=2 then
high 4
endif

if w1=3 then
high 0,4
endif

if w1=4 then
high 1,2
endif

if w1=5 then
high 0,1,2
endif

if w1=6 then
high 1,2,4
endif

return
 

 



2. den Würfel würfeln lassen , sprich: zwischen 1x und 10x per Zufall erst würfel und dann anzeigen :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
 

#picaxe 08m2
 
let dirsc=%00010111
 
main:
 
if pinc.3=1 then
' kurz warten ob Tastendruck auch gültig war . . . .
pause 200
 
if pinc.3=1 then' Tastendruck war gültig !
' Zufallszahl zwischen 1 und 10 berechnen
random w2
w3=w2 // 10+1
 
' an Hand der Zufallszahl eine Schleife
for b8=1 to w3
'Zufallszahl zwischen 1 und 6 berechnen
gosub Berechnen

'Zufallszahl anzeigen
gosub Auswertung
pause 250

next b8
endif
do
loop until pinc.3=0
 
endif
 
goto main
 

Berechnen:
RANDOM w0
w1 = w0 // 6 + 1
return
 

Auswertung:
let pinsc=0
select case w1
case=1
high 0
 
case=2
high 4

case=3
high 0,4

case=4
high 1,2

case=5
high 0,1,2

case=6
high 1,2,4
end select
 
return
 
 





3. den würfeln Effekt verstärken und den Würfel ausrollen lassen ,
mit blinkendem Endergebnis :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
 

#picaxe 08m2
 
let dirsc=%00010111
 
main:
 
if pinc.3=1 then
' kurz warten ob Tastendruck auch gültig war . . . .
pause 200
 
if pinc.3=1 then' Tastendruck war gültig !

' Zufallszahl zwischen 1 und 10 berechnen
random w2
w3=w2 // 10+1
w3=w3*6
w6=300/w3
 
' an Hand der Zufallszahl eine Schleife
for b8=1 to w3
'Zufallszahl zwischen 1 und 6 berechnen
gosub Berechnen

'Zufallszahl anzeigen
gosub Auswertung
w5=w6*b8
pause w5

next b8
endif
do
loop until pinc.3=0
endif
 
goto main
 

Berechnen:
RANDOM w0
w1 = w0 // 6 + 1
return
 

Auswertung:
let pinsc=0
select case w1
case=1
for b9=1 to 3
high 0
pause 100
let pinsc=0
pause 200
next b9
high 0
 
case=2
for b9=1 to 3
high 4
pause 100
let pinsc=0
pause 200
next b9
high 4

case=3
for b9=1 to 3
high 0,4
pause 100
let pinsc=0
pause 200
next b9
high 0,4

case=4
for b9=1 to 3
high 1,2
pause 100
let pinsc=0
pause 200
next b9
high 1,2

case=5
for b9=1 to 3
high 0,1,2
pause 100
let pinsc=0
pause 200
next b9
high 0,1,2

case=6
for b9=1 to 3
high 1,2,4
pause 100
let pinsc=0
pause 200
next b9
high 1,2,4

end select
 
return
 

 

|addpics|nqa-3-6758.gif,nqa-4-5bbd.jpg|/addpics|


 
BoomBoomMagic
Beiträge: 879
Registriert am: 24.01.2019

zuletzt bearbeitet 26.01.2019 | Top

   

Zufallszahl richtig berechnen
4-flammige Adventskranzbeleuchtung mit Flackereffekt

Picaxe Editor 5.5.5 Download
Update auf Picaxe Editor 5.5.6 Download
Picaxe Editor 6.x.x.x Download
Manual1.pdf        -      Grundwissen Download
Manual2.pdf        -      Befehle Download
Manual3.pdf        -      Beispiele Download


Press [Backspace] for back to Menu


Counter
Xobor Forum Software ©Xobor.de | Forum erstellen
Datenschutz