Attributes

Attributes is a series of mini-games for the TI-83 family written in TIBasic. To quote Kyros, the author, about how in general they work:

they require the attribute of their name to complete, or score high on.

So far, there are 5 "episodes": Persistence, Luck, Endurance, Perception, and Detection

general info

author- Kyros
language- TIBASIC (source only)
made for- TI-83 family

notes on source notation-
notes on notation-
!= not equal
=> greater than/equal
<= less than/equal
-> store variable
_ is a not-overly-obvious blank space
{L1} represents a list variable

Persistence

a password-guessing persistence game. You have a password. guess the number right, get to guess the next one. get it wrong,and you have to start over. it's really aggravating past five numbers. but…persist!

get it!

(source code only. program it ;)

Program: persist
:input "length?", Z
:for(P,1,Z)
:randint(7,9)->X
:randint(2,4)->Y
:10X+Y->{L1}(P
:end
:Lbl 1
:clrhome
:disp "go!"
:for(P,1,Z
:0->Y
:While Y=0
:getkey->Y
:End
:if y != {L1}(P
:goto 1
:if p<=16
:output(8, P,"*
:end
:disp "you win"

Luck

It's really sheer dumb luck, although probability might help you get higher scores. You press one of two to five buttons. If it's a randomly selected bad button, you die. if it's good, you score and start over. fewer buttons= higher score constant, although a higher chance of dying.

get it!

(source code only. program it ;)

program:luck
:Clrhome
:disp "how many?
:input "buttons?(2-5)_ _ _", A
:0->X
:int(A
:If A>5:5->A
:If A<2:2->A
:If A=2:"2->str1
:If A=3:"3->str1
:If A=4:"4->str1
:If A=5:"5->str1
:"1 to_"+str1->str1
:while 1
:disp "press a button", str1
:0
:while Y!=0:getkey->Y:end
:if Y=92: 1->Y
:if Y=93: 2->Y
:if Y=94: 3->Y
:if Y=82: 4->Y
:if Y=83: 5->Y
:if Y=>1 and Y<=5:goto T
:0->Y
:Lbl T
:if Y=randint(1,A) or Y>A or Y=0: goto S
:X+(-A+7)->X
:clrhome
:disp "you didn't die."
:end
:Lbl S
:disp "you luck has","Run out!","","your score:",X

Endurance

It's button pushing. really fast. you press a button, over and over. stop and it ends. keep doing it and you score higher until you can endure no more.

get it!

(source code only. program it ;)

Program:endure
:0->X
:disp "Endurance","","Press 2nd","To begin"
:repeat Ans=21:getkey:end
:clrhome
:disp "go!"
:Lbl 1
:0->Y
:Repeat ans=21 or Y=15
:Y+1->Y
:getkey
:end
:if Y=15
:goto S
:X+1->X
:goto 1
:Lbl S
:clrhome
:disp "done! score:",x

Perception

it generates a random number on the screen somewhere for a short time. then, you push the key corresponding to that number and move on. or lose, because you're not perceptive enough.

get it!

UAS1 (KNC, found below) required
(source code only. program it ;)

PROGRAM:PERCEPT
:Disp "BEGIN- PUSH 2nd"
:400-> P
:0->X
:Lbl 1
:clrhome
:randint(0,9)->Y
:output(randint(1,8),randint(1,16),Y
:for (θ,1,P
:end
:clrhome
:disp "PRESS NUMBER
:0->θ
:Repeat θ!=0
:getkey->θ
:end
:prgmKNC
:if Y!=θ
:goto S
:X+5->X
:P-5->P
:if P<=0
:5->P
:goto 1
:Lbl S
:disp "done! score:",X

Detection

the computer follows 5 rules:
1. the number is between 1 and 9
2. you get 4 clues of your choice
3. the clues are either answered with "<", "<=", "=>", or ">"
4. a (pseudo)random three of these are true (if it's less than, one of the first two, equal to, one of the second or third, greater than, last two.)
5. one of them is randomly answered (a "lie"), and has a 50% chance of being not true.

so, really, you press a button 1-9 to get a clue. it will tell you what it is, or "lie" about it. then you guess the number and either win or lose.

get it!

UAS1 (KNC, found below) required
(source code only. program it ;)

PROGRAM:DETECT
:">≥≤<"->str1
:randint(1,9)->Y
:4->P
:0->X
:Lbl 1
:Disp "push guess
:0->θ
:repeat θ!=0
:getkey->θ
:end
:prgmKNC
:if θ<Y:randint(1,2)->Z
:if θ=Y:randint(2,3)->Z
:if θ>Y:randint(3,4)->Z
:disp θ
:if randint(1,P)=1 and X=0
:then
:disp sub(str1,randint(1,4),1)
:1->X
:else
:disp sub(str1,Z,1
:end
P-1->P
:if P!=0
:goto1
:input "guess:", θ
:disp Y
:if θ=Y
:then
:disp "yes! you win!"
:else
:disp"no! fail!"
:end

misc.

UAS 1

Universal Attributes Subroutine 1: Key-Number conversion

PROGRAM:KNC
:if θ=72:7->θ
:if θ=73:8->θ
:if θ=74:9->θ
:if θ=82:4->θ
:if θ=83:5->θ
:if θ=84:6->θ
:if θ=92:1->θ
:if θ=93:2->θ
:if θ=94:3->θ
:if θ=102:0->θ

Boredom

a really bad, unofficial addition to the series. press 2nd and do nothing else.

PROGRAM:BOREDOM
:disp "BEGIN-PRESS 2nd"
:0->X
:repeat ans=21
:getkey
:end
:0
:Repeat ans !=0
:X+1->X
:output(8,1,X
:getkey
:end
:disp "DONE!",X

upcoming episodes

Kyros states that he makes the "attributes" games because

I get really bored sometimes. "Luck" and the beginning of "Endurance" began in band after I was done taking a test. "Persistence" was made on the bus when nobody was talking to me.

So, basically, it's never far out of my reach. And because i can!

So, there is no real plan for making a new one soon, although he would like to make "patience" (the original intent of both "endurance" and "boredom") eventually.


return to projects

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License