Some UI implemented
This commit is contained in:
parent
9388791cec
commit
60ad03fbc2
|
@ -10,6 +10,10 @@ The game works like this...
|
||||||
|
|
||||||
https://joyofcode.xyz/using-functions-from-another-svelte-component
|
https://joyofcode.xyz/using-functions-from-another-svelte-component
|
||||||
p5 docs
|
p5 docs
|
||||||
|
https://www.geeksforgeeks.org/how-to-shuffle-an-array-using-javascript/
|
||||||
|
https://stackoverflow.com/questions/4550013/html-element-display-in-horizontal-line
|
||||||
|
figma
|
||||||
|
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.centered {
|
.centered {
|
||||||
|
|
|
@ -3,11 +3,16 @@
|
||||||
<script>
|
<script>
|
||||||
import P5 from 'p5-svelte';
|
import P5 from 'p5-svelte';
|
||||||
import Deck from './lib/Deck.svelte';
|
import Deck from './lib/Deck.svelte';
|
||||||
|
const windowRatio = 0.9;
|
||||||
|
const width = window.innerWidth * windowRatio;
|
||||||
|
const height = window.innerHeight * windowRatio;
|
||||||
|
const imageRatio = 3 / 2;
|
||||||
|
const cardImageWidth = height * 0.6;
|
||||||
|
const canvasXMargin = height * 0.03;
|
||||||
|
const canvasYMargin = height * 0.07;
|
||||||
|
|
||||||
let deckComponent;
|
let deckComponent;
|
||||||
|
let card;
|
||||||
const width = 1000;
|
|
||||||
const height = 700;
|
|
||||||
|
|
||||||
const sketch = (p5) => {
|
const sketch = (p5) => {
|
||||||
p5.preload = function() {
|
p5.preload = function() {
|
||||||
|
@ -16,16 +21,45 @@
|
||||||
p5.setup = function(){
|
p5.setup = function(){
|
||||||
p5.createCanvas(width, height);
|
p5.createCanvas(width, height);
|
||||||
p5.background(100);
|
p5.background(100);
|
||||||
|
deckComponent.createDeck();
|
||||||
|
deckComponent.shuffleDeck();
|
||||||
|
card = deckComponent.drawCard();
|
||||||
|
p5.image(card.getImage(), canvasXMargin, canvasYMargin, cardImageWidth, cardImageWidth*imageRatio);
|
||||||
};
|
};
|
||||||
p5.draw = function(){
|
p5.mouseDragged = function(){
|
||||||
//
|
console.log("mouse dragged");
|
||||||
};
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<main>
|
<main>
|
||||||
<P5 sketch={sketch}></P5>
|
<div class="main_screen">
|
||||||
|
<div class="sub_screen">
|
||||||
|
<button>wahoo</button>
|
||||||
|
<button>1</button>
|
||||||
|
<button>2</button>
|
||||||
|
</div>
|
||||||
|
<P5 sketch={sketch}></P5>
|
||||||
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
.main_screen {
|
||||||
|
display: inline-flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sub_screen button {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
padding: 6px 0px;
|
||||||
|
gap: 10px;
|
||||||
|
|
||||||
|
position: relative;
|
||||||
|
width: 68px;
|
||||||
|
height: 36px;
|
||||||
|
|
||||||
|
background: #D9D9D9;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -1,7 +1,40 @@
|
||||||
<script>
|
<script>
|
||||||
// import P5 from 'p5-svelte';
|
// import P5 from 'p5-svelte';
|
||||||
|
|
||||||
export let images = {};
|
let images = {};
|
||||||
|
export let deck = [];
|
||||||
|
|
||||||
|
class Card {
|
||||||
|
value;
|
||||||
|
suit;
|
||||||
|
type;
|
||||||
|
image;
|
||||||
|
|
||||||
|
constructor(value, suit, type, image)
|
||||||
|
{
|
||||||
|
this.value = value;
|
||||||
|
this.suit = suit;
|
||||||
|
this.type = type;
|
||||||
|
this.image = image;
|
||||||
|
}
|
||||||
|
|
||||||
|
getValue() {
|
||||||
|
return this.value;
|
||||||
|
}
|
||||||
|
|
||||||
|
getSuit() {
|
||||||
|
return this.suit;
|
||||||
|
}
|
||||||
|
|
||||||
|
getType() {
|
||||||
|
return this.type;
|
||||||
|
}
|
||||||
|
|
||||||
|
getImage()
|
||||||
|
{
|
||||||
|
return this.image;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export function loadDeckImages(p5)
|
export function loadDeckImages(p5)
|
||||||
{
|
{
|
||||||
|
@ -20,37 +53,6 @@
|
||||||
images["Back"] = p5.loadImage("./src/assets/Back.png");
|
images["Back"] = p5.loadImage("./src/assets/Back.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
export const helloWorld = () => {
|
|
||||||
console.log("Hi");
|
|
||||||
}
|
|
||||||
|
|
||||||
let deck = [];
|
|
||||||
|
|
||||||
class Card {
|
|
||||||
value;
|
|
||||||
suit;
|
|
||||||
type;
|
|
||||||
|
|
||||||
constructor(value, suit, type)
|
|
||||||
{
|
|
||||||
this.value = value;
|
|
||||||
this.suit = suit;
|
|
||||||
this.type = type;
|
|
||||||
}
|
|
||||||
|
|
||||||
getValue() {
|
|
||||||
return this.value;
|
|
||||||
}
|
|
||||||
|
|
||||||
getSuit() {
|
|
||||||
return this.suit;
|
|
||||||
}
|
|
||||||
|
|
||||||
getType() {
|
|
||||||
return this.type;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export function createDeck()
|
export function createDeck()
|
||||||
{
|
{
|
||||||
let indexSuit = "Hearts"
|
let indexSuit = "Hearts"
|
||||||
|
@ -78,10 +80,35 @@
|
||||||
const val = indexVal;
|
const val = indexVal;
|
||||||
const suit = indexSuit;
|
const suit = indexSuit;
|
||||||
|
|
||||||
|
let nameString = suit;
|
||||||
|
|
||||||
let type;
|
let type;
|
||||||
if(indexVal == 1) type = "Ace";
|
if(indexVal == 1){
|
||||||
else if(indexVal <= 10) type = "Number";
|
type = "Ace";
|
||||||
else type = "Face";
|
nameString += type;
|
||||||
|
}
|
||||||
|
else if(indexVal <= 10)
|
||||||
|
{
|
||||||
|
type = "Number";
|
||||||
|
nameString += indexVal
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
type = "Face";
|
||||||
|
switch(indexVal) {
|
||||||
|
default:
|
||||||
|
nameString += "Back";
|
||||||
|
break;
|
||||||
|
case 11:
|
||||||
|
nameString += "Jack";
|
||||||
|
break;
|
||||||
|
case 12:
|
||||||
|
nameString += "Queen";
|
||||||
|
break;
|
||||||
|
case 13:
|
||||||
|
nameString += "King";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
indexVal += 1;
|
indexVal += 1;
|
||||||
if(indexVal > 13){
|
if(indexVal > 13){
|
||||||
|
@ -89,11 +116,22 @@
|
||||||
switchSuit();
|
switchSuit();
|
||||||
}
|
}
|
||||||
|
|
||||||
return new Card(val, suit, type)
|
return new Card(val, suit, type, images[nameString])
|
||||||
});
|
});
|
||||||
|
|
||||||
return deck;
|
return deck;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function shuffleDeck()
|
||||||
|
{
|
||||||
|
deck.sort((a, b) => Math.random() - 0.5);
|
||||||
|
console.log(deck);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function drawCard()
|
||||||
|
{
|
||||||
|
return deck.pop();
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user