---
title: "tetris - poäng"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/53914-tetris-poäng"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "ampy"
published: "2002-09-22T12:22:54.000Z"
updated: "2002-09-22T15:23:35.000Z"
replies: 12
views: 382
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/53914-tetris-poäng"
---

# tetris - poäng

## #1 — ampy, 2002-09-22T12:22Z

Jag har laddat ner ett tetris men jag skulle nu vilja göra en topplista till det. Har denna kod från spelet så visar den aktuella poängen:

```
function Show_Score() {
  _block.score.document.forms[0].Game_Score.value = game_score;
}
```

Så här skriver den ut den aktuella poängen:

```
  layer_content = '<p class="info"><form>' +
    '<nobr><font size="1">Poäng</font></nobr>' +
    '<input type="text" name="Game_Score" maxlenght="6" size="6" value=0 onfocus="blur();"><br><br>' +
    '<nobr><font size="1">Rader till nästa level</font></nobr>' +
    '<input type="text" name="Lines_Remain" maxlenght="6" size="6" value=0 onfocus="blur();">' +
    '</form></p>';
```

Skriver ut den i en input alltså.

men nu undrar jag hur man kan spara den aktuella pängen i databasen. har kommit så här långt med koden:

```
if request.querystring("points") then

points = request.querystring("points")
If points <> "" then

	SQL = "SELECT * from ovrigt where sort = 'tetris' order by varde3 asc"
	Set RS = Connect.Execute(SQL)

		If cInt(points) > cInt(RS("varde3")) then

		SQL = "Insert Into ovrigt(sort, datum, username, varde, varde3) Values('tetris', '"&SweDate(Now)&"', '"&session("username")&"', '"&session("id")&"', "&points&")" 
  		Connect.Execute(SQL) 

		SQL4 = "DELETE from ovrigt where sort = 'tetris' order by varde3 asc"
		Connect.Execute(SQL4)

		End if

	Set rs = nothing

End If

end if
```

Men hur ska man få över poängen till denna asp-kod??

Permalänk: https://www.webforum.nu/p/53914

## #2 — Jojoxx, 2002-09-22T12:53Z

Du är på god väg, men istället för att använda method="get" från formuläret skulle jag använda method="post" (och då request.form istället för request.querystring i ASP) för att minska risken för dubbelpostningar. Men, du har väl egentligen inga problem med JavaScript-biten utan mer en fråga hur du sparar informationen i db'n från ASP?

Permalänk: https://www.webforum.nu/p/794179

## #3 — ampy, 2002-09-22T12:57Z

Jag förstår fortfarande inte hur jag ska få över poängen till ASP-koden. 

Kan du inte visa med kod?

Permalänk: https://www.webforum.nu/p/794187

## #4 — Jojoxx, 2002-09-22T13:26Z

Du har ju redan att formulärsfält med poängen. Ändra \<form\>-taggen så att den pekar på din ASP-sida (där du sparar informationen i din db); \<form action="saveScore.asp" method="post"\> Lägg till ett fält för namn; \<input type="text" name="name"\> och en spara-knapp; \<input type="submit" value="Spara min poäng"\>

Permalänk: https://www.webforum.nu/p/794257

## #5 — ampy, 2002-09-22T13:28Z

Men jag vill helst inte ha en knapp där man måste spara. Jag vill att det ska gå automatiskt.

Permalänk: https://www.webforum.nu/p/794261

## #6 — Jojoxx, 2002-09-22T13:47Z

Har du redan något namn på spelaren då? Har du spelat arkad någon gång har du säkert märkt att man brukar ange det efter att man spelat klart och fått en poäng som platsar på hi-score listan.

Men visst kan du scripta det. Använd \_block.score.document.forms\[0\].submit() för att skicka formuläret automatiskt.

Permalänk: https://www.webforum.nu/p/794271

## #7 — ampy, 2002-09-22T13:49Z

Jag ska ha detta i mitt community och då har jag ju användarnamnet genom ett session. 

Vart ska jag sätta den koden?

Kan inte så mycket om JavaScript som du kanske märker ;)

Permalänk: https://www.webforum.nu/p/794274

## #8 — Jojoxx, 2002-09-22T14:02Z

Du borde ha någon funktion eller script-snutt som körs vid "game over". Lägg den sist där.

Permalänk: https://www.webforum.nu/p/794279

## #9 — ampy, 2002-09-22T14:10Z

Nu har jag lagt den vid denna funktion:

```
function Game_Over() {
  Event_Release();

  clearInterval(block_timer_id);

  if (game_winner)
    _block.blockxx.innerHTML = game_winner_tag
  else
    _block.blockxx.innerHTML = game_over_tag;

  _block.blockxx.style.pixelTop = block_base_y;

  game_winner = false;
  game_pause = false;
  game_finished = true;

  game_tag_step = game_tag_offset;

  setTimeout("Show_Tag()",movement_timer);

  [B]_block.score.document.forms[0].submit()[/B]
}
```

Vad händer när **\_block.score.document.forms\[0\].submit()** körs?

Permalänk: https://www.webforum.nu/p/794284

## #10 — Jojoxx, 2002-09-22T14:41Z

Tidigare nämnt formulär (du måste alltså lägga till action etc. för formuläret som jag nämnde tidigare) skickas. Jag utgår från att *\_block.score.document.forms\[0\]* stämmer eftersom det används för att skriva ut poängen.

Permalänk: https://www.webforum.nu/p/794317

## #11 — ampy, 2002-09-22T14:50Z

Har försökt med detta nu men det funkar inte:

Så har sparar jag poängen i databasen:

```
if request.querystring("points") then

points = request.form("Game_Score")
If points <> "" then

	SQL = "SELECT * from ovrigt where sort = 'tetris' order by varde3 asc"
	Set RS = Connect.Execute(SQL)

		If cInt(points) > cInt(RS("varde3")) then

		SQL = "Insert Into ovrigt(sort, datum, username, varde, varde3) Values('tetris', '"&SweDate(Now)&"', '"&session("username")&"', '"&session("id")&"', "&points&")" 
  		Connect.Execute(SQL) 

		SQL4 = "DELETE from ovrigt where sort = 'tetris' order by varde3 asc"
		Connect.Execute(SQL4)

		End if

	Set rs = nothing

End If

end if
```

Poängen får jag alltså från **request.form("Game_Score")**
från detta formulär:

```
  layer_content = '<p class="info"><form method="post" action"tetris2.asp?points">' +
    '<nobr><font size="1">Poäng</font></nobr>' +
    '<input type="text" name="Game_Score" maxlenght="6" size="6" value=0 onfocus="blur();"><br><br>' +
    '<nobr><font size="1">Rader till nästa level</font></nobr>' +
    '<input type="text" name="Lines_Remain" maxlenght="6" size="6" value=0 onfocus="blur();">' +
    '<br><br><i><font color="#000000" size="1" face="verdana"><nobr>Din poäng sparas</nobr> <nobr>automatsikt när</nobr> <nobr>spelet är över.</nobr></font></i></form></p>';
  _block.score.innerHTML = layer_content;
```

Kolla om jag har gjort rätt i form-taggen :q 

Och så här ser det ut vid game over:

```
function Game_Over() {
  Event_Release();

  clearInterval(block_timer_id);

  if (game_winner)
    _block.blockxx.innerHTML = game_winner_tag
  else
    _block.blockxx.innerHTML = game_over_tag;

  _block.blockxx.style.pixelTop = block_base_y;

  game_winner = false;
  game_pause = false;
  game_finished = true;

  game_tag_step = game_tag_offset;

  setTimeout("Show_Tag()",movement_timer);

  [B]_block.score.document.forms[0].submit()[/B]
}
```

Men poängen sparas inte i databasen. Vart har jag gjort fel? 

 :q

Permalänk: https://www.webforum.nu/p/794323

## #12 — Jojoxx, 2002-09-22T15:06Z

Nja, action"tetris2.asp?points" skall vara action="tetris2.asp?points"

När du ändrat detta, laddas så sidan "tetris2.asp"? Gör den det kan vi nämligen gå vidare och titta på ASP-koden.

Permalänk: https://www.webforum.nu/p/794337

## #13 — ampy, 2002-09-22T15:23Z

Oj, hade glömt ett = 

Men nu funkar iaf allt som det ska. Tackar så mycket  :birp

Permalänk: https://www.webforum.nu/p/794352

---

Tråden på webben: https://www.webforum.nu/amne/javascript/53914-tetris-poäng
