There will be following versions, as bugs have to be fixed, and new features implemented. There are only 15 questions included in this version. If you are having trouble understanding my method, and wish to add your own questions then e-mail me (leolion@another.com), or ask on the www.yabasic.co.uk forum, and i will send you detailed instructions on how to make your own questions. These is the bug i am currently tring to fix. ASK THE AUDIENCE/PHONE A FRIEND - In this version, due to the lack of time, i was unable to successfully integrate the all the variables into these two lifelines, so after using 50:50, the phone a friend, and ask the audience lifelines, can still bring up the two removed incorrect answers. NAME PAGE - All of a sudden the name page started refreshing very slowly when added to my main code, i don't see why it should but it does, also selecting letters is hard, i am trying to find cause, or find a solution for it. Any other bugs, which i can try to fix also, please e-mail leolion@another.com. If you need detailed instructions on my method of coding, so you can try and fix the bugs, or just want to add your own questions, please e-mail me at the same address. Otherwise GOOD LUCK. Aaron Banks -------------------- open window 640,512 for i = 0 to 255 step 8 setrgb 0,50-i,50-1,210-i wait 0.05 clear window next goto 101 label intro close window open window 640,512 101 setrgb 0,0,0,0 clear window wait 0.3 setrgb 1, 255,255,255 text 320,248, "WELCOME TO","cc" text 320,262, "WHO WANTS TO BE A MILLIONAIRE","cc" mon=100 mon1=100 mon2=100 a=1 setrgb 1, 0,0,0 fill rectangle 0,340 to 340,400 fill rectangle 340,400 to 640,400 setrgb 1, 255,255,0 text 110,360, "E N T E R N A M E" setrgb 1, 0,0,255 text 350,360, "S T A R T G A M E" 98 inkey$ if (a=1) then goto 97 else endif 96 if and(peek("port1"), 128) > 0 then a=1 setrgb 1, 0,0,0 fill rectangle 0,340 to 340,400 fill rectangle 340,400 to 640,400 setrgb 1, 255,255,0 text 110,360, "E N T E R N A M E" setrgb 1, 0,0,255 text 350,360, "S T A R T G A M E" else goto selection endif if (a=2) then goto selection else endif 97 if and(peek("port1"), 32) > 0 then a=2 setrgb 1, 0,0,0 fill rectangle 0,340 to 340,400 fill rectangle 340,400 to 640,400 setrgb 1, 0,0,255 text 110,360, "E N T E R N A M E" setrgb 1, 255,255,0 text 350,360, "S T A R T G A M E" else goto selection endif label selection if and(peek("port1"), 16384) > 0 then goto 99 else endif goto 98 99 if (a=1) then goto name elsif (a=2) then goto ran100 endif label walkaway close window open window 640,512 setrgb 1, 255,255,255 text 320,254, "You finished with £"+str$(mfini),"cc" text 320,270, "Thankyou for playing","cb" wait 2 inkey$() goto intro label messedup close window open window 640,512 setrgb 1, 255,255,255 text 160,254, "Sorry "+name$+", but that's the wrong answer","cb" if (mfini>=32000) then text 205,270, "You finished with £32000","cc" elsif (mfini>=1000) then text 200,270, "You finished with £1000","cc" else text 210,270, "You finished with nothing","cc" endif wait 2 inkey$ goto intro label layout close window open window 640,512 setrgb 1,55,50,255:line 0,15 to 640,15 setrgb 1,50,50,255:text 320,10 "W H O W A N T S T O B E A M I L L I O N A I R E","cc" setrgb 1, 255,255,0 rectangle 492,20 to 628,325 text 500.5,37, "15 £1 MILLION" text 500.5,57, "14 £500,000" text 500.5,77, "13 £250,000" text 500.5,97, "12 £125,000" text 500.5,117, "11 £64,000" text 500.5,137, "10 £32,000" text 500.5,157, " 9 £16,000" text 500.5,177, " 8 £8,000" text 500.5,197, " 7 £4,000" text 500.5,217, " 6 £2,000" text 500.5,237, " 5 £1,000" text 500.5,257, " 4 £500" text 500.5,277, " 3 £300" text 500.5,297, " 2 £200" text 500.5,317, " 1 £100" setrgb 1,255,0,0 if (mey=300) then:fill rectangle 525,305 to 529,320 elsif (mey=400) then:fill rectangle 525,285 to 529,320 elsif (mey=500) then:fill rectangle 525,265 to 529,320 elsif (mey=600) then:fill rectangle 525,245 to 529,320 elsif (mey=700) then:fill rectangle 525,225 to 529,320 elsif (mey=800) then:fill rectangle 525,205 to 529,320 elsif (mey=900) then:fill rectangle 525,185 to 529,320 elsif (mey=1000) then:fill rectangle 525,165 to 529,320 elsif (mey=1100) then:fill rectangle 525,145 to 529,320 elsif (mey=1200) then:fill rectangle 525,125 to 529,320 elsif (mey=1300) then:fill rectangle 525,105 to 529,320 elsif (mey=1400) then:fill rectangle 525,85 to 529,320 elsif (mey=1500) then:fill rectangle 525,65 to 529,320 elsif (mey=1600) then:fill rectangle 525,45 to 529,320:endif setrgb 1,40,40,255 line 0,377.5 to 60,377.5 line 580,377.5 to 640,377.5 line 0,432.5 to 60,432.5 line 580,432.5 to 640,432.5 line 0,482.5 to 60,482.5 line 580,482.5 to 640,482.5 line 315,482.5 to 335,482.5 line 315,432.5 to 335,432.5 setrgb 1,0,0,255 line 60,377.5 to 80,350 line 580,377.5 to 560,350 line 60,377.5 to 80,405 line 580,377.5 to 560,405 line 60,432.5 to 80,410 line 580,432.5 to 560,410 line 60,432.5 to 80,455 line 580,432.5 to 560,455 line 60,432.5 to 80,460 line 580,432.5 to 560,460 line 60,432.5 to 80,505 line 580,432.5 to 560,505 line 335,432.5 to 355,410 line 315,432.5 to 295,410 line 335,432.5 to 355,455 line 315,432.5 to 295,455 line 335,482.5 to 355,460 line 315,482.5 to 295,460 line 335,482.5 to 355,505 line 315,482.5 to 295,505 line 355,410 to 560,410 line 355,455 to 560,455 line 355,460 to 560,460 line 355,505 to 560,505 line 80,350 to 560,350 line 80,405 to 560,405 line 80,410 to 295,410 line 80,455 to 295,455 line 80,460 to 295,460 line 80,505 to 295,505 setrgb 1,255,80,255:fill triangle 60,432.5 to 80,410 to 80,455 setrgb 1,0,255,0:fill triangle 335,432.5 to 355,410 to 355,455 setrgb 1,0,0,255:fill triangle 60,482.5 to 80,460 to 80,505 setrgb 1,255,0,0:fill triangle 335,482.5 to 355,460 to 355,505 setrgb 1,255,255,255 text 567,342,name$,"cc" text 40,40, "Ask the audience - L1 + Left" text 40,80, "Phone a friend - L1 + UP" text 40,120, "50:50 - L1 + RIGHT" text 40,160, "Walkaway - L1 + DOWN" setrgb 1,0,0,255 line 0,180 to 490,180:line 170,180 to 170,350 wait 1:return label Name close window for i=33 to 127 allAscii$ = allAscii$ + " " + chr$(i) next open window 640,512 delay = 3 draw = 0 DrawNameScreen(0) rem k$ = inkey$() while (k$<>"start") if(k$="left") then if(leftc>=delay) then p=p+1 if(p>78) then p=-15 fi leftc = 0 else leftc = leftc + 1 fi fi if(k$="right") then if(rightc>=delay) then p=p-1 if(p<-15) then p=78 fi rightc=0 else rightc = rightc + 1 fi fi if(k$="cross") then if(crossc>=delay) then name$ = name$ + chr$(p+15+33) crossc=0 else crossc = crossc + 1 fi fi if(k$="square") then if(squarec>=delay) then name$ = left$(name$,len(name$)-1) squarec=0 else squarec = squarec + 1 fi fi DrawNameScreen(p) k$ = inkey$() wend sub DrawNameScreen(lPos) setdrawbuf 1 - draw clear window setrgb 1,50,50,255 text 320,60, "E N T E R Y O U R N A M E","cc" text 320,80, "Press Start to confirm name","cc" setrgb 1,255,255,255 text 620,472, "Creator - Rikki Prince","rc" text 620,490, "www.omnimelon.com","rc" text -lPos*20,150,allAscii$ rect 305,135 to 325,155 text 320,200,name$,"cc" setrgb 1,255,0,0 text 320,185,chr$(lPos+15+33),"cc" setrgb 1,255,255,255 setdispbuf draw draw = 1 - draw end sub goto intro label friend100 if (mon=mey) then mon=mon-5 else setrgb 1,255,255,255 return endif if int(ran(100))0 and a<33) then: fill rectangle wro1xl,wro1yl to wro1xl+160,wro1yl+15 fill rectangle wro2xl,wro2yl to wro2xl+160,wro2yl+15 if (a>0 and a<66) then: fill rectangle wro1xl,wro1yl to wro1xl+160,wro1yl+15 fill rectangle wro3xl,wro3yl to wro3xl+160,wro3yl+15 if (a>0 and a<100) then: fill rectangle wro3xl,wro3yl to wro3xl+160,wro3yl+15 fill rectangle wro2xl,wro2yl to wro2xl+160,wro2yl+15 endif wait 1:return label keys if (correct$=a$) then correct=32768 wrong=4096 wrong1=8192 wrong2=16384 elsif (correct$=b$) then wrong=32768 correct=4096 wrong1=8192 wrong2=16384 elsif (correct$=c$) then wrong=32768 wrong1=4096 wrong2=8192 correct=16384 elsif (correct$=d$) then wrong=32768 wrong1=4096 correct=8192 wrong2=16384 endif if and(peek("port1"), correct) > 0 then nextq=1 return elsif and(peek("port1"), wrong) > 0 then goto messedup elsif and(peek("port1"), wrong1) > 0 then goto messedup elsif and(peek("port1"), wrong2) > 0 then goto messedup else endif goto 30 label lifelines if and(peek("port1"), 1024) > 0 then gosub 10:gosub 20:gosub 25:gosub 26 else endif return 10 if and(peek("port1"), 16) > 0 then gosub friend100 return else return endif 20 if and(peek("port1"), 128) > 0 then gosub audience return else return endif 25 if and(peek("port1"), 32) > 0 then gosub fivetofive return else return endif 26 if and(peek("port1"), 64) > 0 then goto walkaway else return endif label answer 30 inkey$ if and(peek("port1"), 1024) > 0 then gosub lifelines goto 30 else gosub keys endif return label complete close window open window 640,512 setrgb 0,255,255,255 clear window setrgb 1,0,0,0 text 170,260, "C":wait 0.3:text 190,260, "O":wait 0.3 text 210,260, "N":wait 0.3:text 230,260, "G":wait 0.3 text 250,260, "R":wait 0.3:text 270,260, "A":wait 0.3 text 290,260, "T":wait 0.3:text 310,260, "U":wait 0.3 text 330,260, "L":wait 0.3:text 350,260, "A":wait 0.3 text 370,260, "T":wait 0.3:text 390,260, "I":wait 0.3 text 410,260, "O":wait 0.3:text 430,260, "N":wait 0.3 text 450,260, "S":wait 0.3 for i=0 to 512 step 3:line 0,i to 640,i:wait 0.03 next for i=0 to 512 step 3:line 0,i+1 to 640,i+1:wait 0.03 next for i=0 to 512 step 3:line 0,i+2 to 640,i+2:wait 0.03 next goto intro label ran100 if int(ran(100))=0 then:goto A100:else:endif goto ran100 label ran200 if int(ran(100))=0 then:goto A200:else:endif goto ran200 label ran300 if int(ran(100))=0 then:goto A300:else:endif goto ran300 label ran400 if int(ran(100))=0 then:goto A400:else:endif goto ran400 label ran500 if int(ran(100))=0 then:goto A500:else:endif goto ran500 label ran600 if int(ran(100))=0 then:goto A600:else:endif goto ran600 label ran700 if int(ran(100))=0 then:goto A700:else:endif goto ran700 label ran800 if int(ran(100))=0 then:goto A800:else:endif goto ran800 label ran900 if int(ran(100))=0 then:goto A900:else:endif goto ran900 label ran1000 if int(ran(100))=0 then:goto A1000:else:endif goto ran1000 label ran1100 if int(ran(100))=0 then:goto A1100:else:endif goto ran1100 label ran1200 if int(ran(100))=0 then:goto A1200:else:endif goto ran1200 label ran1300 if int(ran(100))=0 then:goto A1300:else:endif goto ran1300 label ran1400 if int(ran(100))=0 then:goto A1400:else:endif goto ran1400 label ran1500 if int(ran(100))=0 then:goto A1500:else:endif if int(ran(100))=1 then:goto B1500:else:endif goto ran1500 label A100 mon=mon+100:mey=200:mon1=mon1+100:mon2:mon2=100:diff=20000:fre=100:nextq=0:mfini=0:gosub layout setrgb 1,255,255,255 text 100,373,"According to legend, William Tell shot an" text 100,395,"arrow at which fruit on his son's head?" a$="Apple":text 90,437.5, a$ b$="Kumquat":text 365,437.5, b$ c$="Peach":text 90,487.5, c$ d$="Melon":text 365,487.5, d$ correct$=a$:wrong$=c$ gosub answer if (nextq=1) then goto ran200 else:endif:goto 30 label A200 mon=mon+100:mey=300:mon1=mon1+100:mon2:mon2=100:diff=18000:fre=99:nextq=0:mfini=100:gosub layout setrgb 1,255,255,255 text 100,373,"Where does a patient normally go to consult" text 100,395,"a GP?" a$="Lab":text 90,437.5, a$ b$="Surgery":text 365,437.5, b$ c$="Workshop":text 90,487.5, c$ d$="Studio":text 365,487.5, d$ correct$=b$:wrong$=a$ gosub answer if (nextq=1) then goto ran300 else:endif:goto 30 label A300 mon=mon+100:mey=400:mon1=mon1+100:mon2:mon2=100:diff=16000:fre=98:nextq=0:mfini=200:gosub layout setrgb 1,255,255,255 text 100,373,"What term is given to fatigue because of a" text 100,395,"sudden switch of time zones in air travel?" a$="Jet propulsion":text 90,437.5, a$ b$="Jet stream":text 365,437.5, b$ c$="Jetfoil":text 90,487.5, c$ d$="Jet lag":text 365,487.5, d$ correct$=d$:wrong$=c$ gosub answer if (nextq=1) then goto ran400 else:endif:goto 30 label A400 mon=mon+100:mey=500:mon1=mon1+100:mon2:mon2=100:diff=14000:fre=95:nextq=0:mfini=300:gosub layout setrgb 1,255,255,255 text 100,373,"With which sport is Michael Owen associated" a$="Football":text 90,437.5, a$ b$="Cricket":text 365,437.5, b$ c$="Golf":text 90,487.5, c$ d$="Snooker":text 365,487.5, d$ correct$=a$:wrong$=d$ gosub answer if (nextq=1) then goto ran500 else:endif:goto 30 label A500 mon=mon+100:mey=600:mon1=mon1+100:mon2:mon2=100:diff=12000:fre=90:nextq=0:mfini=500:gosub layout setrgb 1,255,255,255 text 100,373,"Morello & maraschino are varieties of which" text 100,395,"fruit?" a$="Apple":text 90,437.5, a$ b$="Grapefruit":text 365,437.5, b$ c$="Cherry":text 90,487.5, c$ d$="Banana":text 365,487.5, d$ correct$=c$:wrong$=a$ gosub answer if (nextq=1) then goto ran600 else:endif:goto 30 label A600 mon=mon+100:mey=700:mon1=mon1+100:mon2:mon2=100:diff=10000:fre=85:nextq=0:mfini=1000:gosub layout setrgb 1,255,255,255 text 100,373,"What is the nationality of a person born &" text 100,395,"brought up in Copenhagen?" a$="German":text 90,437.5, a$ b$="Belgian":text 365,437.5, b$ c$="Dutch":text 90,487.5, c$ d$="Danish":text 365,487.5, d$ correct$=d$:wrong$=b$ gosub answer if (nextq=1) then goto ran700 else:endif:goto 30 label A700 mon=mon+100:mey=800:mon1=mon1+100:mon2:mon2=100:diff=5000:fre=80:nextq=0:mfini=2000:gosub layout setrgb 1,255,255,255 text 100,373,"If something is described as 'acquiline'" text 100,395,"which bird does it resemble?" a$="Pigeon":text 90,437.5, a$ b$="Crow":text 365,437.5, b$ c$="Swift":text 90,487.5, c$ d$="Eagle":text 365,487.5, d$ correct$=d$:wrong$=a$ gosub answer if (nextq=1) then goto ran800 else:endif:goto 30 label A800 mon=mon+100:mey=900:mon1=mon1+100:mon2:mon2=100:diff=1000:fre=75:nextq=0:mfini=4000:gosub layout setrgb 1,255,255,255 text 100,373,"The golden temple of Amritsar is a centre" text 100,395,"of which religion?" a$="Sikhism":text 90,437.5, a$ b$="Hindu":text 365,437.5, b$ c$="Islam":text 90,487.5, c$ d$="Christianity":text 365,487.5, d$ correct$=a$:wrong$=d$ gosub answer if (nextq=1) then goto ran900 else:endif:goto 30 label A900 mon=mon+100:mey=1000:mon1=mon1+100:mon2:mon2=100:diff=600:fre=70:nextq=0:mfini=8000:gosub layout setrgb 1,255,255,255 text 100,373,"In 1987, which team did Arsenal beat to win" text 100,395,"the League Cup for the first time?" a$="Liverpool":text 90,437.5, a$ b$="Aston Villa":text 365,437.5, b$ c$="West Ham United":text 90,487.5, c$ d$="Chelsea":text 365,487.5, d$ correct$=a$:wrong$=b$ gosub answer if (nextq=1) then goto ran1000 else:endif:goto 30 label A1000 mon=mon+100:mey=1100:mon1=mon1+100:mon2:mon2=100:diff=300:fre=60:nextq=0:mfini=16000:gosub layout setrgb 1,255,255,255 text 100,373,"What would be studied by a nephologist" a$="Sunshine":text 90,437.5, a$ b$="Clouds":text 365,437.5, b$ c$="Wind":text 90,487.5, c$ d$="Lightning":text 365,487.5, d$ correct$=b$:wrong$=c$ gosub answer if (nextq=1) then goto ran1100 else:endif:goto 30 label A1100 mon=mon+100:mey=1200:mon1=mon1+100:mon2:mon2=100:diff=200:fre=52:nextq=0:mfini=32000:gosub layout setrgb 1,255,255,255 text 100,373,"Which of these Steve Martin films was based" text 100,395,"on the story of Cyrano de Bergerac?" a$="The Jerk":text 90,437.5, a$ b$="Parenthood":text 365,437.5, b$ c$="All of Me":text 90,487.5, c$ d$="Roxanne":text 365,487.5, d$ correct$=d$:wrong$=c$ gosub answer if (nextq=1) then goto ran1200 else:endif:goto 30 label A1200 mon=mon+100:mey=1300:mon1=mon1+100:mon2:mon2=100:diff=140:fre=42:nextq=0:mfini=64000:gosub layout setrgb 1,255,255,255 text 100,373,"Who was Oliver Cromwell's son who succeeded" text 100,395,"him as Lord Protector?" a$="Richard":text 90,437.5, a$ b$="James":text 365,437.5, b$ c$="Charles":text 90,487.5, c$ d$="Edward":text 365,487.5, d$ correct$=a$:wrong$=b$ gosub answer if (nextq=1) then goto ran1300 else:endif:goto 30 label A1300 mon=mon+100:mey=1400:mon1=mon1+100:mon2:mon2=100:diff=100:fre=32:nextq=0:mfini=125000:gosub layout setrgb 1,255,255,255 text 100,373,"On which planet is the volcano Olympus Mons" a$="Mercury":text 90,437.5, a$ b$="Venus":text 365,437.5, b$ c$="Mars":text 90,487.5, c$ d$="Neptune":text 365,487.5, d$ correct$=c$:wrong$=a$ gosub answer if (nextq=1) then goto ran1400 else:endif:goto 30 label A1400 mon=mon+100:mey=1500:mon1=mon1+100:mon2:mon2=100:diff=100:fre=30:nextq=0:mfini=250000:gosub layout setrgb 1,255,255,255 text 100,373,"What was the last state to join the USA" text 100,395,"before Alaska & Hawaii joined in 1959?" a$="Pennsylvania":text 90,437.5, a$ b$="Delaware":text 365,437.5, b$ c$="New Mexico":text 90,487.5, c$ d$="Arizona":text 365,487.5, d$ correct$=d$:wrong$=a$ gosub answer if (nextq=1) then goto ran1500 else:endif:goto 30 label A1500 mon=mon+100:mey=1600:mon1=mon1+100:mon2:mon2=100:diff=100:fre=25:nextq=0:mfini=500000:gosub layout setrgb 1,255,255,255 text 100,373,"On the small screen, which production was" text 100,395,"associated with 30 Kelsall Street?" a$="Bread":text 90,437.5, a$ b$="George & Mildred":text 365,437.5, b$ c$="Here's Harry":text 90,487.5, c$ d$="The Larkins":text 365,487.5, d$ correct$=a$:wrong$=d$ gosub answer if (nextq=1) then goto complete else:endif:goto 30 label B1500 mon=mon+100:mey=1600:mon1=mon1+100:mon2:mon2=100:diff=100:fre=25:nextq=0:mfini=500000:gosub layout setrgb 1,255,255,255 text 100,373,"Kinnard Cup is contested in which sport?" a$="Lacrosse":text 90,437.5, a$ b$="Contact bridge":text 365,437.5, b$ c$="Eton fives":text 90,487.5, c$ d$="Road walking":text 365,487.5, d$ correct$=c$:wrong$=a$ gosub answer if (nextq=1) then goto complete else:endif:goto 30