Nekromanti OBT6

Feuflux

omjonasson.se
Joined
8 Jan 2001
Messages
5,143
Location
Linköping
Har varit lite snack om datoriserat tärningsslagande på sistone så jag tänkte hänga på lite. Har faktiskt skrivit ett Obt6-program till min miniräknare (en TI-83):
-----------------------------------------
ClrHome
Input "ANTAL: ",A
For(X,1,A,1)
randInt(1,6)->L4(X)
End
Lbl99
For(X,1,A,1)
X->Z
0->Y
While Z>16
Z-16->Z
Y+1->Y
End
Output(3+Y,Z,L4(X))
End
1->F
For(X,1,A,1)
If L4(X)=6
Then
0->F
randInt(1,6)->L4(X)
A+1->A
randInt(1,6)->L4(A)
X-1->X
End
End
If F=0
Then
Goto99
End
0->E
For(X,1,A,1)
E+L4(X)->E
End
Output(8,1,"TOTAL: ")
Output(8,8,E)
------------------------------------
Tror jag fick med allting nu, funkar på miniräknaren iaf. /images/icons/smile.gif
 
helbra!!!


johan som direkt sätter sig med sin t83 och programmerar in detta...

/images/icons/woof.gif/images/icons/woof.gif/images/icons/dragon.gif/images/icons/dragon.gif/images/icons/witch.gif/images/icons/witch.gif/images/icons/frank.gif/images/icons/frank.gif/images/icons/oink.gif/images/icons/oink.gif
noaks ark!
-obs ..flummade bara.
 
Hur vågar du använda Goto i programmering? *morra*
Och kom inte och säga att det "bara är en miniräknare"!

(<img src="/images/icons/wink.gif" border=0 width=15 height=15>)

/RD
 
Samma till TI-86 (och 85)

Eftersom det finns många olika grafräknare så drar jag mitt strå till stacken och ger en verision till TI-86 (och TI-85 om man tar bort DelVar() raderna)

----------------------------------
ClLCD
Input "Antal:",A
0->N
1->X
2->Y
0->S
While A>N
randInt(1,6)->R
If R==6
Then
A+1->a
Else
R+S->S
N+1->N
End
Outpt(Y,X,R
If X==21
Then
Y+1->Y
1->X
Else
X+2->X
End
End
Outpt(Y+1,1,"Summa:"
Outpt(Y+1,7,S
Pause
ClLCD
DelVar(S
DelVar(N
DelVar(A
DelVar(X
DelVar(Y
DelVar(R
----------------------------------

Edit:
Jag skulle också kunna fixa en mycket mindre version, men den skulle inte visa alla kasten...
Dessutom använder mitt program inte Goto, så RipperDoc kan sova lugnt :-)
 
Re: O(T)BT6

Hur vågar du använda Goto i programmering? *morra*

1. Jag är lat.
2. Det är ingen riktig programmering, det är bara en miniräknare.

Och kom inte och säga att det "bara är en miniräknare"!

Ajajaj, slå mig inte. /images/icons/smile.gif
 
Kortare variant

Förlåt om jag är taskig, men det går att korta ner koden avsevärt. Bättre på detta sedan (vet att det går):



ClrHome
Input "ANTAL T6OR:",A
DelVar B
{0->L1

Repeat A=0
randInt(1,6->C
augment(L1,{C->L1

If C=6
Then
A+1->A
Else
A-1->A
B+C->B
End
End

Disp B
Pause L1



Nyttigt att läsa andras koder, fick faktiskt tips så att jag kunde korta ner min ännu lite till
 
Re: Kortare variant

Förlåt om jag är taskig, men det går att korta ner koden avsevärt. Bättre på detta sedan (vet att det går):

Nu fick du mig att gråta! Tack så mycket , Hygglo!!! Nä alltså, min kod är inte optimerad för fem öre. Den är skriven i ett nafs och jag har inte filat på den så jag är inte förvånad. Däremot så har jag inte full koll på kommandot augment, men miniräknarens listhantering är inte min starka sida.
 
Back
Top