{"id":7588,"date":"2025-12-17T00:04:44","date_gmt":"2025-12-17T00:04:44","guid":{"rendered":"https:\/\/robertjwallace.com\/?p=7588"},"modified":"2025-12-17T00:04:45","modified_gmt":"2025-12-17T00:04:45","slug":"magic-random-number-generator","status":"publish","type":"post","link":"https:\/\/robertjwallace.com\/es\/magic-random-number-generator\/","title":{"rendered":"Magic Random Number Generator"},"content":{"rendered":"<p class=\"\">This is another android phone app that I wrote with AI using the Cordova platform.  This was completely coded by the AI.  Basically it is a random generator for randomly selecting numbers, rolling dice, or picking cards.  But with a twist.  The magician can control the outcomes.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"\">This looks like a run of the mill random generator, and it is.  You can roll dice, choose cards, pick numbers.   But I wanted an app on my phone so I could perform the &#8220;finding the aces&#8221; trick described in <a href=\"https:\/\/robertjwallace.com\/es\/dice-decider\/\">https:\/\/robertjwallace.com\/dice-decider\/<\/a>.  But as long I was going to create a phone app, I decided I might as well handle cards and random numbers as well.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" width=\"452\" height=\"990\" data-src=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-1.png\" alt=\"\" class=\"wp-image-7590 lazyload\" style=\"--smush-placeholder-width: 452px; --smush-placeholder-aspect-ratio: 452\/990;aspect-ratio:0.45657469550087;width:264px;height:auto\" data-srcset=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-1-452x600.png 452w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-1-137x300.png 137w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-1-5x12.png 5w\" data-sizes=\"(max-width: 452px) 100vw, 452px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\"><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" width=\"452\" height=\"990\" data-src=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-3.png\" alt=\"\" class=\"wp-image-7592 lazyload\" style=\"--smush-placeholder-width: 452px; --smush-placeholder-aspect-ratio: 452\/990;aspect-ratio:0.4565739176815717;width:263px;height:auto\" data-srcset=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-3-452x600.png 452w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-3-137x300.png 137w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-3-5x12.png 5w\" data-sizes=\"(max-width: 452px) 100vw, 452px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\"><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" width=\"452\" height=\"990\" data-src=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-4.png\" alt=\"\" class=\"wp-image-7593 lazyload\" style=\"--smush-placeholder-width: 452px; --smush-placeholder-aspect-ratio: 452\/990;aspect-ratio:0.4565739176815717;width:264px;height:auto\" data-srcset=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-4-452x600.png 452w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-4-137x300.png 137w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-4-5x12.png 5w\" data-sizes=\"(max-width: 452px) 100vw, 452px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\"><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" width=\"452\" height=\"990\" data-src=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-5.png\" alt=\"\" class=\"wp-image-7594 lazyload\" style=\"--smush-placeholder-width: 452px; --smush-placeholder-aspect-ratio: 452\/990;aspect-ratio:0.4565739176815717;width:263px;height:auto\" data-srcset=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-5-452x600.png 452w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-5-137x300.png 137w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-5-5x12.png 5w\" data-sizes=\"(max-width: 452px) 100vw, 452px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\"><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"\">In dice mode I can switch it from generating 4 random dice, to forcing the middle two dice to add up to seven.  This is so I can perform the &#8220;Dice Decider&#8221; trick.<\/p>\n\n\n\n<p class=\"\">In card mode I can switch it to generate cards in the stack order that I use.  This allow me to have a spectator generate a &#8220;random&#8221; card and I can then read their mind.<\/p>\n\n\n\n<p class=\"\">In number mode I can switch it to generate up to six numbers that I defined.<\/p>\n\n\n\n<p class=\"\">The lower left corner of the screen is a secret &#8220;hot spot&#8221;.  If touched, it puts the app into &#8220;magic&#8221; mode.  This mode is indicated by a faint drop shadow on the &#8220;button&#8221;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" width=\"452\" height=\"990\" data-src=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-7.png\" alt=\"\" class=\"wp-image-7596 lazyload\" style=\"--smush-placeholder-width: 452px; --smush-placeholder-aspect-ratio: 452\/990;width:280px;height:auto\" data-srcset=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-7-452x600.png 452w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-7-137x300.png 137w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-7-5x12.png 5w\" data-sizes=\"(max-width: 452px) 100vw, 452px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\"><figcaption class=\"wp-element-caption\">Note the slight green drop shadow on the &#8220;Dice&#8221; button.  This indicates the app is in &#8220;magic&#8221; mode and will make the two center dice add up to 7<\/figcaption><\/figure>\n\n\n\n<p class=\"\">Long pressing on the lower left corner takes the app out of magic mode.<\/p>\n\n\n\n<p class=\"\">This hidden switch lets me show the app working normally and then secretly put it into the &#8220;magic&#8221; mode.  Then after the effect I can put it back to a normal random generator.<\/p>\n\n\n\n<p class=\"\">The title &#8220;Random Generator&#8221; is also a switch.  When long pressed it opens the settings page where I can define up to six numbers to appear when generating random numbers.<\/p>\n\n\n\n<p class=\"\">Let&#8217;s say I am doing a book test, where I generate two number between 10 and 100.  The first number is a page number, the second determines the line and the word on that line.  <\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" width=\"452\" height=\"990\" data-src=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-8.png\" alt=\"\" class=\"wp-image-7597 lazyload\" style=\"--smush-placeholder-width: 452px; --smush-placeholder-aspect-ratio: 452\/990;width:325px;height:auto\" data-srcset=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-8-452x600.png 452w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-8-137x300.png 137w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-8-5x12.png 5w\" data-sizes=\"(max-width: 452px) 100vw, 452px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\"><\/figure>\n\n\n\n<p class=\"\">With the presets above the spectator would get 11 and 27 which would mean page 11, line 2, and word 7.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" width=\"452\" height=\"990\" data-src=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-9.png\" alt=\"\" class=\"wp-image-7598 lazyload\" style=\"--smush-placeholder-width: 452px; --smush-placeholder-aspect-ratio: 452\/990;aspect-ratio:0.4565673520772136;width:345px;height:auto\" data-srcset=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-9-452x600.png 452w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-9-137x300.png 137w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-9-5x12.png 5w\" data-sizes=\"(max-width: 452px) 100vw, 452px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\"><\/figure>\n\n\n\n<p class=\"\">Since I can define up to six numbers, I can have three pairs set up.  That means I can repeat the effect, or I can let the spectator choose not to use those numbers and generate a &#8220;new&#8221; pair.<\/p>\n\n\n\n<p class=\"\">In card mode I can demonstrate that each time I generate a card it comes up with a random card.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" width=\"452\" height=\"990\" data-src=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-10.png\" alt=\"\" class=\"wp-image-7599 lazyload\" style=\"--smush-placeholder-width: 452px; --smush-placeholder-aspect-ratio: 452\/990;width:335px;height:auto\" data-srcset=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-10-452x600.png 452w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-10-137x300.png 137w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-10-5x12.png 5w\" data-sizes=\"(max-width: 452px) 100vw, 452px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\"><\/figure>\n\n\n\n<p class=\"\">But if I then secretly put it into magic mode, the next generated card will be the card in my stack that follows the last card shown.  In the image above the last card was the eight of diamonds.  In my stack, the next card is the queen of hearts.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" width=\"452\" height=\"990\" data-src=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-11.png\" alt=\"\" class=\"wp-image-7600 lazyload\" style=\"--smush-placeholder-width: 452px; --smush-placeholder-aspect-ratio: 452\/990;aspect-ratio:0.4565693635665737;width:340px;height:auto\" data-srcset=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-11-452x600.png 452w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-11-137x300.png 137w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/12\/image-11-5x12.png 5w\" data-sizes=\"(max-width: 452px) 100vw, 452px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\"><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusi\u00f3n<\/h2>\n\n\n\n<p class=\"\">This is why I think using Cordova and an Android phone is so powerful.  In a couple of hours I can prototype an app that does exactly what I want.  I can then play with it for a while, trying it out on spectators.  Then I can go back and tell the AI to make modifications.    I have complete control and it costs me nothing, other than my time.  An with AI, it doesn&#8217;t take that much of my time.<\/p>\n\n\n\n<p class=\"\">Let me know if you are interested in learning how to write your own apps.<\/p>","protected":false},"excerpt":{"rendered":"<p>This is another android phone app that I wrote with AI using the Cordova platform. This was completely coded by the AI. Basically it is a random generator for randomly selecting numbers, rolling dice, or picking cards. But with a twist. The magician can control the outcomes.<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","_eb_attr":"","footnotes":""},"categories":[192,7],"tags":[],"class_list":["post-7588","post","type-post","status-publish","format-standard","hentry","category-android-app","category-magic"],"featured_image_src":null,"featured_image_src_square":null,"author_info":{"display_name":"Bob","author_link":"https:\/\/robertjwallace.com\/es\/author\/admin\/"},"_links":{"self":[{"href":"https:\/\/robertjwallace.com\/es\/wp-json\/wp\/v2\/posts\/7588","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/robertjwallace.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/robertjwallace.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/robertjwallace.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/robertjwallace.com\/es\/wp-json\/wp\/v2\/comments?post=7588"}],"version-history":[{"count":1,"href":"https:\/\/robertjwallace.com\/es\/wp-json\/wp\/v2\/posts\/7588\/revisions"}],"predecessor-version":[{"id":7601,"href":"https:\/\/robertjwallace.com\/es\/wp-json\/wp\/v2\/posts\/7588\/revisions\/7601"}],"wp:attachment":[{"href":"https:\/\/robertjwallace.com\/es\/wp-json\/wp\/v2\/media?parent=7588"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/robertjwallace.com\/es\/wp-json\/wp\/v2\/categories?post=7588"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/robertjwallace.com\/es\/wp-json\/wp\/v2\/tags?post=7588"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}