Jackpot

Printer-friendly versionSend to friendPDF version
Intermediate

This sample application has been developed by Streamezzo.
It is a jackpot (fruit machine).

<%@page import="com.streamezzo.odp.slidingcarousel2d.SlidingCarousel2DConstants" %> <%@page import="com.streamezzo.components.texttobitmap.TextToBitmap" %> <%@page import="com.streamezzo.odp.adaptation.image.ImageResult" %> <%@page import="com.streamezzo.odp.adaptation.AdaptationUtils" %> <%@page import="com.streamezzo.odp.adaptation.layout.LayoutDebugUtils" %> <%@page import="com.streamezzo.odp.adaptation.skin.Skin" %> <%@page import="com.streamezzo.odp.adaptation.layout.Container" %> <%@page import="com.streamezzo.odp.connector.AdaptationTransaction" %> <%@page import="com.streamezzo.odp.connector.StzConnectorsManager" %> <%@page import="com.streamezzo.odp.connector.AdaptationConnector" %> <%@page import="com.streamezzo.odp.utils.RequestParameterContext" %> <%@page import="com.streamezzo.odp.utils.ShapeUtils" %> <%@page import="com.streamezzo.odp.slidingcarousel2d.SlidingCarousel2DParameters" %> <%@page import="com.streamezzo.odp.slidingcarousel2d.SlidingCarousel2DItem" %> <%! final static boolean DEBUG = false; final static int nbVisibleItems = 3; final static String[] NAMES = new String[]{"Watermelon", "Seven", "Lemon", "Bell", "Plum", "Bar", "Orange", "Cherry"}; final static int nbItems = NAMES.length; public static String vec2intToString(int[] v) { return v[0] + " " + v[1]; } %> <% int screenWidth = userAgent.getScreenWidth(); int screenHeight = userAgent.getScreenHeight(); %>
" resolution="1" encodingType="0" colorBits="8" lengthBits="16" idBits="16" scaleBits="15"/> import script.*; import script.util.*; 0) { bet++; credits--; updateValues(); } } public void updateValues() { DomApi.setTextString("CreditValueTxt", ""+credits); DomApi.setTextString("BetValueTxt", ""+bet); } public void checkIfYouWin() { String s1 = script.util.DomApi.getTextString("C1FocusedItemName"); String s2 = script.util.DomApi.getTextString("C2FocusedItemName"); String s3 = script.util.DomApi.getTextString("C3FocusedItemName"); int win = 0; // Three match if((s1.compareTo(s2) == 0) && (s1.compareTo(s3) == 0)){ win = bet * 100; } else{ // Two match if((s1.compareTo(s2) == 0) || (s1.compareTo(s3) == 0) || (s2.compareTo(s3) == 0)){ win = bet * 10; } } if(win != 0){ credits += win; DomApi.setTextString("YouWinText", "YOU WIN "+win+" $ !"); DomApi.startNode("ShowYouWinText"); } bet = 1; if(credits == 0) { DomApi.startNode("GameOver"); }else{ credits--; updateValues(); } } ]]> <% AdaptationConnector adaptationConnector = StzConnectorsManager.getAdaptationConnector(stzRequest.getService(), /*Cache TTL*/0); AdaptationTransaction tx = (AdaptationTransaction) adaptationConnector.beginTransaction(stzRequest, "jackpot", "jackpot"); Skin skin = tx.getSkin(); Container rootContainer = tx.getRootContainer(/*Layout Id*/"layout"); // Add carousel images and apply the resizing policies ImageResult unfocused = null, focused = null; for (int i = 0; i < NAMES.length; i++) { focused = AdaptationUtils.addImage(NAMES[i].toLowerCase(), /*Cache TTL*/360000, stzRequest, authoring, skin, rootContainer); unfocused = AdaptationUtils.addImage(NAMES[i].toLowerCase() + "_small", /*Cache TTL*/360000, stzRequest, authoring, skin, rootContainer); } final int[] unfocusedImagesSize = new int[]{unfocused.getWidth(), unfocused.getHeight()}; final int[] focusedImagesSize = new int[]{focused.getWidth(), focused.getHeight()}; float carouselHeight = rootContainer.getChildByIdRecurs("Carousel1").getHeight(); int iconsSpacing = (int) ((carouselHeight - (nbVisibleItems - 1) * unfocusedImagesSize[1] - focusedImagesSize[1]) / (nbVisibleItems - 1)); %> <% for (int i = 0; i < NAMES.length; i++) { %> " streamID="<%= NAMES[i].toLowerCase() + "_small" %>"/> " streamID="<%= NAMES[i].toLowerCase() %>"/> <% } %> <% Container betLabel = rootContainer.getChildByIdRecurs("BetLabel"); Container creditsLabel = rootContainer.getChildByIdRecurs("CreditLabel"); TextToBitmap ttb = new TextToBitmap(); ttb.setFontColor(skin.getColor("ScoresLabelColor").getColor()); ttb.setTextBounds(betLabel.getBounds()); ttb.setFontFace(TextToBitmap.Verdana); InputStream text1 = ttb.generateBitmapInputStreamFromText("Credits :"); authoring.addImage("creditsLabel", text1, 0); int fontSize = ttb.computeFontSizeForText("Credits :"); ttb = new TextToBitmap(); ttb.setFontColor(skin.getColor("ScoresLabelColor").getColor()); ttb.setFontSize(fontSize); ttb.setFontFace(TextToBitmap.Verdana); InputStream text2 = ttb.generateBitmapInputStreamFromText("Bet :"); authoring.addImage("betLabel", text2, 0); %> <% Container betValue = rootContainer.getChildByIdRecurs("BetValue"); Container creditValue = rootContainer.getChildByIdRecurs("CreditValue"); %> " displayRect="<%= betValue.getSize() %>" horizAlign="CENTERED" vertAlign="MIDDLE" size="LARGE" style="BOLD"/> " displayRect="<%= creditValue.getSize() %>" horizAlign="CENTERED" vertAlign="MIDDLE" size="LARGE" style="BOLD"/> <% Container scoresbox = rootContainer.getChildByIdRecurs("Scores"); %> " displayRect="<%= scoresbox.getSize() %>" wrap="true" size="LARGE" style="BOLD" horizAlign="CENTERED" vertAlign="MIDDLE"/> <% ImageResult spinResized = AdaptationUtils.addImage("spin-off", /*Cache TTL*/360000, stzRequest, authoring, skin, rootContainer); AdaptationUtils.addImage("spin-on", /*Cache TTL*/360000, stzRequest, authoring, skin, rootContainer); AdaptationUtils.addImage("bet-off", /*Cache TTL*/360000, stzRequest, authoring, skin, rootContainer); AdaptationUtils.addImage("bet-on", /*Cache TTL*/360000, stzRequest, authoring, skin, rootContainer); %> <% Container betButton = rootContainer.getChildByIdRecurs("BetButton"); Container spinButton = rootContainer.getChildByIdRecurs("SpinButton"); ttb = new TextToBitmap(); ttb.setFontColor(skin.getColor("ButtonsLabelColor").getColor()); ttb.setTextBounds((int) (spinResized.getWidth() * 0.8f), (int) (spinResized.getHeight() * 0.8f)); ttb.setFontFace(TextToBitmap.Verdana); ttb.setFontStyle(TextToBitmap.BOLD); text1 = ttb.generateBitmapInputStreamFromText("(2) Spin"); authoring.addImage("spinButtonLabel", text1, 0); fontSize = ttb.computeFontSizeForText("(2) Spin"); ttb = new TextToBitmap(); ttb.setFontColor(skin.getColor("ButtonsLabelColor").getColor()); ttb.setFontSize(fontSize); ttb.setFontFace(TextToBitmap.Verdana); ttb.setFontStyle(TextToBitmap.BOLD); text2 = ttb.generateBitmapInputStreamFromText("(1) Bet"); authoring.addImage("betButtonLabel", text2, 0); %> <% Container buttonsBox = rootContainer.getChildByIdRecurs("Buttons"); %> " displayRect="<%= buttonsBox.getSize() %>" wrap="true" size="LARGE" style="BOLD" horizAlign="CENTERED" vertAlign="MIDDLE"/> <% Container carouselsBox = rootContainer.getChildByIdRecurs("Carousels"); Container carousel1 = rootContainer.getChildByIdRecurs("Carousel1"); Container carousel2 = rootContainer.getChildByIdRecurs("Carousel2"); Container carousel3 = rootContainer.getChildByIdRecurs("Carousel3"); %> <% for (int i = 0; i < NAMES.length; i++) { %> "> "> "> <% } %> <% // Items SlidingCarousel2DItem[] c1Items = new SlidingCarousel2DItem[nbItems]; SlidingCarousel2DItem[] c2Items = new SlidingCarousel2DItem[nbItems]; SlidingCarousel2DItem[] c3Items = new SlidingCarousel2DItem[nbItems]; for (int i = 0; i < nbItems; i++) { SlidingCarousel2DItem c1Item = new SlidingCarousel2DItem(); c1Item.setImageFocusedDef("Global:IconFocused_" + i); c1Item.setImageUnfocusedDef("Global:IconUnfocused_" + i); c1Item.setOnFocusCallback("Global:MyFocus_C1_" + i); c1Items[i] = c1Item; SlidingCarousel2DItem c2Item = new SlidingCarousel2DItem(); c2Item.setImageFocusedDef("Global:IconFocused_" + i); c2Item.setImageUnfocusedDef("Global:IconUnfocused_" + i); c2Item.setOnFocusCallback("Global:MyFocus_C2_" + i); c2Items[i] = c2Item; SlidingCarousel2DItem c3Item = new SlidingCarousel2DItem(); c3Item.setImageFocusedDef("Global:IconFocused_" + i); c3Item.setImageUnfocusedDef("Global:IconUnfocused_" + i); c3Item.setOnFocusCallback("Global:MyFocus_C3_" + i); c3Items[i] = c3Item; } %> <% // RequestParameterContext RequestParameterContext context = new RequestParameterContext(); // General context.addParameter(SlidingCarousel2DParameters.INSERT_TARGET, "Global:C1Anchor"); context.addParameter(SlidingCarousel2DParameters.DEF_PREFIX, "C1"); // Items context.addParameter(SlidingCarousel2DParameters.ITEMS, c1Items); // Display context.addParameter(SlidingCarousel2DParameters.ICON_UNFOCUSED_SIZE, vec2intToString(unfocusedImagesSize)); context.addParameter(SlidingCarousel2DParameters.ICON_FOCUSED_SIZE, vec2intToString(focusedImagesSize)); context.addParameter(SlidingCarousel2DParameters.NB_ICONS_DISPLAYED, nbVisibleItems); context.addParameter(SlidingCarousel2DParameters.PADDING, iconsSpacing); context.addParameter(SlidingCarousel2DParameters.WHEEL_EFFECT_WEIGHT, 2); context.addParameter(SlidingCarousel2DParameters.FIRST_FOCUSED_ITEM_INDEX, 0); context.addParameter(SlidingCarousel2DParameters.IS_HORIZONTAL, false); context.addParameter(SlidingCarousel2DParameters.AUTO_FOCUS_ON_CLICK, false); context.addParameter(SlidingCarousel2DParameters.CALLBACK_FOCUS_EVEN_IF_NO_CHANGE, true); context.addParameter(SlidingCarousel2DParameters.NAVIGATION_MODE, SlidingCarousel2DConstants.KEYPAD); context.addParameter(SlidingCarousel2DParameters.RANDOM_LAUNCH_COMMAND, "Global:LaunchCarousel1"); // Setup context.setup(stzRequest); %> <% context.clean(stzRequest); %> <% // RequestParameterContext context = new RequestParameterContext(); // General context.addParameter(SlidingCarousel2DParameters.INSERT_TARGET, "Global:C2Anchor"); context.addParameter(SlidingCarousel2DParameters.DEF_PREFIX, "C2"); // Items context.addParameter(SlidingCarousel2DParameters.ITEMS, c2Items); // Display context.addParameter(SlidingCarousel2DParameters.ICON_UNFOCUSED_SIZE, vec2intToString(unfocusedImagesSize)); context.addParameter(SlidingCarousel2DParameters.ICON_FOCUSED_SIZE, vec2intToString(focusedImagesSize)); context.addParameter(SlidingCarousel2DParameters.NB_ICONS_DISPLAYED, nbVisibleItems); context.addParameter(SlidingCarousel2DParameters.PADDING, iconsSpacing); context.addParameter(SlidingCarousel2DParameters.WHEEL_EFFECT_WEIGHT, 2); context.addParameter(SlidingCarousel2DParameters.FIRST_FOCUSED_ITEM_INDEX, 1); context.addParameter(SlidingCarousel2DParameters.IS_HORIZONTAL, false); context.addParameter(SlidingCarousel2DParameters.AUTO_FOCUS_ON_CLICK, false); context.addParameter(SlidingCarousel2DParameters.CALLBACK_FOCUS_EVEN_IF_NO_CHANGE, true); context.addParameter(SlidingCarousel2DParameters.NAVIGATION_MODE, SlidingCarousel2DConstants.KEYPAD); context.addParameter(SlidingCarousel2DParameters.RANDOM_LAUNCH_COMMAND, "Global:LaunchCarousel2"); // Setup context.setup(stzRequest); %> <% context.clean(stzRequest); %> <% // RequestParameterContext context = new RequestParameterContext(); // General context.addParameter(SlidingCarousel2DParameters.INSERT_TARGET, "Global:C3Anchor"); context.addParameter(SlidingCarousel2DParameters.DEF_PREFIX, "C3"); // Items context.addParameter(SlidingCarousel2DParameters.ITEMS, c3Items); // Display context.addParameter(SlidingCarousel2DParameters.ICON_UNFOCUSED_SIZE, vec2intToString(unfocusedImagesSize)); context.addParameter(SlidingCarousel2DParameters.ICON_FOCUSED_SIZE, vec2intToString(focusedImagesSize)); context.addParameter(SlidingCarousel2DParameters.NB_ICONS_DISPLAYED, nbVisibleItems); context.addParameter(SlidingCarousel2DParameters.PADDING, iconsSpacing); context.addParameter(SlidingCarousel2DParameters.WHEEL_EFFECT_WEIGHT, 2); context.addParameter(SlidingCarousel2DParameters.FIRST_FOCUSED_ITEM_INDEX, 2); context.addParameter(SlidingCarousel2DParameters.IS_HORIZONTAL, false); context.addParameter(SlidingCarousel2DParameters.AUTO_FOCUS_ON_CLICK, false); context.addParameter(SlidingCarousel2DParameters.CALLBACK_FOCUS_EVEN_IF_NO_CHANGE, true); context.addParameter(SlidingCarousel2DParameters.NAVIGATION_MODE, SlidingCarousel2DConstants.KEYPAD); context.addParameter(SlidingCarousel2DParameters.RANDOM_LAUNCH_COMMAND, "Global:LaunchCarousel3"); // Setup context.setup(stzRequest); %> <% context.clean(stzRequest); %> <% if (DEBUG) { %> <% LayoutDebugUtils.debugLayoutAlpha(authoring, stzRequest, currentTransform, rootContainer, screenWidth, screenHeight, 0.5f); %> <% } %>
AttachmentSize
Jackpot.swz719.64 KB
Share this