Alice Community  

Go Back   Alice Community > Alice 2 > How do I...?

Reply
 
Thread Tools Display Modes
displaying a number without the .0 bit
Old
arty-fishL
Senior Member
 
arty-fishL's Avatar
 
Status: Offline
Posts: 1,878
Join Date: Mar 2008
Location: In the corner of your eye
Lightbulb displaying a number without the .0 bit - 06-02-2010, 07:55 PM

I have many useful python scripts, but I thought this one is simple and very practical. This will change a number to a string, without including the .0 bit (such as 2 instead of 2.0). This is useful for changing 3D text to display scores and stuff like that.

paste this python code into world script area:
Code:
import string

def stringit(numba):
    numba = round(numba,0)
    numbastring = `numba`
    numbastring = string.replace(numbastring, ".0", "")
    world.stringNo = numbastring
create a string world variable called world.stringNo

Then use the script in an Alice method by dragging in a script tile and writing stringit(1) in it, with 1 being replaced with any number or variable.

Now when you give the script a number it will return the number as a string, without any decimal point or decimal places.

Go to this website for more on python scripting in Alice.


█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█
█░░▓░░░░░░░▓░░░░░░░░░░░▓▓░░▓░░░░░░▓░░░▓░░░░█
█░▓░▓░▓▓▓░▓▓▓░▓░▓░░░░░░▓▒▒░░▒░░▓▓░▓▓▓░▓▒░░░█
█░▓▓▓▒▓▒▒▒░▓▒▒▓▓▓▒▓▓▓░▓▓▓░░▓░░░▓▒▒▓▒▓▒▓▒░░░█
█░▓▒▓▒▓▒░░░▓▓░░▒▓▒░▒▒▒░▓▒▒░▓▓░▓▓▒░▓▒▓▒▓▒░░░█
█░▓▒▓▒░▒░░░░▒▒▓▓▓▒░░░░▓▓▒░░░▒▒░▒▒░░▒░▒▓▓▓░░█
█░░▒░▒░░░░░░░░░▒▒▒░░░░░▒▒░░░░░░░░░░░░░░▒▒▒░█
█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█

I have mostly moved on from Alice, but may still respond to messages if important [-]

Last edited by arty-fishL; 06-02-2010 at 08:02 PM.
   
Reply With Quote
Old
Dameria
Senior Member
 
Dameria's Avatar
 
Status: Offline
Posts: 978
Join Date: Sep 2009
Location: United States
Default 06-02-2010, 07:58 PM

Or you could just use the "random number, Min: number, Max: number, integer = true". Thats what works on all of my programs when I need to truncate the decimal and it has always worked.

Its what I used on my maze game. Did it not work for you when you tried my maze game? If it didn't, then that would be weird because it works on my computer and my school's computers.


Check out my best projects so far and please comment:

Tic-Tac-Toe 2.0 ................... http://www.alice.org/community/showthread.php?t=3548
Alice Paint ........................... http://www.alice.org/community/showthread.php?p=23408
Real-Time Clock .................. http://www.alice.org/community/showthread.php?p=12725
Maze Game ......................... http://www.alice.org/community/showthread.php?t=4301
   
Reply With Quote
oh
Old
arty-fishL
Senior Member
 
arty-fishL's Avatar
 
Status: Offline
Posts: 1,878
Join Date: Mar 2008
Location: In the corner of your eye
Arrow oh - 06-02-2010, 08:16 PM

Didnt know that. It does work, I didnt check before.

I dont want to waste this thread, so here is how to change a string variable to a number variable using python (the opposite to what I just done). Script:
Code:
#CHANGE STRING TO NUMBER
#!!!ONLY SUPPORTS WHOLE NUMBERS
def stringtoint(what_string):
    outnum = int(what_string)
    world.number_out = outnum
#END
Create a world integer variable called world.number_out.

To use this drag a scripting tile into an Alice method and write stringtoint("10") with 10 being any text (in speech marks) or any string variable. The text must be a number, and must be an integer.


█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█
█░░▓░░░░░░░▓░░░░░░░░░░░▓▓░░▓░░░░░░▓░░░▓░░░░█
█░▓░▓░▓▓▓░▓▓▓░▓░▓░░░░░░▓▒▒░░▒░░▓▓░▓▓▓░▓▒░░░█
█░▓▓▓▒▓▒▒▒░▓▒▒▓▓▓▒▓▓▓░▓▓▓░░▓░░░▓▒▒▓▒▓▒▓▒░░░█
█░▓▒▓▒▓▒░░░▓▓░░▒▓▒░▒▒▒░▓▒▒░▓▓░▓▓▒░▓▒▓▒▓▒░░░█
█░▓▒▓▒░▒░░░░▒▒▓▓▓▒░░░░▓▓▒░░░▒▒░▒▒░░▒░▒▓▓▓░░█
█░░▒░▒░░░░░░░░░▒▒▒░░░░░▒▒░░░░░░░░░░░░░░▒▒▒░█
█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█

I have mostly moved on from Alice, but may still respond to messages if important [-]

Last edited by arty-fishL; 06-02-2010 at 08:20 PM.
   
Reply With Quote
Old
Dameria
Senior Member
 
Dameria's Avatar
 
Status: Offline
Posts: 978
Join Date: Sep 2009
Location: United States
Default 06-02-2010, 08:22 PM

Too bad Alice doesn't support java scripting or you could also do "number = Integer.parseInt(stringNumber);"

OR you could just use Alice's pre-made method "Ask user for number" and have a number variable being assigned to that.


Check out my best projects so far and please comment:

Tic-Tac-Toe 2.0 ................... http://www.alice.org/community/showthread.php?t=3548
Alice Paint ........................... http://www.alice.org/community/showthread.php?p=23408
Real-Time Clock .................. http://www.alice.org/community/showthread.php?p=12725
Maze Game ......................... http://www.alice.org/community/showthread.php?t=4301
   
Reply With Quote
Old
arty-fishL
Senior Member
 
arty-fishL's Avatar
 
Status: Offline
Posts: 1,878
Join Date: Mar 2008
Location: In the corner of your eye
Default 06-02-2010, 08:26 PM

Quote:
Originally Posted by Dameria View Post
OR you could just use Alice's pre-made method "Ask user for number" and have a number variable being assigned to that.
... unless you don't want your world to work that way, for instance when reading a save file.


█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█
█░░▓░░░░░░░▓░░░░░░░░░░░▓▓░░▓░░░░░░▓░░░▓░░░░█
█░▓░▓░▓▓▓░▓▓▓░▓░▓░░░░░░▓▒▒░░▒░░▓▓░▓▓▓░▓▒░░░█
█░▓▓▓▒▓▒▒▒░▓▒▒▓▓▓▒▓▓▓░▓▓▓░░▓░░░▓▒▒▓▒▓▒▓▒░░░█
█░▓▒▓▒▓▒░░░▓▓░░▒▓▒░▒▒▒░▓▒▒░▓▓░▓▓▒░▓▒▓▒▓▒░░░█
█░▓▒▓▒░▒░░░░▒▒▓▓▓▒░░░░▓▓▒░░░▒▒░▒▒░░▒░▒▓▓▓░░█
█░░▒░▒░░░░░░░░░▒▒▒░░░░░▒▒░░░░░░░░░░░░░░▒▒▒░█
█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█

I have mostly moved on from Alice, but may still respond to messages if important [-]
   
Reply With Quote
Old
Dameria
Senior Member
 
Dameria's Avatar
 
Status: Offline
Posts: 978
Join Date: Sep 2009
Location: United States
Default 06-02-2010, 08:30 PM

Quote:
Originally Posted by arty-fishL View Post
... unless you don't want your world to work that way, for instance when reading a save file.
How about you explain an in depth thread where you explain how file saves work? I think that would be very useful to many people here, especially me. I think it would be cool to have a game that saves a scoreboard where you can input your name and then it saves the score that you got to it, and at the end of every game you play it displays the scores from the file that you saved it to before.

Also, for some reason python scripting is not working for me. I have tried copy pasting exact python methods before from other people's programs and all it did was produce an error on my program when I tried to recreate it. Is it just my computer?


Check out my best projects so far and please comment:

Tic-Tac-Toe 2.0 ................... http://www.alice.org/community/showthread.php?t=3548
Alice Paint ........................... http://www.alice.org/community/showthread.php?p=23408
Real-Time Clock .................. http://www.alice.org/community/showthread.php?p=12725
Maze Game ......................... http://www.alice.org/community/showthread.php?t=4301
   
Reply With Quote
Old
arty-fishL
Senior Member
 
arty-fishL's Avatar
 
Status: Offline
Posts: 1,878
Join Date: Mar 2008
Location: In the corner of your eye
Arrow 06-02-2010, 08:42 PM

I just created one that supports any form of number, with or without decimal places. This works the same as above, but you can do a number with decimal places (eg 53423.343) or without them (eg 34)

script:
Code:
import string
import math

#CHANGE STRING TO NUMBER
#SUPPORTS ALL NUMBERS
def stringtoint(what_string):
    listit = string.split(what_string,".")
    listsize = len(listit)
    decimalPlaces = 1
    if(listsize == 2):
            wordlist = list(listit[1])
            decimalPlaces = len(wordlist)
            decimalPlaces = math.pow(10, decimalPlaces)
            what_string = string.replace(what_string, ".", "")
    outnum = int(what_string)
    outnum = outnum / decimalPlaces
    world.number_out = outnum
#END


█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█
█░░▓░░░░░░░▓░░░░░░░░░░░▓▓░░▓░░░░░░▓░░░▓░░░░█
█░▓░▓░▓▓▓░▓▓▓░▓░▓░░░░░░▓▒▒░░▒░░▓▓░▓▓▓░▓▒░░░█
█░▓▓▓▒▓▒▒▒░▓▒▒▓▓▓▒▓▓▓░▓▓▓░░▓░░░▓▒▒▓▒▓▒▓▒░░░█
█░▓▒▓▒▓▒░░░▓▓░░▒▓▒░▒▒▒░▓▒▒░▓▓░▓▓▒░▓▒▓▒▓▒░░░█
█░▓▒▓▒░▒░░░░▒▒▓▓▓▒░░░░▓▓▒░░░▒▒░▒▒░░▒░▒▓▓▓░░█
█░░▒░▒░░░░░░░░░▒▒▒░░░░░▒▒░░░░░░░░░░░░░░▒▒▒░█
█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█

I have mostly moved on from Alice, but may still respond to messages if important [-]
   
Reply With Quote
Old
arty-fishL
Senior Member
 
arty-fishL's Avatar
 
Status: Offline
Posts: 1,878
Join Date: Mar 2008
Location: In the corner of your eye
Arrow 06-02-2010, 08:54 PM

Quote:
Originally Posted by Dameria View Post
How about you explain an in depth thread where you explain how file saves work? I think that would be very useful to many people here, especially me. I think it would be cool to have a game that saves a scoreboard where you can input your name and then it saves the score that you got to it, and at the end of every game you play it displays the scores from the file that you saved it to before.

Also, for some reason python scripting is not working for me. I have tried copy pasting exact python methods before from other people's programs and all it did was produce an error on my program when I tried to recreate it. Is it just my computer?
Zonedabone's got some pretty good stuff on game saves on the forums, my save script is basically a modified version of his and so is my load script. I have some stuff on a load script here and a save script here.
{ the forums are messed up, I cant enter the right links for the here buttons above, it keeps saying 501: method not implemented when I try to post this reply, so the links above just link you to the main website, from there go useful scripts>agree>write to file or read from file}

Also, try doing my script and tell me what happens, because python works strangely in Alice sometimes, so external websites will need their scripts modified by you.


█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█
█░░▓░░░░░░░▓░░░░░░░░░░░▓▓░░▓░░░░░░▓░░░▓░░░░█
█░▓░▓░▓▓▓░▓▓▓░▓░▓░░░░░░▓▒▒░░▒░░▓▓░▓▓▓░▓▒░░░█
█░▓▓▓▒▓▒▒▒░▓▒▒▓▓▓▒▓▓▓░▓▓▓░░▓░░░▓▒▒▓▒▓▒▓▒░░░█
█░▓▒▓▒▓▒░░░▓▓░░▒▓▒░▒▒▒░▓▒▒░▓▓░▓▓▒░▓▒▓▒▓▒░░░█
█░▓▒▓▒░▒░░░░▒▒▓▓▓▒░░░░▓▓▒░░░▒▒░▒▒░░▒░▒▓▓▓░░█
█░░▒░▒░░░░░░░░░▒▒▒░░░░░▒▒░░░░░░░░░░░░░░▒▒▒░█
█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█

I have mostly moved on from Alice, but may still respond to messages if important [-]
   
Reply With Quote
Old
Dameria
Senior Member
 
Dameria's Avatar
 
Status: Offline
Posts: 978
Join Date: Sep 2009
Location: United States
Default 06-02-2010, 09:05 PM

Quote:
Originally Posted by arty-fishL View Post
Also, try doing my script and tell me what happens, because python works strangely in Alice sometimes, so external websites will need their scripts modified by you.
Nope it didn't work. I might have just done some simple thing wrong though like enter a parameter the wrong way? I don't know, maybe you could provide a screenshot. I have had bad luck even with the most simple displaying commands (the "Hello World" script did not even work for me)


Check out my best projects so far and please comment:

Tic-Tac-Toe 2.0 ................... http://www.alice.org/community/showthread.php?t=3548
Alice Paint ........................... http://www.alice.org/community/showthread.php?p=23408
Real-Time Clock .................. http://www.alice.org/community/showthread.php?p=12725
Maze Game ......................... http://www.alice.org/community/showthread.php?t=4301
   
Reply With Quote
screenshot
Old
arty-fishL
Senior Member
 
arty-fishL's Avatar
 
Status: Offline
Posts: 1,878
Join Date: Mar 2008
Location: In the corner of your eye
Default screenshot - 06-02-2010, 09:41 PM

look at this, maybe it will help?

oh, woops, I got my screenshot wrong, so Ive patched it up, it should say world.number instead of world.variable where labelled.
Attached Images
File Type: jpg scripting.jpg (74.4 KB, 98 views)


█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█
█░░▓░░░░░░░▓░░░░░░░░░░░▓▓░░▓░░░░░░▓░░░▓░░░░█
█░▓░▓░▓▓▓░▓▓▓░▓░▓░░░░░░▓▒▒░░▒░░▓▓░▓▓▓░▓▒░░░█
█░▓▓▓▒▓▒▒▒░▓▒▒▓▓▓▒▓▓▓░▓▓▓░░▓░░░▓▒▒▓▒▓▒▓▒░░░█
█░▓▒▓▒▓▒░░░▓▓░░▒▓▒░▒▒▒░▓▒▒░▓▓░▓▓▒░▓▒▓▒▓▒░░░█
█░▓▒▓▒░▒░░░░▒▒▓▓▓▒░░░░▓▓▒░░░▒▒░▒▒░░▒░▒▓▓▓░░█
█░░▒░▒░░░░░░░░░▒▒▒░░░░░▒▒░░░░░░░░░░░░░░▒▒▒░█
█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█

I have mostly moved on from Alice, but may still respond to messages if important [-]

Last edited by arty-fishL; 06-02-2010 at 09:45 PM.
   
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



Copyright ©2017, Carnegie Mellon University
Alice 2.x 1999-2012, Alice 3.x 2008-2012, Carnegie Mellon University. All rights reserved.