76
1 CCC Chuen Yuen College Information and Communication Technology Hong Kong Diploma of Secondary Education Examination 2012 School-based Assessment Elective D: Software Development Coursework English Vocabulary Game 6B (7)

CCC Chuen Yuen College

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CCC Chuen Yuen College

1

CCC Chuen Yuen College

Information and Communication Technology

Hong Kong Diploma of Secondary

Education Examination 2012

School-based Assessment

Elective D: Software Development Coursework

English Vocabulary Game

6B (7)

Page 2: CCC Chuen Yuen College

2

Acknowledgement

Eventually, I finished my program. So, I want to thanks the following people.

First, I want to thank my parents since they care me a lot. They always support me while I did

the program. Sometimes, I can’t run the program successfully, I was very sad about it. But, they

will provide me some snake or soup. They let me have enough energy to finish my work.

Secondly, I want to thank my classmates who helped me to solve the program or test my

program. Especially Hon Yu Fung, he helped me to find out why my computer can’t play the

sound track. This problem made me stopped a long while. Also, he suggested some way for me

to approve this report.

Finally, I want to thank my ICT teacher, Mr Hung, who prepares a lot to help us. First, he plans

the schedule for us. Second, he let us to do our coursework in some lesson times. Moreover, he

always reminded us to follow the schedule and ask if we face any problem.

Thanks very much for those people who even helped me!

Page 3: CCC Chuen Yuen College

3

Abstract

Nowadays, English is the most important and common

language of the world. A lot of companies are international,

their mostly works ordin ary use English. Also, ‘The Basic Law of

the Hong Kong Special Administrative Region of the People's

Republic of China’ used the English version shall prevail. Besides,

an example more close to the children is that University’s

teaching language also English! Thus it can be seen that English

is very important!

On the other hand, learning through playing is a good

way for student as they will not easy to feel bored. So, I will

design a game for the children to play and also learn English

vocabulary, it is Word Search! Hope that the user can learn

as much as they can!

In this coursework, I will try my best to finish it. Also, I must make a

good time management, be creative and hard work! Let me tell more

about my works through this coursework! I will tell you what is the user

requirements, the objective of project, system and language. Also, I will

introduce my program for you and bring you to play the game step by

step. Hope that my program being a good program!

Page 4: CCC Chuen Yuen College

4

Page 5: CCC Chuen Yuen College

5

Table of Content

Content Page

Acknowledgement P.2

Abstract P.3

Objective of Project P.5

System and Language P.6 - 7

User Interface Design P.8 - 13

Flowcharts P. 14 - 23

Data Structure and Algorithm Design P. 24 - 30

Files and Variables List P. 31 - 32

Program Listing P. 33 - 47

User Guide P. 48 - 52

User Comment P. 53

Testing and Evaluation P. 54 - 59

Conclusion and Discussion P. 60 - 61

Reference P. 62

Page 6: CCC Chuen Yuen College

6

Objective of Project

The aim of the School-based Assessment is to provide

effective feedback that motivates and improves learning and

broaden the learning opportunities. In this coursework, I should

imagine that I am the IT project manager responsible for a project

that to provide an information system for children to play English

vocabulary games which improve their English vocabulary for an

English language learning centre.

In the project, I have decided to use a game, Word Search, for

the children to learn English vocabulary. User need to find out all

the vocabulary within the words table, the vocabulary can be form

by all directions. User can choose the easy level, middle level or

high level to play. Each level has different required, for example,

more high level, more vocabulary should find. In each round, user

cannot be wrong more than 3 times. If they have wrong more than

3 times, the game will be over.

My program is suitable for primary 1 to 6 student

because each words table include easy vocabulary and also

difficult vocabulary. The user can choose the game level to

suit their study level, I suppose primary 1 to 2 student

choose easy level, so that they can win the game through

find less vocabulary; primary 3 to 4 student choose middle

level; primary 5 to 6 student choose high level.

Whether their English is good or not, they can check

the dictionary while they play the game. So, I can sure that

they can learn so lots if they take the game seriously. Also,

hope that I can learn much through design this program.

Page 7: CCC Chuen Yuen College

7

System and Language

Lowest System Requirements

Computer Frame PII 300 MH above or anther 100% match model

Operating System Windows 98 or above, Linux, Apple etc. support DOS

Hard Disk Driver 2 MB

RAM 128 MB

Space of Storage 5 MB

CPU Pentium 156 Hz

Image Resolution 1024 x 768

Control Mouse, Keyboard

Language:

Using language Pascal

Complier Turbo Pascal v7.0

Displaying language English

Language Type Intended use

Basic Procedural Application, Education

Pascal Procedural Application, Education

Visual Basic Event-driven Application, Education

C Imperative System

C++ Object-oriented Application, System

Java Object-oriented Application

Prolog Declarative Application, Artificial intelligence

Page 8: CCC Chuen Yuen College

8

After I found the different of each programming languages, I have decided

to choose Pascal to design my program. It is because Pascal is easier for me to

handle my program and I had learnt more about Pascal than the other. So, I can

design my program effectively and be more creative.

Quick Pascal:

Microsoft Pascal version 3.2 was released in 1986. The last version of Microsoft Pascal to be

released was version 4.0 in 1988, when Microsoft Pascal was superseded by (the somewhat

short-lived) Microsoft Quick Pascal, a cheaper development tool that Microsoft produced in order to

compete with Borland's Turbo Pascal.

Turbo Pascal:

While all versions of Turbo Pascal could include inline machine code, later versions had the ability to

easily integrate assembly language within Pascal. The user could add watches on variables and

registers in an IDE window.

DEV-Pascal:

Dev-C++ is a free integrated development environment (IDE) distributed under the GNU General

Public License for programming in C and C++. It is bundled with MinGW, a free compiler. The IDE is

written in Delphi.

For my program, I had decided to use Turbo Pascal because it is easy to

debug and I have more experiment for using it to design a program.

Page 9: CCC Chuen Yuen College

9

User Interface Design

Beginning of the program:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Word Search ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Press any key to START the game!

Have FUN!

Designed By Ikumi Chung 5/7/2011 12:34:35

Menu for choose the next step:

Word Search

1: Read the Instruction and Rules | 2: Play Game | 3: Quit the game

Please enter your choice : _

Page 10: CCC Chuen Yuen College

10

After user selects choice 1:

Word Search

1: Read the Instruction and Rules | 2: Play Game | 3: Quit the game Welcome to the game, Word Search!

………………………………………………………………………………………………

………………………………………………………………………………………………

………………………………………………………………………………………………

………………………………………………………………………………………………

Game Rules:

………………………………………………………………………………………………

………………………………………………………………………………………………

………………………………………………………………………………………………

………………………………………………………………………………………………

Press any key go back to the menu!

After user selects choice 2:

Word Search

1: Read the Instruction and Rules | 2: Play Game | 3: Quit the game

(A) Theme 1 : Holidays & Festivals

(B) Theme 2 : Food & Drink

(C) Theme 3 : Sports, Interests & Hobbies

(D) Theme 4 : School

Please choose a Theme : _

Page 11: CCC Chuen Yuen College

11

After user selects the theme:

Word Search

1: Read the Instruction and Rules | 2: Play Game | 3: Quit the game

(A) Easy Level (Find out 3 vocabulary)

(B) Middle Level (Find out 6 vocabulary)

(C) High Level (Find out all vocabulary)

Please choose a Level : _

After user selects the level:

Word Search

1: Read the Instruction and Rules | 2: Play Game | 3: Quit the game

A U B O L B D U L Y

V F E O G D R B H A

V B I N Y D A Y I Y

I P E F C H G C K T

C Y C L I N G T I G

C B A A D A X H N Z

H J W J V J S K G N

S I N G F E A X N Z

R C Q L B F X M M C

P Q C S W I M C G G

You have found: 3 Wrong: 0

You may found out all the vocabulary!

You cannot type a wrong answer more than

3 times.

Please Enter Your Answer :

_

Page 12: CCC Chuen Yuen College

12

After user type a correct answer:

Word Search

1: Read the Instruction and Rules | 2: Play Game | 3: Quit the game

A U B O L B D U L Y

V F E O G D R B H A

V B I N Y D A Y I Y

I P E F C H G C K T

C Y C L I N G T I G

C B A A D A X H N Z

H J W J V J S K G N

S I N G F E A X N Z

R C Q L B F X M M C

P Q C S W I M C G G

You have found: 3 Wrong: 0

You may found out all the vocabulary!

You cannot type a wrong answer more than

3 times.

Please Enter Your Answer :

SWIM Wow! Your answer is correct!

Continue!

7 vocabulary(s) left!

After user type a wrong answer:

Word Search

1: Read the Instruction and Rules | 2: Play Game | 3: Quit the game

A U B O L B D U L Y

V F E O G D R B H A

V B I N Y D A Y I Y

I P E F C H G C K T

C Y C L I N G T I G

C B A A D A X H N Z

H J W J V J S K G N

S I N G F E A X N Z

R C Q L B F X M M C

P Q C S W I M C G G

You have found: 3 Wrong: 1

You may found out all the vocabulary!

You cannot type a wrong answer more than

3 times.

Please Enter Your Answer :

AXNZ Sorry! Your answer is wrong!

Please try again!

7 vocabulary(s) left!

Page 13: CCC Chuen Yuen College

13

When user find all answer:

Word Search

1: Read the Instruction and Rules | 2: Play Game | 3: Quit the game

A U B O L B D U L Y

V F E O G D R B H A

V B I N Y D A Y I Y

I P E F C H G C K T

C Y C L I N G T I G

C B A A D A X H N Z

H J W J V J S K G N

S I N G F E A X N Z

R C Q L B F X M M C

P Q C S W I M C G G

You have found: 4 Wrong: 1

You may found out all the vocabulary!

You cannot type a wrong answer more than

3 times.

Conjurations!

You find all the vocabulary!

Hope you learn it all!

Do you want to play again? : _

When user have typed 3 times a wrong answer:

Word Search

1: Read the Instruction and Rules | 2: Play Game | 3: Quit the game

A U B O L B D U L Y

V F E O G D R B H A

V B I N Y D A Y I Y

I P E F C H G C K T

C Y C L I N G T I G

C B A A D A X H N Z

H J W J V J S K G N

S I N G F E A X N Z

R C Q L B F X M M C

P Q C S W I M C G G

You have found: 3 Wrong: 3

You may found out all the vocabulary!

You cannot type a wrong answer more than

3 times.

Oh No! Game is OVER!

You have wrong 3 times!

Do you want to try again? : _

Page 14: CCC Chuen Yuen College

14

If user does not want to try again:

Word Search

1: Read the Instruction and Rules | 2: Play Game | 3: Quit the game

Do you want to quit? (Y/N) : _

If user wants to quit:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Word Search ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Thank You!

BYE! BYE!

Page 15: CCC Chuen Yuen College

15

Flowcharts

Main Program:

Procedure Music:

Procedure DateAndTime:

Start

Play the music

End

Start

Display date & time

End

End

Start

Procedure Begging

Procedure GetName

Procedure Menu

Page 16: CCC Chuen Yuen College

16

Page 17: CCC Chuen Yuen College

17

Procedure Begging:

Procedure GetName:

Start

Start

Display the begging

Procedure Music

Input Key

End

Input Name

End

Page 18: CCC Chuen Yuen College

18

Procedure Instruction:

Procedure AnsOfTheme1 / Procedure AnsOfTheme2 /

Procedure AnsOfTheme3 / Procedure AnsOfTheme4:

Ans = Correct

Wrong Wrong + 1

OK OK + 1

Start

End

Yes No

Start

End

Input Key

Display Instruction

Page 19: CCC Chuen Yuen College

19

Procedure EasyLv:

Wrong > 2 or OK = 3

End

Procedure AnsOfTheme1 ThemeChoice = ‘D’

Procedure AnsOfTheme1

Procedure AnsOfTheme1

Procedure AnsOfTheme1

Yes

Yes

Yes

Yes

No

No

No

Output ‘Enter Ans’

Start

ThemeChoice = ‘A’

Input Ans

ThemeChoice = ‘B’

ThemeChoice = ‘C’

OK = 3 Wrong > 2

Output ‘Conjuration’ Output ‘Try again’

Yes Yes

Yes

No

No

Page 20: CCC Chuen Yuen College

20

Procedure NormalLv:

Wrong > 2 or OK = 6

End

Procedure AnsOfTheme1 ThemeChoice = ‘D’

Procedure AnsOfTheme1

Procedure AnsOfTheme1

Procedure AnsOfTheme1

Yes

Yes

Yes

Yes

No

No

No

Output ‘Enter Ans’

Start

ThemeChoice = ‘A’

Input Ans

ThemeChoice = ‘B’

ThemeChoice = ‘C’

OK = 6 Wrong > 2

Output ‘Conjuration’ Output ‘Try again’

No

No Yes

Yes Yes

Page 21: CCC Chuen Yuen College

21

Procedure HardLv:

Wrong > 2 or OK = 8

End

Procedure AnsOfTheme1 ThemeChoice = ‘D’

Procedure AnsOfTheme1

Procedure AnsOfTheme1

Procedure AnsOfTheme1

Yes

Yes

Yes

Yes

No

No

No

Output ‘Enter Ans’

Start

ThemeChoice = ‘A’

Input Ans

ThemeChoice = ‘B’

ThemeChoice = ‘C’

OK = 8 Wrong > 2

Output ‘Conjuration’ Output ‘Try again’

No

No

Yes

Yes Yes

Page 22: CCC Chuen Yuen College

22

Procedure Game:

Start

Lv = ‘A’

Disply Word Table

Lv = ‘B’

Lv = ‘C’

Procedure EasyLv

Procedure HardLv

Procedure NormalLv

Input Key

End

No

No Yes

Yes

Yes

Page 23: CCC Chuen Yuen College

23

Procedure Level:

Start

Output ‘Choose a Lv’

Input Lv

Lv = ‘A’ or Lv = ‘B’

or Lv = ‘C’

Themechoice = ‘A’

Themechoice = ‘B’

Themechoice = ‘C’

Themechoice = ‘D’

Procedure Game(TXT1)

Procedure Game(TXT2)

Procedure Game(TXT3)

Procedure Game(TXT4)

End

No

No

No

No

Yes

Yes

Yes

Yes

Yes

Page 24: CCC Chuen Yuen College

24

Procedure Theme:

Procedure Ending:

Start

Input Themechoice

Themechoice = ‘A’ or

Themechoice = ‘B’ or

Themechoice = ‘C’ or

Themechoice = ‘D’

End

Start

Display the Ending

Procedure Music

Input Key

End

No

Yes

Page 25: CCC Chuen Yuen College

25

Procedure Menu:

No

End

Start

Input MenuC

MenuC = 1 or

MenuC = 2 or

MenuC = 3

MenuC = 1

MenuC = 2

MenuC = 3

Procedure Theme

Procedure Instruction

Procedure Ending

MenuC = 3 No

No

No

Yes

Yes

Yes

Yes

Yes

Page 26: CCC Chuen Yuen College

26

Data Structure and Algorithm Design

Selection control structure

1. if statement

When we have two or more decision, we can use if-then statement or if-then-else statement.

Example

if (Ans = 'TEMPLE') or (Ans = 'NEWYEAR') or (Ans = 'MOONCAKE') or

(Ans = 'EASTER') or (Ans = 'LANSTER') or (Ans = 'REDPACKET') or

(Ans = 'CHRISTMAS') or (Ans = 'SANTACLAUS')

then begin

OK := OK + 1;

GotoXY(1,23); writeln('You have found: ',OK);

GotoXY(44,13); writeln('Wow! your answer is correct!');

GotoXY(44,14); writeln('Contiune!!!!!!!!!')

end

else begin

Wrong := Wrong + 1;

GotoXY(30,23); writeln('Wrong: ',Wrong);

GotoXY(44,13); writeln('Sorry! Your answer is wrong!');

GotoXY(44,14); writeln('Please try again!');

end;

end;

Syntax of if-then statement

if <Decision>

then <statement>

Syntax of if-then statement

if <Decision>

then <statement 1>

else <statement 2>

Page 27: CCC Chuen Yuen College

27

Page 28: CCC Chuen Yuen College

28

2. case statement

When there are many decisions, we can use case statement. It is easier to handle the decisions

because the syntax can be reduced.

Syntax of case statement

case <decision> of

<case 1> : <statement 1>

<case 2> : <statement 2>

~~~

<case n> : <statement n>

end

Example

case Week of

0: write(' SUNDAY ');

1: write(' MONDAY ');

2: write(' TUESDAY ');

3: write(' WEDMESDAY ');

4: write(' THURSDAY ');

5: write(' FRIDAY ');

6: write(' SATURDAY ');

end;

Page 29: CCC Chuen Yuen College

29

Iteration control structure 1. for-to-do statement

When we know how many times we should repeat the statement, use for-to-do statement can

use less resource.

2. while-do statement

We can do a loop statement when we achieve a target.

Syntax of for-to-do statement

for <count variable> := <initial value> to <final value> do

<loop statement>

Syntax of while-do statement

while <target> do

<loop statement>

Example

for i := 1 to 88 do

read(A,freq[i]);

for i := 1 to 88 do

begin

Sound(freq[i]);

Delay(80);

end;

Example

while not ( Lv in ['A'..'C'] ) do

begin

GotoXY(10,21); writeln('Sorry! Your should only enter A/B/C.');

GotoXY(10,22); write('Please try again : '); readln(Lv);

end;

Page 30: CCC Chuen Yuen College

30

3. repeat-until statement

We can do a loop statement until we achieve a target.

Syntax of repeat-until statement

repeat

<loop statement>

Until <target>

Example

repeat

GotoXY(44,11); writeln(' ');

GotoXY(44,4); writeln('You may found out 3 vocabluaries');

TextColor(YELLOW);

GotoXY(44,10); write('Please Enter Your Answer : ');

GotoXY(44,11); readln(Ans);

until (Wrong > 2) or (OK = 3);

Page 31: CCC Chuen Yuen College

31

Page 32: CCC Chuen Yuen College

32

Other functions 1. Clean all the data on the screen

2. Delay for a setting time

Syntax

Clrscr;

Example

begin { Main program }

Clrscr;

Begging;

GetName;

Menu(MenuChoice);

end.

Syntax

Delay(time);

Example

Delay(80);

Page 33: CCC Chuen Yuen College

33

Page 34: CCC Chuen Yuen College

34

3. Set the date and time

Example

procedure DateAndTime;

var

Year, Month, Day, Week : word;

Hr, Min, Sec, Sec100 : word;

begin

GetDate(Year,Month,Day,Week);

write(Day,'/',Month,'/',Year);

case Week of

0: write(' SUNDAY ');

1: write(' MONDAY ');

2: write(' TUESDAY ');

3: write(' WEDMESDAY ');

4: write(' THURSDAY ');

5: write(' FRIDAY ');

6: write(' SATURDAY ');

end;

GetTime(Hr,Min,Sec,Sec100);

write(hr,':',Min,':',Sec);

end;

Page 35: CCC Chuen Yuen College

35

Page 36: CCC Chuen Yuen College

36

4. Prepare a sound track

Example

procedure Music;{ Make the music }

var

A : TEXT;

i : integer;

freq : array [1..88] of integer;

begin

Assign(A,'abc.txt');

reset(A);

for i := 1 to 88 do

read(A,freq[i]);

for i := 1 to 88 do

begin

Sound(freq[i]);

Delay(80);

end;

Nosound;

Close(A);

end;

Page 37: CCC Chuen Yuen College

37

Page 38: CCC Chuen Yuen College

38

Files and Variables List

File Listing: File Name Function

ICTSBA.EXE Execution file of the program

ICTSBA.PAS Program code

abc.txt The sound track of the program

Theme1.txt The vocabulary table of Holidays & Festivals

Theme2.txt The vocabulary table of Food & Drink

Theme3.txt The vocabulary table of Sports, Interests & Hobbies

Theme4.txt The vocabulary table of School

Libraries used: File Name Function

Crt For running the program in crt mode

Dos For running the program with dos function

Global variables: Variable Name Type Function

Name string Save the name of the user

Ans string Save the answer typed by user

Menuchoice integer Save the user’s choice of the menu

OK integer Record the times of user typed in the correct answer

Wrong integer Record the times of user typed in the wrong answer

Themechoice char Save the user’s choice of the theme

Lv char Save the user’s choice of the level

ThemeC text Identify the theme file

Page 39: CCC Chuen Yuen College

39

Local variables in procedure Music: Variable Name Type Function

A text Identify the sound track file

i integer Counting (no meaning)

freq array[1..88] of string Read the data of sound track file

Local variables in procedure DateAndTime: Variable Name Type Function

Year, Month,

Day, Week

word Save the current day

Hr, Min, Sec,

Sec100

Word Save the current time

Local variables in procedure Game: Variable Name Type Function

TxtName string Get which theme file will be use

ch char Read the data of theme file

x, y, i integer Counting (no meaning)

Local variables in procedure Ending: Variable Name Type Function

Q char ( Have not use in the procedure )

Local variables in procedure Menu: Variable Name Type Function

MenuC integer Use of global variable ‘MenuChoice’

Page 40: CCC Chuen Yuen College

40

Page 41: CCC Chuen Yuen College

41

Program Listing

{ Title : English Vocabulary Game }

{ Name : Chung Yuk Man }

{ Class : 6B }

{ Class No : 7 }

program WordSearch;

uses Crt, Dos;

const

TxT1 = 'Theme1.txt';

TxT2 = 'Theme2.txt';

TxT3 = 'Theme3.txt';

TxT4 = 'Theme4.txt';

var

Name, Ans : string;

Menuchoice, OK, Wrong : integer;

Themechoice, Lv : char;

ThemeC : text;

procedure Music;{ Make the music }

var

A : TEXT;

i : integer;

freq : array [1..88] of integer;

begin

Assign(A,'abc.txt');

reset(A);

for i := 1 to 88 do

read(A,freq[i]);

for i := 1 to 88 do

begin

Sound(freq[i]);

Delay(80);

end;

Nosound;

Page 42: CCC Chuen Yuen College

42

Close(A);

end;

procedure DateAndTime; { Get the current date and time }

var

Year, Month, Day, Week : word;

Hr, Min, Sec, Sec100 : word;

begin

GetDate(Year,Month,Day,Week);

write(Day,'/',Month,'/',Year);

case Week of

0: write(' SUNDAY ');

1: write(' MONDAY ');

2: write(' TUESDAY ');

3: write(' WEDMESDAY ');

4: write(' THURSDAY ');

5: write(' FRIDAY ');

6: write(' SATURDAY ');

end;

GetTime(Hr,Min,Sec,Sec100);

write(hr,':',Min,':',Sec);

end;

procedure Begging; { Display the begging of game }

begin

TextColor(LIGHTGREEN);

GotoXY(5,3);

writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');

GotoXY(9,6); writeln('** ** * *****

* ');

GotoXY(9,7); writeln('** ** * ** *

* ');

GotoXY(9,8); writeln('** ** ** ** * * ** * *** ** ** * * **

**** ');

GotoXY(9,9); writeln(' ** ** ** * * ** * ** * ** * ** * * ** * *

* ');

GotoXY(9,10); writeln(' ** ** ** * ** * ***** **** ** * * ** *

Page 43: CCC Chuen Yuen College

43

* ');

GotoXY(5,13);

writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');

Music;

TextColor(YELLOW);

GotoXY(26,16); writeln('Press any key to START the game!');

GotoXY(36,18); writeln('Have FUN!');

TextColor(LIGHTBLUE);

GotoXY(5,24); writeln('Designed By Ikumi Chung');

GotoXY(52,24); DateAndTime;

Readkey;

Clrscr;

end;

procedure GetName; { Get the user name }

begin

TextColor(YELLOW);

GotoXY(20,10); writeln('Hello! Can you tell me your name first?');

GotoXY(20,15); write('Please enter your name here : ');

readln(Name);

GotoXY(20,20); writeln('Thank you! ',Name);

Clrscr;

end;

procedure Instruction; { Display the rules }

begin

writeln;

TextColor(LIGHTGREEN);

writeln(Name,', welcome to the game, Word Search!');

writeln('Please Read The Game Rules Below!!');

writeln;

TextColor(CYAN);

Page 44: CCC Chuen Yuen College

44

writeln('Objective: Find out the vocabulary within the words table!');

writeln('Tips: The vocabularies can be form by all directions.');

writeln;

TextColor(LIGHTBLUE);

writeln('In the game, you can choose the game level: Easy, Middle or High level!');

writeln('Higher level, more vocabularies should find out.');

writeln;

TextColor(LIGHTRED);

writeln('You cannot be wrong more than 3 times in each round.');

writeln('The game will be over when you make 3 time mistakes!!!');

writeln;

writeln;

TextColor(LIGHTMAGENTA);

writeln('The most suitable player of this program is primary student!');

writeln('Whether your English is good or not, this game also good for you.');

writeln('You would have fun with finding the words cause it is exciting!');

writeln('If you find difficulties, you can check the dictionary while you are playing!');

writeln;

TextColor(YELLOW);

writeln('So, lets play the game and have fun! Good lucky!');

writeln;

TextColor(YELLOW+BLINK);

writeln('( Press any key back to the menu! )');

Readkey;

TextColor(LIGHTGRAY);

Clrscr;

end;

procedure AnsOfTheme1; { Check if the answer is correct of theme1 }

begin

if (Ans = 'TEMPLE') or (Ans = 'NEWYEAR') or (Ans = 'MOONCAKE') or

(Ans = 'EASTER') or (Ans = 'LANSTER') or (Ans = 'REDPACKET') or

(Ans = 'CHRISTMAS') or (Ans = 'SANTACLAUS')

then begin

OK := OK + 1;

GotoXY(1,23); writeln('You have found: ',OK);

GotoXY(44,13); writeln('Wow! your answer is correct!');

GotoXY(44,14); writeln('Contiune!!!!!!!!!')

Page 45: CCC Chuen Yuen College

45

end

else begin

Wrong := Wrong + 1;

GotoXY(30,23); writeln('Wrong: ',Wrong);

GotoXY(44,13); writeln('Sorry! Your answer is wrong!');

GotoXY(44,14); writeln('Please try again!');

end;

end;

procedure AnsOfTheme2; { Check if the answer is correct of theme2 }

begin

if (Ans = 'SANDWICH') or (Ans = 'HAMBURGER') or (Ans = 'TEA') or

(Ans = 'DIMSUM') or (Ans = 'COKE') or (Ans = 'COFFEE') or

(Ans = 'MILK') or (Ans = 'SUSHI')

then begin

OK := OK + 1;

GotoXY(1,23); writeln('You have found: ',OK);

GotoXY(44,13); writeln('Wow! your answer is correct!');

GotoXY(44,14); writeln('Contiune!!!!!!!!!')

end

else begin

Wrong := Wrong + 1;

GotoXY(30,23); writeln('Wrong: ',Wrong);

GotoXY(44,13); writeln('Sorry! Your answer is wrong!');

GotoXY(44,14); writeln('Please try again!');

end

end;

procedure AnsOfTheme3; { Check if the answer is correct of theme3 }

begin

if (Ans = 'BASKETBALL') or (Ans = 'SINGING') or (Ans = 'SWIM') or

(Ans = 'HIKING') or (Ans = 'BADMINTON') or (Ans = 'CYCLING') or

(Ans = 'TENNIS') or (Ans = 'READING')

then begin

OK := OK + 1;

GotoXY(1,23); writeln('You have found: ',OK);

GotoXY(44,13); writeln('Wow! your answer is correct!');

GotoXY(44,14); writeln('Contiune!!!!!!!!!')

Page 46: CCC Chuen Yuen College

46

end

else begin

Wrong := Wrong + 1;

GotoXY(30,23); writeln('Wrong: ',Wrong);

GotoXY(44,13); writeln('Sorry! Your answer is wrong!');

GotoXY(44,14); writeln('Please try again!');

end

end;

procedure AnsOfTheme4; { Check if the answer is correct of theme4 }

begin

if (Ans = 'PLAYGROUND') or (Ans = 'CLASSROOM') or (Ans = 'JANITOR') or

(Ans = 'PRINCIPAL') or (Ans = 'TEACHER') or (Ans = 'CLASSMATE') or

(Ans = 'PE') or (Ans = 'HALL')

then begin

OK := OK + 1;

GotoXY(1,23); writeln('You have found: ',OK);

GotoXY(44,13); writeln('Wow! your answer is correct!');

GotoXY(44,14); writeln('Contiune!!!!!!!!!')

end

else begin

Wrong := Wrong + 1;

GotoXY(30,23); writeln('Wrong: ',Wrong);

GotoXY(44,13); writeln('Sorry! Your answer is wrong!');

GotoXY(44,14); writeln('Please try again!');

end

end;

procedure EasyLv; { Play the game with easy level }

begin

repeat

GotoXY(44,11); writeln(' ');

GotoXY(44,4); writeln('You may found out 3 vocabluaries');

TextColor(YELLOW);

GotoXY(44,10); write('Please Enter Your Answer : ');

GotoXY(44,11); readln(Ans);

Page 47: CCC Chuen Yuen College

47

Textcolor(LIGHTGREEN);

case ThemeChoice of

'A' : AnsOfTheme1;

'B' : AnsOfTheme2;

'C' : AnsOfTheme3;

'D' : AnsOfTheme4;

end;

if OK = 3

then begin

TextColor(LIGHTBLUE);

GotoXY(44,18); writeln('Conjurations!');

GotoXY(44,19); writeln('You found out 3 vacabularies!');

GotoXY(44,20); writeln('Hope you learn it all!');

Music;

TextColor(YELLOW+BLINK);

GotoXY(44,22); writeln('( Press any key back to the menu! )');

TextColor(LIGHTGRAY);

end;

if Wrong > 2

then begin

TextColor(LIGHTBLUE);

GotoXY(44,18); writeln('Oh No! Game is OVER!');

GotoXY(44,19); writeln('You have wrong 3 times!');

Music;

TextColor(YELLOW+BLINK);

GotoXY(44,22); writeln('( Press any key back to the menu! )');

TextColor(LIGHTGRAY);

end;

until (Wrong > 2) or (OK = 3);

end;

procedure NormalLv; { Play the game with normal level }

begin

repeat

GotoXY(44,11); writeln(' ');

Page 48: CCC Chuen Yuen College

48

GotoXY(44,4); writeln('You may found out 6 vocabluaries');

TextColor(YELLOW);

GotoXY(44,10); write('Please Enter Your Answer : ');

GotoXY(44,11); readln(Ans);

Textcolor(LIGHTGREEN);

case ThemeChoice of

'A' : AnsOfTheme1;

'B' : AnsOfTheme2;

'C' : AnsOfTheme3;

'D' : AnsOfTheme4;

end;

if OK = 6

then begin

TextColor(LIGHTBLUE);

GotoXY(44,18); writeln('Conjurations!');

GotoXY(44,19); writeln('You found out 6 vacabularies!');

GotoXY(44,20); writeln('Hope you learn it all!');

Music;

TextColor(YELLOW+BLINK);

GotoXY(44,22); writeln('( Press any key back to the menu! )');

TextColor(LIGHTGRAY);

end;

if Wrong > 2

then begin

TextColor(LIGHTBLUE);

GotoXY(44,18); writeln('Oh No! Game is OVER!');

GotoXY(44,19); writeln('You have wrong 3 times!');

Music;

TextColor(YELLOW+BLINK);

GotoXY(44,22); writeln('( Press any key back to the menu! )');

TextColor(LIGHTGRAY);

end;

Page 49: CCC Chuen Yuen College

49

until (Wrong > 2) or (OK = 6);

end;

procedure HardLv; { Play the game with hard level }

begin

repeat

GotoXY(44,11); writeln(' ');

GotoXY(44,4); writeln('You may find out 8 vocabluaries');

TextColor(YELLOW);

GotoXY(44,10); write('Please Enter Your Answer : ');

GotoXY(44,11); readln(Ans);

Textcolor(LIGHTGREEN);

case ThemeChoice of

'A' : AnsOfTheme1;

'B' : AnsOfTheme2;

'C' : AnsOfTheme3;

'D' : AnsOfTheme4;

end;

if OK = 8

then begin

TextColor(LIGHTBLUE);

GotoXY(44,18); writeln('Conjurations!');

GotoXY(44,19); writeln('You found all the vacabularies!');

GotoXY(44,20); writeln('Hope you learn it all!');

Music;

TextColor(YELLOW+BLINK);

GotoXY(44,22); writeln('( Press any key back to the menu! )');

TextColor(LIGHTGRAY);

end;

if Wrong > 2

then begin

TextColor(LIGHTBLUE);

GotoXY(44,18); writeln('Oh No! Game is OVER!');

Page 50: CCC Chuen Yuen College

50

GotoXY(44,19); writeln('You have wrong 3 times!');

Music;

TextColor(YELLOW+BLINK);

GotoXY(44,22); writeln('( Press any key back to the menu! )');

TextColor(LIGHTGRAY);

end;

until (Wrong > 2) or (OK = 8);

end;

{ Display the word table and ask user to enter the answer }

procedure Game(TxtName : string);

var

ch : char;

x, y, i : integer;

begin

assign(ThemeC,TxtName);

reset(ThemeC);

x := 10;

y := 3;

while not eof (ThemeC) do

begin

while not eoln (ThemeC) do

begin

read(ThemeC, ch);

GotoXY(x,y);

write(ch);

x := x + 2;

end;

y := y + 2;

x := 10;

readln(ThemeC);

end;

close(ThemeC);

for i := 1 to 25 do

begin

GotoXY(40,i);

Page 51: CCC Chuen Yuen College

51

write(#222);

end;

GotoXY(44,3); writeln(Name,',');

GotoXY(44,5); writeln('Cannot wrong more than 3 times.');

OK := 0;

Wrong := 0;

case Lv of

'A' : EasyLv;

'B' : NormalLv;

'C' : HardLv;

end;

readkey;

end;

procedure Level; { Ask user to choose a level }

begin

GotoXY(1,10); writeln('(A) Easy Level (Find out 3 vocabulary)');

GotoXY(1,11); writeln('(B) Normal Level (Find out 6 vocabulary)');

GotoXY(1,12); writeln('(C) Hard Level (Find out all vocabulary)');

TextColor(YELLOW);

GotoXY(10,20); write(Name,', please choose a Level (A/B/C) : ');

readln(Lv);

while not ( Lv in ['A'..'C'] ) do

begin

GotoXY(10,21); writeln('Sorry! Your should only enter A/B/C.');

GotoXY(10,22); write('Please try again : '); readln(Lv);

end;

Clrscr;

TextColor(LIGHTGREEN);

Page 52: CCC Chuen Yuen College

52

case Themechoice of

'A' : Game(TXT1);

'B' : Game(TXT2);

'C' : Game(TXT3);

'D' : Game(TXT4);

end;

Clrscr;

end;

procedure Theme; { Ask user to choose a theme }

begin

GotoXY(1,10); writeln('(A) Theme 1 : Holidays & Fedtivals');

GotoXY(1,11); writeln('(B) Theme 2 : Food & Drink');

GotoXY(1,12); writeln('(C) Theme 3 : Sports, Interests & Hobbies');

GotoXY(1,13); writeln('(D) Theme 4 : School');

TextColor(YELLOW);

GotoXY(10,20); write(Name,', please choose a theme (A/B/C/D) : ');

readln(Themechoice);

while not ( Themechoice in ['A'..'D'] ) do

begin

GotoXY(10,21); writeln('Sorry! Your should only enter A/B/C/D.');

GotoXY(10,22); write('Please try again : '); readln(Themechoice);

end;

Clrscr;

TextColor(LIGHTGREEN);

Level;

Clrscr;

end;

procedure Ending; { Display the ending of the game }

var

Q : char;

Page 53: CCC Chuen Yuen College

53

begin

Clrscr;

GotoXY(5,3);

writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');

GotoXY(9,6); writeln('** ** * *****

* ');

GotoXY(9,7); writeln('** ** * ** *

* ');

GotoXY(9,8); writeln('** ** ** ** * * ** * *** ** ** * * **

**** ');

GotoXY(9,9); writeln(' ** ** ** * * ** * ** * ** * ** * * ** * *

* ');

GotoXY(9,10); writeln(' ** ** ** * ** * ***** **** ** * * ** *

* ');

GotoXY(5,13);

writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');

TextColor(LIGHTRED);

GotoXY(10,15); writeln('***** ** ** ******* ***** ** ** *******

***');

GotoXY(10,16); writeln('** * ** ** ******* ** * ** ** *******

***');

GotoXY(10,17); writeln('** * ** ** ** ** * ** ** **

***');

GotoXY(10,18); writeln('***** **** ***** ***** **** *****

***');

GotoXY(10,19); writeln('** *** ** ** ** *** ** **

');

GotoXY(10,20); writeln('** * ** ******* ** * ** *******

***');

GotoXY(10,21); writeln('******** ** ******* ******** ** *******

***');

Music;

TextColor(LIGHTGREEN);

GotoXY(15,23); writeln('Thanks for playing! Hope you like it and play again!');

TextColor(YELLOW+BLINK);

GotoXY(27,24); writeln('( Press any key to leave! )');

Page 54: CCC Chuen Yuen College

54

Readkey;

end;

procedure Menu(var MenuC : integer); { Ask user to continue the game }

begin

repeat

TextColor(LIGHTGREEN);

GotoXY(35,2); writeln('Word Search');

TextColor(LIGHTGRAY);

GotoXY(1,3); writeln('-------------------------------------------------------------------------------');

TextColor(LIGHTRED);

GotoXY(5,4); writeln('1: Read the Instruction and Rules |');

TextColor(YELLOW);

GotoXY(43,4); writeln('2: Play game |');

TextColor(LIGHTBLUE);

GotoXY(60,4); writeln('3: Quit the game');

TextColor(LIGHTGRAY);

GotoXY(1,5); writeln('-------------------------------------------------------------------------------');

TextColor(LIGHTGREEN);

GotoXY(20,13); write(Name,', please enter your choice : '); readln(MenuC);

while not ( MenuC in [1..3] ) do

begin

GotoXY(12,20); writeln('Sorry! Your should only enter 1/2/3.');

GotoXY(13,20); write('Please try again : '); readln(MenuC);

end;

Clrscr;

case MenuC of

1 : Instruction;

2 : Theme;

3 : Ending;

end;

until menuC = 3;

Clrscr;

end;

Page 55: CCC Chuen Yuen College

55

begin { Main program }

Clrscr;

Begging;

GetName;

Menu(MenuChoice);

end.

~ This is the end of the program listing ~

Page 56: CCC Chuen Yuen College

56

User Guide

Computer Frame: PII 300 MH or above

Operating System: Windows 98 or above

RAM: 128 MB or above

Operating equipments: Mouse, Keyboard

Program installation 1. Insert the CD. The CD / DVD drive will open automatically.

If not, follow part a and b bellow:

a. Open My Computer

b. Open CD / DVD drive

2. Create a folder in the desktop

3. Copy all the files in the CD into the folder

4. Finish installation

Page 57: CCC Chuen Yuen College

57

Start the program

1. Click ‘ICTSBA.exe’ to start the program

2. Wait for the music play

3. Press any key to start the game

Page 58: CCC Chuen Yuen College

58

4. Enter your name

5. Enter ‘1’ to read the instruction and rules; ‘2’ to play game; ‘3’ to quit the game

6. Enter A/B/C/D to choose a theme

Page 59: CCC Chuen Yuen College

59

7. Enter A/B/C to chose a level

8. Find the vocabularies through the word table and type in the answer

Page 60: CCC Chuen Yuen College

60

9. When you quit the game, press any key to leave when the music end

Delete the program

1. Right click the folder ‘VocabGame’

2. Press Yes to delete the program

3. Finish uninstallation

Page 61: CCC Chuen Yuen College

61

~ This is the end of the user guide ~

Page 62: CCC Chuen Yuen College

62

User Comment

Me

Funny

User Friendly

Good for learning

User 1

Funny

User Friendly

Good for learning

User 2

Funny

User Friendly

Good for learning

User 3

Funny

User Friendly

Good for learning

In my point of view, I think this game is not fun enough because it does not have many changes.

Also, since there are no explanation and tips for the user, it is not good for learning. However, I think

my design is user friendly because the program has clear pointing and the user interface is neat.

After seeing the comment of users, I know that the game is not funny enough. Just like my

feeling, beside user1 give me 4 points, other think it is not good for learning. Also, they think my

program is user friendly. All in all, my program is not very well, I should improve more.

Page 63: CCC Chuen Yuen College

63

Page 64: CCC Chuen Yuen College

64

Testing and Evaluation

Test for getting user’s name:

Input Data Response Result

Peter Move to the menu Success

123 Move to the menu Fail

+-*/ Move to the menu Fail

abcdefghijklmn Move to the menu Fail

Enter Key Move to the menu Fail

All the entry is success, but entry besides English Character should prevent.

Also, empty and long string should prevent.

Test for the menu:

Input Data Response Result

4 Ask user to enter again Success

F Program automatically close Fail(should be ask to enter again)

Enter Key Move to the next line Fail(should be ask to enter again)

Page 65: CCC Chuen Yuen College

65

Test for the menu: Input ‘1’, then display the rules and introductions, result : success.

Input ‘2’, then move to the theme choice page, result : success.

Input ‘3’, then show the ending and quit the game, result : success.

Page 66: CCC Chuen Yuen College

66

Test for the theme choice:

Input Data Response Result

A Move to the level choice page Success

E Ask user to enter again Success

a Ask user to enter again Success

1 Ask user to enter again Success

Test for the level choice:

Input Data Response Result

A Move to the game(easy level) Success

B Move to the game(normal level) Success

C Move to the game(hard level) Success

E Ask user to enter again Success

a Ask user to enter again Success

1 Ask user to enter again Success

Page 67: CCC Chuen Yuen College

67

Page 68: CCC Chuen Yuen College

68

Test for the game: Input the wrong answer, then display times of wrong, ask user to enter again, result : success.

Input the correct answer, then display the times of found,

ask user to enter the next answer, result : success.

Page 69: CCC Chuen Yuen College

69

Wrong for the most times of level chosen, then over the game, result : success.

( For the following picture, 3 times is the most changes of easy level )

Correct for the times required, then over the game, result : success.

Input the answer that had entered, then correct times + 1, result : fail.

( I should prevent user to enter twice or more times by the same answer. )

Page 70: CCC Chuen Yuen College

70

Page 71: CCC Chuen Yuen College

71

Evaluation:

The program has achieved the requirements set in the proposal. But, the

display of the vocabulary table in the game is very simple. I didn’t insert the

table line and let user know which vocabulary they have found. It affects the

user friendly of the program very much.

The game included four themes to choose. It means the user can learn the

English vocabulary from four types. However, I didn’t add some tips and show

the explanation of the vocabulary. It decreases the learning value of the game.

Besides, I found that I have not done enough for the variable checking. If I

had checked the program carefully, I would have a better program. So, I hope

that the users can forgive me while they meet the errors.

Page 72: CCC Chuen Yuen College

72

Page 73: CCC Chuen Yuen College

73

Conclusion and Discussion

After more than half year’s work, my program and report finally finished. All

in all, I’ve learn so much form it. Start from thinking for design what game for

the children to play, end of testing and evaluation the program.

In the begging, I went to library and search from the website for finding

some English vocabulary. After thinking the ability of my mine, I’ve choose work

search for doing my program. I think the proposal is suit my ability, so I must do

it well by using more time.

After submitting the project proposal, I start to code the program. I think

develop this game is not very hard, also not very easy. Since I’ve done my

program using many time, I think I should ask more why I face the problem that

I don’t know how to solve.

Page 74: CCC Chuen Yuen College

74

Page 75: CCC Chuen Yuen College

75

After program coding, I need to finish the whole project report. In this part,

I think I’ve done not very well since I have not spent enough time in this. I did

my program so slow. I need to learn how to control the time. Moreover, I need

to debug more and more, so that my program and project report can be better.

Also, I found that make a good game is not a easy job, it must be creative and

user friendly.

However, I’ve success to run my program and finished the project report. It

made me very happy and relaxes, although there are a lot of classless mistakes

and the study tips are not enough. Nevertheless, I’ve learned a lot of Pascal

program’s skills.

The most things I need to improve is the time management. I think I will do

better than now if I use more time. I will remember this experience and learn to

make a good time management. Also, I need to be braver to ask others. Hope

that my program can provide a convenient interface and make use for the

children.

Page 76: CCC Chuen Yuen College

76

Reference

Books:

Turbo Pascal 入門與應用徹底剖析

Writer: 洪錦魁

Publisher: 文魁資訊

New Senior Secondary Information and Communication Technology

Elective D1: Software Development

Writer: Henry C H Ha

Publisher: Longman Hong Kong Education

玩出英語力 : 和美國中小學生一起玩出「英語力」

Writer: Organis Rivers, 呂珮榮

Publisher: 我識出版社有限公司

( For finding the game and vocabulary )

Upper Form’s Projects: Chan Chiu Yau

Cheng Pui Shan

Cheung Kin Wai

Website: Wikipedia

http://en.wikipedia.org/wiki/Main_Page

~ THE END ~

~ Thank you for reading this report ~