webForumDet fria alternativet

göra en topplista till ett snakespel i dhtml

43 svar · 891 visningar · startad av ampy

ampyMedlem sedan feb. 20011 498 inlägg
#1

Har tänkt att göra en topplista i asp till ett snake-spel som är gjort i dhtml.

Det enda problemet jag har är att jag fattar inte hur jag ska få det antal poäng man fick till en variabel i asp.

Så här ser koden ut:

<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>&nbsp;S n a k e </title>
<style>
input{width:25px;border-width: 0px;background-color: #FCC95A;cursor:hand;font-weight: bold}
</style>
<head>
<script language="JavaScript">main=new Image();main.src="screan.gif";doter=new Image();doter.src="dot.gif"</script>
</head>

<body bgcolor="#FFFFFF" text="#000000" onload="cantplay()" oncontextmenu="return false" ondragstart="return false">
<img src="screan.gif" style="position:absolute; left: 9; top: 9">
<script>for(v=1;v<=100;v++){document.write("<img src=dot.gif id='dot"+v+"' style='position:absolute;left:0;top:-200'>")}</script>
<center><font face="Tahoma"size="2"><strong>
<div id='bd' style='position:absolute;width=150;left:35;top:15'>
<br><br>Välj svårighetsgrad<br><br><br>
<input type=button onclick="level=1;startIt()" value="1" onfocus="blur()">
<input type=button onclick="level=2;startIt()" value="2" onfocus="blur()">
<input type=button onclick="level=3;startIt()" value="3" onfocus="blur()">
<input type=button onclick="level=4;startIt()" value="4" onfocus="blur()"></div>
<div id='go' style='position:absolute;width=100;left:60;top:-200'>Spelet slut</div>
<div id='ld' style='position:absolute;width=100;left:60;top:30'>Laddar... </div>
<div id='yw' style='position:absolute;width=100;left:60;top:-200'>Du vann!</div>
</strong></font></center>
<script languagE="JavaScript">
direct="null";sec=0;run="get";S=0;var top=new Array();var left=new Array();var go=new Array()
for(n=2;n<=100;n++){go[n]="not";top[n]=-200;left[n]=-200};for(n=1;n<5;n++){go[n]="yes"}
function locatEm(turn){ar=new Array(70,160,140,10,60,70,100,30,190,180);am=new Array(10,110,190,170,60,30,60,80,150,120,20,130,180,160,200,180,70,100,90,20);test=sec;now=new Date();sec=now.getSeconds();if(test==sec){sec+=sec};left[turn]=ar[sec%10];top[turn]=am[sec%20];showEm(turn);if(turn!=5){showscore();speed-=rate}}
function SSnake(){if(go[100]=="yes"){document.all.yw.style.pixelTop=60;lost="yes"};for(i=99;i>1;i--){if(go[i]=="yes"){top[i]=top[(i-1)];left[i]=left[(i-1)]}};if(direct=="up"){top[1]-=10};if(direct=="down"){top[1]+=10};if(direct=="left"){left[1]-=10};if(direct=="right"){left[1]+=10};for(m=99;m>4;m--){if(top[1]==top[m]){if(left[1]==left[m]){if(go[m]!="yes"){go[m]="yes";locatEm((m+1))}else{lost="yes"}}}};if(top[1]==top[100]){if(left[1]==left[100]){go[100]="yes"}};for(z=1;z<=99;z++){if(go[z]=="yes"){showEm(z)}};if(top[1]==0){lost="yes"};if(top[1]==210){lost="yes"};if(left[1]==0){lost="yes"};if(left[1]==210){lost="yes"};if(lost!="yes"){setTimeout("SSnake()",speed)}else{hideEm(1);if(go[100]!="yes"){document.all.go.style.pixelTop=60;setTimeout("reaload()",2000)}}}
function showEm(turn){eval("document.all.dot"+turn+".style.pixelTop ="+top[turn]);eval("document.all.dot"+turn+".style.pixelLeft ="+left[turn])}
function keyDown(){k=window.event.keyCode;if(k==104){if(direct!="down"){direct="up"}};if(k==98){if(direct!="up"){direct="down"}};if(k==100){if(direct!="right"){direct="left"}};if(k==102){if(direct!="left"){direct="right"}};if(k==38){if(direct!="down"){direct="up"}};if(k==40){if(direct!="up"){direct="down"}};if(k==37){if(direct!="right"){direct="left"}};if(k==39){if(direct!="left"){direct="right"}}}
function startIt(){if(run=="not"){S=0;add=0;showscore();if(level==1){speed=151;rate=1.5;add=1};if(level==2){speed=101;rate=1;add=1};if(level==3){speed=51;rate=.5;add=1};if(level==4){speed=11;rate=.1;add=1};direct="null";lost="not";top[1]=100;left[1]=90;setTimeout('locatEm(5)',3000);document.all.bd.style.pixelTop=-200;run="once";SSnake()}}
function reaload(){for(n=5;n<=99;n++){go[n]="not"};for(e=1;e<=99;e++){hideEm(e)};run="not";document.all.go.style.pixelTop=-200;document.all.bd.style.pixelTop=15;document.all.yw.style.pixelTop=-200}
function hideEm(turn){top[turn]=-200;eval("document.all.dot"+turn+".style.pixelTop=-200")}
function showscore(){S+=add;parent.score.document.write("<bo"+"dy bgcolor=#FFFFFF text=#000000><center><font face=Verdana size=2>[B]<strong>Poäng "+S+"</font></strong>[/B]</center>");parent.score.document.close()} 
function cantplay(){if(navigator.appName=="Netscape"){document.write("<div style='position:absolute; left: 9; top: 9'><img src=screan.gif></div>");alert("Sorry this game cannot be played with Netscape, please use Explorer 4 or heigher")}else{document.all.ld.style.pixelTop=-200;run="not"}}
document.onkeydown = keyDown
</script>
[B]<iframe src='score.htm' name=score width='200' height='50' frameborder='0' scrolling='no' STYLE='position:absolute; top:215; left:10'>[/B]
</body>

<!-- Written by Omar Wally [email]surfsup_79@hotmail.com[/email] ----> [url]http://crash.to/PLAY[/url] --!>

Det fetstila hör ihop med poängen tror jag och iframen visar hur många poäng man har.

score.htm ser ut så här:

<center><font face=Verdana size=2><strong>Poäng 0</font></strong></center>

och det är på denna sida jag vill göra den aktuella poängen till en variabel i asp.

Hur ska man lösa detta eller finns det andra sätt som det är bättre att göra en topplista på?

solbulleMedlem sedan mars 20015 287 inlägg
#2

Hallå, inte för att jag vet om detta är det bästa sättet, men jag tror det fungerar i alla fall.
Jag läste väl inte riktigt hela din fråga utan la all kod i "huvudfilen", dock kan du ju flytta target på javascriptet samt att låta den funktion som skriver ut score.html även skriva ut formuläret. om det nu måste vara på den sidan.
Det är ju function showscore() som skriver score.html.

La till denna kod direkt efter body-taggen samt ändrade funktionen SSnake till den här nedan.

Vidare ändrade jag filnamnet till game.asp


<%
points = request.form("points")
If points <> "" then
'//Fimpa alerten, do the thing med databasen.
str = "Yippie, du fick " & points & " poäng! \n In med det i databasen, \n rakt av bah!"
response.write "<script>"
response.write "alert(""" & str & """)"
response.write "</script>"
End IF
%>
<form method="POST" name= "resultat" action="game.asp" >
<input type="hidden"  name="points">
</form>
<SCRIPT LANGUAGE="JavaScript">
function sendit(){
document.resultat.points.value=S;
document.resultat.submit();
}
</script>

function SSnake(){if(go[100]=="yes"){document.all.yw.style.pixelTop=60;lost="yes";sendit()};for(i=99;i>1;i--){if(go[i]=="yes"){top[i]=top[(i-1)];left[i]=left[(i-1)]}};if(direct=="up"){top[1]-=10};if(direct=="down"){top[1]+=10};if(direct=="left"){left[1]-=10};if(direct=="right"){left[1]+=10};for(m=99;m>4;m--){if(top[1]==top[m]){if(left[1]==left[m]){if(go[m]!="yes"){go[m]="yes";locatEm((m+1))}else{lost="yes";sendit()}}}};if(top[1]==top[100]){if(left[1]==left[100]){go[100]="yes"}};for(z=1;z<=99;z++){if(go[z]=="yes"){showEm(z)}};if(top[1]==0){lost="yes";sendit()};if(top[1]==210){lost="yes";sendit()};if(left[1]==0){lost="yes";sendit()};if(left[1]==210){lost="yes";sendit()};if(lost!="yes"){setTimeout("SSnake()",speed)}else{hideEm(1);if(go[100]!="yes"){document.all.go.style.pixelTop=60;setTimeout("reaload()",2000)}}}

OBS Att den sista funktionen skall stå på en rad.

ampyMedlem sedan feb. 20011 498 inlägg
#3

Tack så mycket. Det fungerar utmärkt =)

ampyMedlem sedan feb. 20011 498 inlägg
#4

En annan sak också. Självaste masken består av flera dot.gif. Men den saken man ska fånga är också dot.gif. hur ändrar man så att den saken man ska fånga ska vara apple.gif

OBS
Det finns bara en dot.gif i koden så om jag ändrar den till apple.gif så består även masken av äpplen

solbulleMedlem sedan mars 20015 287 inlägg
#5

Kul! https://www.solbulle.com/snake

ampyMedlem sedan feb. 20011 498 inlägg
#6

Vad menar du med det?

P.S
Ligger etta för tillfället också =) (Andreas)

solbulleMedlem sedan mars 20015 287 inlägg
#7

Vad menar du med det?

???

Kul! ? Att spelet är roligt så klart!

ampyMedlem sedan feb. 20011 498 inlägg
#8

Kan du inte hjälpa mig med den frågan jag ställde?

solbulleMedlem sedan mars 20015 287 inlägg
#9

Ja du, det verkar vara över min förmåga är jag rädd, men jag klurar för fullt.

ampyMedlem sedan feb. 20011 498 inlägg
#10

Hoppas du lyckas fixa det *håller tummarna*

Jesper TMedlem sedan nov. 20017 144 inlägg
#11

Vad är det du vill fixa?

ampyMedlem sedan feb. 20011 498 inlägg
#12

ampy skrev:

En annan sak också. Självaste masken består av flera dot.gif. Men den saken man ska fånga är också dot.gif. hur ändrar man så att den saken man ska fånga ska vara apple.gif

OBS
Det finns bara en dot.gif i koden så om jag ändrar den till apple.gif så består även masken av äpplen

Det :)

Jesper TMedlem sedan nov. 20017 144 inlägg
#13

Solbulle!
Try to beat this!
Jesper T Alias Olle §e :e

solbulleMedlem sedan mars 20015 287 inlägg
#14

A men va fan! Har du hackat med min databas eller !?! :birp :birp :birp

Jesper TMedlem sedan nov. 20017 144 inlägg
#15

:e :r, det var så frestande... förlåt!

ampyMedlem sedan feb. 20011 498 inlägg
#16

Kolla på mitt Snake-spel jag la upp precis

http://www.ampy.net

om ni inte vill registrera er kan ni logga in med test och test

Sen klickar ni på Lek & Spel och sedan på Snake.

stevenetMedlem sedan juni 20001 251 inlägg
#17

försök göra samma sak på min variant.
https://www.hulth.nu/stefan/spelotester.php

Jesper TMedlem sedan nov. 20017 144 inlägg
#18

Orkar inte hacka mer, det verkar vara svårare på din snake... Php dessutom :(

stevenetMedlem sedan juni 20001 251 inlägg
#19

Hehe, man ska skydda!
Men även det var lätt att knäcka upptäckte jag. :l

stevenetMedlem sedan juni 20001 251 inlägg
#20

"ip 217.208.60.144 vid tiden 2002-07-18 23:09:52 försökte hacka topplistan för snake."

vem känner sig skyldig?

142 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)