### Author Topic: A clock  (Read 4962 times)

0 Members and 1 Guest are viewing this topic.

#### Handmixer

• LV2 Member (Next: 40)
• Posts: 21
• Rating: +0/-0
##### A clock
« on: December 20, 2013, 02:18:05 pm »
A Watch with Roman numbers.
Just for fun.

The code...
Code: [Select]
EXPORT Clock()BEGIN LOCAL t,tt,h,m; LOCAL s,nums,i,x,y; LOCAL ux,uy,x1,y1,x2,y2; nums:="ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ"; // Init GUI DIMGROB_P(G1,320,240); REPEAT  RECT_P(G1,#000000);  FOR i FROM 1 TO 12 DO   x:=152+100*SIN(i*π/6);   y:=110-100*COS(i*π/6);   TEXTOUT_P(CHAR(nums(i)),G1,x,y,0,#FFFF00);   END;  t:=Time();  tt:=HMS→(t);  h:=tt;  ux:=SIN(h*π/6);  uy:=COS(h*π/6);  x:=160+45*ux;  y:=120-45*uy;  x1:=160+5*uy;  y1:=120+5*ux;  x2:=160-5*uy;  y2:=120-5*ux;  TRIANGLE_P(G1,x,y,x1,y1,x2,y2,#FFFFFF,0,0);  m:=IP(FP(tt)*100);  ux:=SIN(m*π/50);  uy:=COS(m*π/50);  x:=160+90*ux;  y:=120-90*uy;  x1:=160+5*uy;  y1:=120+5*ux;  x2:=160-5*uy;  y2:=120-5*ux;  TRIANGLE_P(G1,x,y,x1,y1,x2,y2,#FFFFFF,0,0);  s:=100*FP(tt*100);  ux:=SIN(s*π/50);  uy:=COS(s*π/50);  x:=160+90*ux;  y:=120-90*uy;  x1:=160+5*uy;  y1:=120+5*ux;  x2:=160-5*uy;  y2:=120-5*ux;  TRIANGLE_P(G1,x,y,x1,y1,x2,y2,#A0A0A0,0,0);  BLIT_P(G0,G1); UNTIL ISKEYDOWN(14) ;END;
« Last Edit: December 20, 2013, 02:28:22 pm by Handmixer »

#### Xeda112358

• they/them
• Moderator
• LV12 Extreme Poster (Next: 5000)
• Posts: 4571
• Rating: +716/-6
• Calc-u-lator, do doo doo do do do.
##### Re: A clock
« Reply #1 on: December 20, 2013, 02:26:06 pm »
Hi Handmixer! I don't have an HP calc, so I can't test it, but somebody pointed out to me that your codeblock wasn't rendering nicely. Google Chrome users have noticed that nesting code blocks inside of spoilers doesn't work well. If you wanted, I could modify your post to exclude the spoiler tags, or you could by selecting "modify" on your post.

Anyways, thanks for sharing! I know we have a group of HP Prime programmers around here that might be interested in seeing the code!

#### Handmixer

• LV2 Member (Next: 40)
• Posts: 21
• Rating: +0/-0
##### Re: A clock
« Reply #2 on: December 20, 2013, 02:29:02 pm »
Thanks for letting me know

#### fb39ca4

• LV10 31337 u53r (Next: 2000)
• Posts: 1749
• Rating: +60/-3
##### Re: A clock
« Reply #3 on: December 20, 2013, 04:56:02 pm »
Huh, there's a unicode character for everything.

#### DJ Omnimaga

• Now active at https://codewalr.us
• CoT Emeritus
• LV15 Omnimagician (Next: --)
• Posts: 55821
• Rating: +3151/-232
• CodeWalrus founder & retired Omnimaga founder
##### Re: A clock
« Reply #4 on: December 20, 2013, 06:11:23 pm »
Is it supposed to look like this? I copied the code in the emulator and this is what I got:

I can't distinguish the yellow stuff and one arrow suddenly disappeared at one point.
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF

#### Handmixer

• LV2 Member (Next: 40)
• Posts: 21
• Rating: +0/-0
##### Re: A clock
« Reply #5 on: December 21, 2013, 12:20:37 am »
Sorry I don't know how to post Pictures.

The code runs on my calculator and in the emulator, and it shows a clock with roman numbers.
Perhaps the pi-sign didnt copy rigth.

#### DJ Omnimaga

• Now active at https://codewalr.us
• CoT Emeritus
• LV15 Omnimagician (Next: --)
• Posts: 55821
• Rating: +3151/-232
• CodeWalrus founder & retired Omnimaga founder
##### Re: Re: A clock
« Reply #6 on: December 21, 2013, 05:43:35 am »
That's possible. Could you maybe upload a program copy below a post? Just go to documents and settings/yourusername/appdata/roaming/HP Prime/ then copy the .hpprgm file used for your clock.

I know that certain forums have troubles with some unicode characters when pasting them and in some cases with HP Prime programs, whitespace issues can arise too when copying code due to a bug.
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF

#### timwessman

• LV3 Member (Next: 100)
• Posts: 94
• Rating: +32/-0
##### Re: A clock
« Reply #7 on: December 21, 2013, 10:26:55 am »
I'm guessing the runtime issue is that you need to be setting to radians, and restoring after.

local angle:=HAngle;

....
program body
....

HAngle:=angle;

Also, I've figured out what is going wrong here. Looks like some browsers are sticking in unicode nbsp (\u0090) in these types of blocks. I'll put that on the list of changes to handle as part of the "whitespace" skipping code. Thanks!

TW

Although I work for the HP calculator group, the comments and opinions I post here are my own.

#### Handmixer

• LV2 Member (Next: 40)
• Posts: 21
• Rating: +0/-0
##### Re: A clock
« Reply #8 on: December 21, 2013, 10:37:20 am »
Source attached including Tim's recomendation.

EDIT: now changes mode to RAD and changes back to previous angle setting when stopped by pressing any key
EDIT: bug in calculation of seconds corrected
« Last Edit: December 21, 2013, 12:12:31 pm by Handmixer »

#### timwessman

• LV3 Member (Next: 100)
• Posts: 94
• Rating: +32/-0
##### Re: A clock
« Reply #9 on: December 21, 2013, 10:50:28 am »
Also, I'd recommend using something like this at the end. It will save a lot of juice since you won't be looping continually. Also will exit cleanly on any keypress.

WAIT(1);
UNTIL GETKEY()≠−1;

TW

Although I work for the HP calculator group, the comments and opinions I post here are my own.

#### DJ Omnimaga

• Now active at https://codewalr.us
• CoT Emeritus
• LV15 Omnimagician (Next: --)
• Posts: 55821
• Rating: +3151/-232
• CodeWalrus founder & retired Omnimaga founder
##### Re: A clock
« Reply #10 on: December 21, 2013, 10:51:50 am »
Yeah I think it has to do with the forum code tags. I noticed this happening with other sites too, such as the old MoHPC forums, where almost anything pasted there would not run.

Also thanks handmixer for the upload. I'll give this a try now.

EDIT Yay it works! You should make the program automatically change settings to radians and maybe keep the previous setting in memory if that's possible in HP PPL, for people who don't like when programs overwrite their settings, since another program (Trailblazer) requires Degree mode to be on.
« Last Edit: December 21, 2013, 10:54:42 am by DJ Omnimaga »
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF

#### Handmixer

• LV2 Member (Next: 40)
• Posts: 21
• Rating: +0/-0
##### Re: A clock
« Reply #11 on: December 21, 2013, 11:15:17 am »
The file above has been updated

#### DJ Omnimaga

• Now active at https://codewalr.us
• CoT Emeritus
• LV15 Omnimagician (Next: --)
• Posts: 55821
• Rating: +3151/-232
• CodeWalrus founder & retired Omnimaga founder
##### Re: A clock
« Reply #12 on: December 21, 2013, 11:25:40 am »
There seems to be some issue with time, because I'm noticing now that the seconds arrow takes 36 seconds to loop around instead of 60
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF

#### fb39ca4

• LV10 31337 u53r (Next: 2000)
• Posts: 1749
• Rating: +60/-3
##### Re: A clock
« Reply #13 on: December 21, 2013, 11:43:43 am »
You should make the program automatically change settings to radians and maybe keep the previous setting in memory if that's possible in HP PPL, for people who don't like when programs overwrite their settings, since another program (Trailblazer) requires Degree mode to be on.
What is this, the 90s? You'd think we could have moved beyond global variables by then. I actually liked what the Nspire did, where you could add a degree sign (or a tiny r for radians) to your number. I wonder if something like this is possible with the Prime.

#### DJ Omnimaga

• Now active at https://codewalr.us
• CoT Emeritus
• LV15 Omnimagician (Next: --)
• Posts: 55821
• Rating: +3151/-232
• CodeWalrus founder & retired Omnimaga founder
##### Re: A clock
« Reply #14 on: December 21, 2013, 12:05:28 pm »
Yeah it would be nice. This was kinda annoying on Z80 calcs too.
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF