letters plaatsen en opslaan in een raster

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Louis Deconinck

Louis Deconinck

30/04/2015 19:48:12
Quote Anchor link
Ik heb een idee, maar ik heb geen idee hoe ik hiermee van start moet gaan, kan iemand me in de jusite richting wijzen?

Dus je hebt een raster van 3 hoog en 4 breed. In 1 van de 12 vakjes moet de letter A komen en in een ander vakje B.

Voorbeeld:
Afbeelding

Nu zou ik deze afbeelding dus willen opslaan in een mysql database aan de hand van een getallenreeks. Elk vakje heeft dus een nummer, links boven is 1 en rechts onder is 12. 0 stelt een leeg vakje voor, 1 stelt een A voor en 2 stelt een B voor. Dus bovenstaande afbeelding zou dan voorgesteld worden door deze reeks getallen:

0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0

Dit wordt vervolgens opgeslagen in de mysql databse met een unieke id aan gekoppeld (vb: 549).

Nu kan deze afbeelding gedeeld worden via de website: site.com/afb?id=549 die dus aan de hand van de reeks getallen de afbeelding opnieuw opbouwt.

eventueel zou ik dan ook willen dat mensen zelf een afbeelding kunnen maken en deze dan kunnen opslaan in de database en deze delen met andere mensen via hun unieke link.

Ik hoop dat ik een beetje heb kunnen uitleggen waar ik naartoe wil en hopelijk kan iemand mij in de juiste richting wijzen om iets dergelijks te maken (ik heb een redelijke kennis van html, css, php en mysql).

Alvast bedankt
Louis
Gewijzigd op 30/04/2015 19:50:47 door Louis Deconinck
 
PHP hulp

PHP hulp

19/04/2024 21:11:15
 
Ivo P

Ivo P

30/04/2015 20:01:27
Quote Anchor link
je kunt ook een tabel maken van 3 kolommen

1 is je id (549)
2 is een int. 3 omdat de A in veld 3 staat
3 is ook een int, in dit geval 5 omdat de b in 5 staat.

is niet flexibel. dus als het een keer 3 letters worden, of niet per se een A en een b, dan werkt dit niet meer.
 
Thomas van den Heuvel

Thomas van den Heuvel

30/04/2015 20:12:34
Quote Anchor link
Louis Deconinck op 30/04/2015 19:48:12:
en deze delen met andere mensen via hun unieke link.

Louis Deconinck op 30/04/2015 19:48:12:
site.com/afb?id=549

Als de unieke link moeilijk te raden zou moeten zijn moet je deze strategie wellicht herzien.

Als de vakjes alleen uit letters kunnen bestaan (A-Z) dan kun je ook overwegen om gewoon een string van 12 karakters op te slaan, met een speciaal teken voor het lege karakter. Scheelt weer wat in ruimte enzo.

Het helpt misschien ook als je wat meer vertelt over wat je probeert te bereiken / het toepassingsgebied.
 
Eddy E

Eddy E

30/04/2015 20:19:36
Quote Anchor link
Precies: __A__B______ is dan weer makkelijker.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$string
= str_repeat("_", 12);
$string{3} = "A";
$string{5} = "B";
echo $string;
?>



Die 3 en 5 kan je gewoon uit een array halen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$string
= str_repeat("_", 12);
$numbers = range(1, 12);
shuffle($numbers);
$string{$numbers[0]} = "A";
$string{$numbers[1]} = "B";
echo $string;
?>


Gooi dit in een functie:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php

function random_field($aantal = 12)
 {

$string = str_repeat("_", $aantal);
$numbers = range(1, $aantal);
shuffle($numbers);

$string{$numbers[0]} = "A";
$string{$numbers[1]} = "B";
return $string;

 }


echo random_field(); // 12 tekens
echo random_field(20); // 20 tekens, ergens een A en ergens een B

?>
Gewijzigd op 30/04/2015 20:21:30 door Eddy E
 
Louis Deconinck

Louis Deconinck

30/04/2015 20:41:38
Quote Anchor link
Bedankt voor de antwoorden, hier heb ik echt wel iets aan :)

Ivo P op 30/04/2015 20:01:27:
je kunt ook een tabel maken van 3 kolommen

1 is je id (549)
2 is een int. 3 omdat de A in veld 3 staat
3 is ook een int, in dit geval 5 omdat de b in 5 staat.

is niet flexibel. dus als het een keer 3 letters worden, of niet per se een A en een b, dan werkt dit niet meer.

Interessant, dit kan ik inderdaad wel gaan gebruiken, maar wat is het voordeel ten opzicht van mijn manier?

Thomas van den Heuvel op 30/04/2015 20:12:34:
Louis Deconinck op 30/04/2015 19:48:12:
en deze delen met andere mensen via hun unieke link.

Louis Deconinck op 30/04/2015 19:48:12:
site.com/afb?id=549

Als de unieke link moeilijk te raden zou moeten zijn moet je deze strategie wellicht herzien.

Als de vakjes alleen uit letters kunnen bestaan (A-Z) dan kun je ook overwegen om gewoon een string van 12 karakters op te slaan, met een speciaal teken voor het lege karakter. Scheelt weer wat in ruimte enzo.

Het helpt misschien ook als je wat meer vertelt over wat je probeert te bereiken / het toepassingsgebied.

Ik heb hieronder de bedoeling uit de doeken gedaan, die letters waren slechts een voorbeeld en vormen dus niet echt de oplossing.

Eddy E op 30/04/2015 20:19:36:
Precies: __A__B______ is dan weer makkelijker.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$string
= str_repeat("_", 12);
$string{3} = "A";
$string{5} = "B";
echo $string;
?>



Die 3 en 5 kan je gewoon uit een array halen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$string
= str_repeat("_", 12);
$numbers = range(1, 12);
shuffle($numbers);
$string{$numbers[0]} = "A";
$string{$numbers[1]} = "B";
echo $string;
?>


Gooi dit in een functie:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php

function random_field($aantal = 12)
 {

$string = str_repeat("_", $aantal);
$numbers = range(1, $aantal);
shuffle($numbers);

$string{$numbers[0]} = "A";
$string{$numbers[1]} = "B";
return $string;

 }


echo random_field(); // 12 tekens
echo random_field(20); // 20 tekens, ergens een A en ergens een B

?>

Bedankt, alleen vrees ik dat dit in mijn specifieke geval niet zal werken aangezien ik de letters slechts als voorbeeld had genomen om de situatie wat te vereenvoudigen.

Ik heb het inderdaad nogal abstract voorgesteld, dus ik zal nu wat concreter zijn. Ik wil dus een soortgelijk website (maar eenvoudiger) maken zoals deze http://clashofclansbuilder.com/build maar dan voor het spel King of Thieves.

Dus in dat spel is het de bedoeling om een 'dungeon' te bouwen die de aanvallen van andere dieven die jouw geld komen stelen, kan weerstaan.

Zo'n dungeon ziet er zo uit:
Afbeelding

Dus een dungeon bestaat uit 14x8 vakjes en bevat altijd 3 'traps', in dit voorbeeld zijn dat dus 'de vlieg', 'het kanon' en 'de zaag'. Verder kan je ook deur (bestaande uit 4 vakjes) en je schatkist (ook bestaande uit 4 vakjes) verplaatsen.

Eenvoudig voorgesteld ziet dit er dus zo uit:
Afbeelding

Nu was mijn idee dus om elke 'trap', deur en schatkist door een cijfer te vervangen en een leeg plaatsje een 0 te maken en dan die lange getallenreeks in mijn database op te slaan en deze weer op te roepen via een een unieke id.

Nu, mijn grootste probleem is eigenlijk hoe ik mensen dus zelf die 'traps' op de juist plaats kan laten plaatsen, hoe deze dan omgevormd worden naar een getallenreeks en hoe ik de afbeelding dan opnieuw opbouw aan de hand van die getallenreeks.

Dit korte filmpje heeft ook min of meer aan hoe zo'n dungeon er in het spel uitziet en hoe hij gebruikt wordt: https://www.youtube.com/watch?v=jqZJjlkLrt0

Alvast bedankt voor alle moeite :)
Louis
Gewijzigd op 30/04/2015 20:42:00 door Louis Deconinck
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.