• Global community
    • Language:
      • Deutsch
      • English
      • EspaƱol
      • FranƧais
      • PortuguĆŖs
  • ę—„ęœ¬čŖžć‚³ćƒŸćƒ„ćƒ‹ćƒ†ć‚£
    Dedicated community for Japanese speakers
  • ķ•œźµ­ ģ»¤ė®¤ė‹ˆķ‹°
    Dedicated community for Korean speakers
Exit
0

I have a problem in creating word search game

Community Beginner ,
Aug 10, 2015 Aug 10, 2015

Copy link to clipboard

Copied

Here is my code .. This is my word search game ...In word list array ...these are my questions to find in grid in the game...my questions how can i type other languages  (tamil language)in the array or how can i use the other languages in grids and how can i fill rest of grids with tamil letters manually or randomly




import flash.display.*;
import flash.text.*;
import flash.geom.Point;
import flash.events.*;
import flash.net.FileFilter;
import flash.filters.GlowFilter;


const puzzleSize:uint = 20;
const spacing:Number = 24;
const outlineSize:Number = 20;
const offsetoint = new Point(162.9,179.7);
const offsettoint = new Point(300,265);
const spacingg:Number = 36;
const letterFormat:TextFormat = new TextFormat("Bamini",18,0x000000,true,false,false,null,null,TextFormatAlign.CENTER);

// words and grid
var wordList:Array;
var usedWords:Array;
var grid:Array;

// game state
var dragModetring;
var startPoint,endPointoint;
var numFound:int;

// sprites
var gameSpriteprite;
var outlineSpriteprite;
var oldOutlineSpriteprite;
var letterSpritesprite;
var wordsSpriteprite;



startWordSearch
();

function startWordSearch() {
**// word list**



wordList
= ("Lion,Tiger,Cheetah,Panther".split(",";

// set up the sprites
gameSprite
= new Sprite();
addChild
(gameSprite);

oldOutlineSprite
= new Sprite();
gameSprite
.addChild(oldOutlineSprite);

outlineSprite
= new Sprite();
gameSprite
.addChild(outlineSprite);

letterSprites
= new Sprite();
gameSprite
.addChild(letterSprites);

wordsSprite
= new Sprite();
gameSprite
.addChild(wordsSprite);

// array of letters
var letters:Array = placeLetters();

// array of sprites
grid
= new Array();
for(var x:int=0;x<puzzleSize;x++) {
grid
[x] = new Array();
for(var y:int=0;y<puzzleSize;y++) {

// create new letter field and sprite
var newLetter:TextField = new TextField();
newLetter
.defaultTextFormat = letterFormat;
newLetter
.x = x*spacing + offset.x;
newLetter
.y = y*spacing + offset.y;
newLetter
.width = spacing;
newLetter
.height = spacing;
newLetter
.text = letters[x][y];
newLetter
.selectable = false;
var newLetterSpriteprite = new Sprite();
newLetterSprite
.addChild(newLetter);
letterSprites
.addChild(newLetterSprite);
grid
[x][y] = newLetterSprite;

// add event listeners
newLetterSprite
.addEventListener(MouseEvent.MOUSE_DOWN, clickLetter);
newLetterSprite
.addEventListener(MouseEvent.MOUSE_OVER, overLetter);
}
}

// stage listener
stage
.addEventListener(MouseEvent.MOUSE_UP, mouseRelease);

// create word list fields and sprites
for(var i:int=0;i<usedWords.length;i++) {
//var myglow:GlowFilter=new GlowFilter();
//myglow.color = 0x0000FF;
//myglow.blurX=5;
//myglow.blurY=5;
//myglow.strength=200;

var newWord:TextField = new TextField();
newWord
.defaultTextFormat = letterFormat;
newWord
.x = 700;
newWord
.y = i*spacingg+offsett.y;
newWord
.width =140;
newWord
.height =spacing;
newWord
.text = usedWords[i];
//newWord.filters=[myglow];
newWord
.selectable = false;

wordsSprite
.addChild(newWord);
}

// set game state
dragMode
= "none";
numFound
= 0;
}

// place the words in a grid of letters
function placeLetters():Array {

// create empty grid
var letters:Array = new Array();
for(var x:int=0;x<puzzleSize;x++) {
letters
[x] = new Array();
for(var y:int=0;y<puzzleSize;y++) {
letters
[x][y] = "*";
}
}

// make copy of word list
var wordListCopy:Array = wordList.concat();
usedWords
= new Array();

// make 1000 attempts to add words
var repeatTimes:int = 1000;
repeatLoop
:while (wordListCopy.length > 0) {
if (repeatTimes-- <= 0) break;

// pick a random word, location and direction
var wordNum:int = Math.floor(Math.random()*wordListCopy.length);
var wordtring = wordListCopy[wordNum].toUpperCase();
x
= Math.floor(Math.random()*puzzleSize);
y
= Math.floor(Math.random()*puzzleSize);
var dx:int = Math.floor(Math.random()*3)-1;
var dy:int = Math.floor(Math.random()*3)-1;
if ((dx == 0) && (dy == 0)) continue repeatLoop;

// check each spot in grid to see if word fits
letterLoop
:for (var j:int=0;j<word.length;j++) {
if ((x+dx*j < 0) || (y+dy*j < 0) || (x+dx*j >= puzzleSize) || (y+dy*j >= puzzleSize)) continue repeatLoop;
var thisLettertring = letters[x+dx*j][y+dy*j];
if ((thisLetter != "*" && (thisLetter != word.charAt(j))) continue repeatLoop;
}

// insert word into grid
insertLoop
:for (j=0;j<word.length;j++) {
letters
[x+dx*j][y+dy*j] = word.charAt(j);
}

// remove word from list
wordListCopy
.splice(wordNum,1);
usedWords
.push(word);
}

// fill rest of grid with random letters
for(x=0;x<puzzleSize;x++) {
for(y=0;y<puzzleSize;y++) {
if (letters[x][y] == "*" {
letters
[x][y] = String.fromCharCode(65+Math.floor(Math.random()*26));
}
}
}

return letters;
}

// player clicks down on a letter to start
function clickLetter(event:MouseEvent) {
var lettertring = event.currentTarget.getChildAt(0).text;
startPoint
= findGridPoint(event.currentTarget);
dragMode
= "drag";
}

// player dragging over letters
function overLetter(event:MouseEvent) {
if (dragMode == "drag" {
endPoint
= findGridPoint(event.currentTarget);

// if valid range, show outline
outlineSprite
.graphics.clear();
if (isValidRange(startPoint,endPoint)) {
drawOutline
(outlineSprite,startPoint,endPoint,0x66CCFF);
}
}
}

// mouse released
function mouseRelease(event:MouseEvent) {
if (dragMode == "drag" {
dragMode
= "none";
outlineSprite
.graphics.clear();

// get word and check it
if (isValidRange(startPoint,endPoint)) {
var word = getSelectedWord();
checkWord
(word);
}
}
}

// when a letter is clicked, find and return the x and y location
function findGridPoint(letterSpritebject)oint {

// loop through all sprites and find this one
for(var x:int=0;x<puzzleSize;x++) {
for(var y:int=0;y<puzzleSize;y++) {
if (grid[x][y] == letterSprite) {
return new Point(x,y);
}
}
}
return null;
}

// determine if range is in the same row, column, or a 45 degree diagonal
function isValidRange(p1,p2ointšŸ˜žBoolean {
if (p1.x == p2.x) return true;
if (p1.y == p2.y) return true;
if (Math.abs(p2.x-p1.x) == Math.abs(p2.y-p1.y)) return true;
return false;
}

// draw a thick line from one location to another
function drawOutline(sprite,p1,p2oint,c:Number) {
var offoint = new Point(offset.x+spacing/2, offset.y+spacing/2);
s
.graphics.lineStyle(outlineSize,c);
s
.graphics.moveTo(p1.x*spacing+off.x ,p1.y*spacing+off.y);
s
.graphics.lineTo(p2.x*spacing+off.x ,p2.y*spacing+off.y);
}

// find selected letters based on start and end points
function getSelectedWord()tring {

// determine dx and dy of selection, and word length
var dx = endPoint.x-startPoint.x;
var dy = endPoint.y-startPoint.y;
var wordLength:Number = Math.max(Math.abs(dx),Math.abs(dy))+1;

// get each character of selection
var wordtring = "";
for(var i:int=0;i<wordLength;i++) {
var x = startPoint.x;
if (dx < 0) x -= i;
if (dx > 0) x += i;
var y = startPoint.y;
if (dy < 0) y -= i;
if (dy > 0) y += i;
word
+= grid[x][y].getChildAt(0).text;
}
return word;
}

// check word against word list
function checkWord(wordtring) {

// loop through words
for(var i:int=0;i<usedWords.length;i++) {

// compare word
if (word == usedWords[i].toUpperCase()) {
foundWord
(word);
}

// compare word reversed
var reverseWordtring = word.split("".reverse().join("";
if (reverseWord == usedWords[i].toUpperCase()) {
foundWord
(reverseWord);
}
}
}

// word found, remove from list, make outline permanent
  
function foundWord(wordtring) {

// draw outline in permanent sprite
drawOutline
(oldOutlineSprite,startPoint,endPoint,0xE01212);

// find text field and set it to gray
for(var i:int=0;i<wordsSprite.numChildren;i++) {
if (TextField(wordsSprite.getChildAt).text.toUpperCase() == word) {
TextField(wordsSprite.getChildAt).textColor = 0xFF0000;
}
}

// see if all have been found
numFound
++;
if (numFound ==usedWords.length) {
endGame
();

}
}

function endGame() {
gotoAndStop
("gameover";
cleanUp
();
Timee.stop();

}

function cleanUp() {
removeChild
(gameSprite);
gameSprite
= null;
grid
= null;
vv
=null;
}



pls help and thanks

TOPICS
ActionScript

Views

721

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 11, 2015 Aug 11, 2015

Copy link to clipboard

Copied

use a font that supports the language you want to use and embed your font.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 17, 2015 Aug 17, 2015

Copy link to clipboard

Copied

No i want to use tamil letters in the whole grid .........

i want to create a grid manually   like this

[[0, 0, 'ą®µ', 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],

[0, 0, 'ą®£', 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],

[0, 0, 'ą®•ąÆ', 0, 0, 0, 0, 0, 0, 'S',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],

[0, 0, 'ą®•', 0, 0, 0, 0, 0, 0, 'E',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],

[0, 0, 'ą®®ąÆ', 0, 0, 0, 0, 0, 0, 'T',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],

[0, 0, 0, 0, 0, 0, 0, 0, 'F', 'T',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],

['D', 'E', 'F', 'A', 'U', 'L', 'T', 0, 'L', 'I',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],

[0, 0, 0, 0, 0, 0, 0, 0, 'A', 'N',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],

[0, 0, 0, 0, 0, 0, 0, 0, 'S', 'G',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],

[0, 0, 'P', 'U', 'B', 'L', 'I', 'S', 'H', 'S',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];

the out put will be

tamil grid.PNG

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 17, 2015 Aug 17, 2015

Copy link to clipboard

Copied

and what's the problem?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 17, 2015 Aug 17, 2015

Copy link to clipboard

Copied

how can i apply these array in my above first foremost code .......

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 18, 2015 Aug 18, 2015

Copy link to clipboard

Copied

what happens when you change wordList and the font?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 18, 2015 Aug 18, 2015

Copy link to clipboard

Copied

Capture1111.PNG

when i try to change the font it shows like this ...its not perfect tamil letters anymore ..........(here one tamil letters converted two or three words )

thats y i tried manully fill the grid with the tamil letters

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 19, 2015 Aug 19, 2015

Copy link to clipboard

Copied

because tamil is a syllabic and not alphabetic language you probably will need to re-write that script.  i didn't realize tamil is so different from the languages with which i am familiar.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 19, 2015 Aug 19, 2015

Copy link to clipboard

Copied

Ya thats right .......can pls help me to rewrite the script

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 20, 2015 Aug 20, 2015

Copy link to clipboard

Copied

that's more work than i do for free.

if you want to hire me to do that, send an email via http://www.kglad.com > contact.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 21, 2015 Aug 21, 2015

Copy link to clipboard

Copied

LATEST

its k thanks ...........i completed this game

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Aug 11, 2015 Aug 11, 2015

Copy link to clipboard

Copied

Are you asking about a different way to organize your data? Here's one approach using a 2-dimensional object.

var wordList : Object = {

"cheetah" : { "en" : "cheetahEnglish", "tamil" : "cheetahTamil" },

"panther" : { "en" : "pantherEnglish", "tamil" : "pantherTamil" }

};

trace( wordList[ "cheetah" ][ "en" ] );

trace( wordList[ "cheetah" ][ "tamil" ] );

trace( wordList[ "panther" ][ "en" ] );

trace( wordList[ "panther" ][ "tamil" ] );

/* output:

cheetahEnglish

cheetahTamil

pantherEnglish

pantherTamil

*/

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines