mirror of
https://gitlab.com/lecarore/breakout71.git
synced 2025-04-20 20:16:16 -04:00
Automatic deploy 29010156
This commit is contained in:
parent
1eae36efcb
commit
e8071637a3
4 changed files with 16 additions and 14 deletions
|
@ -7,6 +7,7 @@ Break colourful bricks, catch bouncing coins and select powerful upgrades !
|
||||||
[Google Play](https://play.google.com/store/apps/details?id=me.lecaro.breakout) -
|
[Google Play](https://play.google.com/store/apps/details?id=me.lecaro.breakout) -
|
||||||
[itch.io](https://renanlecaro.itch.io/breakout71) -
|
[itch.io](https://renanlecaro.itch.io/breakout71) -
|
||||||
[GitLab](https://gitlab.com/lecarore/breakout71) -
|
[GitLab](https://gitlab.com/lecarore/breakout71) -
|
||||||
|
[HackerNews](https://news.ycombinator.com/item?id=43183131) -
|
||||||
[Donate](https://github.com/sponsors/renanlecaro)
|
[Donate](https://github.com/sponsors/renanlecaro)
|
||||||
|
|
||||||
|
|
||||||
|
@ -163,6 +164,7 @@ There are many possible perks left to implement :
|
||||||
|
|
||||||
The "engine" could be better
|
The "engine" could be better
|
||||||
|
|
||||||
|
- on mobile, add an element that feels like it can be "grabbed" and make it shine while writing "Push here to play"
|
||||||
- add pointer lock when game is running (lock to play area )https://mdn.github.io/dom-examples/pointer-lock/
|
- add pointer lock when game is running (lock to play area )https://mdn.github.io/dom-examples/pointer-lock/
|
||||||
- hide cursor options
|
- hide cursor options
|
||||||
- offline mode with service worker
|
- offline mode with service worker
|
||||||
|
@ -175,7 +177,7 @@ The "engine" could be better
|
||||||
- escape to close menu
|
- escape to close menu
|
||||||
- see how to do fullscreen on ios, or at least explain to do aA/hide toolbars
|
- see how to do fullscreen on ios, or at least explain to do aA/hide toolbars
|
||||||
- experiment with showing the combo somewhere else, maybe top center, maybe instead of score.
|
- experiment with showing the combo somewhere else, maybe top center, maybe instead of score.
|
||||||
- make coins look,sound and roll like coins. Back to colored when coins stain bricks is active
|
|
||||||
- limit GC by reusing coins and particles
|
- limit GC by reusing coins and particles
|
||||||
- convert captures to mp4 unsing ffmpeg wasm because reddit refuses webm files
|
- convert captures to mp4 unsing ffmpeg wasm because reddit refuses webm files
|
||||||
- few puck bounces = more choices / upgrades
|
- few puck bounces = more choices / upgrades
|
||||||
|
|
|
@ -11,8 +11,8 @@ android {
|
||||||
applicationId = "me.lecaro.breakout"
|
applicationId = "me.lecaro.breakout"
|
||||||
minSdk = 21
|
minSdk = 21
|
||||||
targetSdk = 34
|
targetSdk = 34
|
||||||
versionCode = 29010123
|
versionCode = 29010156
|
||||||
versionName = "29010123"
|
versionName = "29010156"
|
||||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||||
vectorDrawables {
|
vectorDrawables {
|
||||||
useSupportLibrary = true
|
useSupportLibrary = true
|
||||||
|
|
|
@ -197,7 +197,7 @@ function getRowColIndex(row, col) {
|
||||||
return row * gridSize + col;
|
return row * gridSize + col;
|
||||||
}
|
}
|
||||||
|
|
||||||
setInterval(()=>console.log(flashes.length),1000)
|
|
||||||
function spawnExplosion(count, x, y, color, duration = 150, size = coinSize) {
|
function spawnExplosion(count, x, y, color, duration = 150, size = coinSize) {
|
||||||
if (!!isSettingOn("basic")) return;
|
if (!!isSettingOn("basic")) return;
|
||||||
if(flashes.length>MAX_PARTICLES) {
|
if(flashes.length>MAX_PARTICLES) {
|
||||||
|
@ -820,7 +820,6 @@ let nextRunOverrides = {level: null, perks: null}
|
||||||
let hadOverrides = false
|
let hadOverrides = false
|
||||||
|
|
||||||
function restart() {
|
function restart() {
|
||||||
console.log("restart")
|
|
||||||
hadOverrides = !!(nextRunOverrides.level || nextRunOverrides.perks)
|
hadOverrides = !!(nextRunOverrides.level || nextRunOverrides.perks)
|
||||||
// When restarting, we want to avoid restarting with the same level we're on, so we exclude from the next
|
// When restarting, we want to avoid restarting with the same level we're on, so we exclude from the next
|
||||||
// run's level list
|
// run's level list
|
||||||
|
@ -1230,7 +1229,7 @@ function ballTick(ball, delta) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (perks.respawn) {
|
if (perks.respawn) {
|
||||||
console.log(ball.hitItem,perks.respawn)
|
|
||||||
ball.hitItem.slice(0, -1).slice(0, perks.respawn)
|
ball.hitItem.slice(0, -1).slice(0, perks.respawn)
|
||||||
.forEach(({index, color}) => bricks[index] = bricks[index] || color)
|
.forEach(({index, color}) => bricks[index] = bricks[index] || color)
|
||||||
}
|
}
|
||||||
|
@ -1997,7 +1996,7 @@ function drawBall(ctx, color, width, x, y) {
|
||||||
|
|
||||||
function drawCoin(ctx, color, size, x,y, bg,rawAngle) {
|
function drawCoin(ctx, color, size, x,y, bg,rawAngle) {
|
||||||
if(isNaN(rawAngle)) debugger
|
if(isNaN(rawAngle)) debugger
|
||||||
const angle= Math.round(((rawAngle%(Math.PI*2))+Math.PI*2 )% Math.PI*2 * 16) / 16
|
const angle= (Math.round(rawAngle/Math.PI*2 * 16 ) % 16 + 16 ) % 16
|
||||||
const key = "coin with halo" + "_" + color + "_" + size + '_' + bg + '_'+angle;
|
const key = "coin with halo" + "_" + color + "_" + size + '_' + bg + '_'+angle;
|
||||||
|
|
||||||
if (!cachedGraphics[key]) {
|
if (!cachedGraphics[key]) {
|
||||||
|
@ -2023,12 +2022,12 @@ if(isNaN(rawAngle)) debugger
|
||||||
|
|
||||||
|
|
||||||
canctx.translate(size / 2, size / 2);
|
canctx.translate(size / 2, size / 2);
|
||||||
canctx.rotate(angle);
|
canctx.rotate(angle/ 16);
|
||||||
canctx.translate(-size / 2, -size / 2);
|
canctx.translate(-size / 2, -size / 2);
|
||||||
|
|
||||||
canctx.globalCompositeOperation='multiply'
|
canctx.globalCompositeOperation='multiply'
|
||||||
drawText(canctx, '$', color, size-2,size / 2, size / 2)
|
drawText(canctx, '$', color, size-2,size / 2, size / 2+1)
|
||||||
drawText(canctx, '$', color, size-2,size / 2, size / 2)
|
drawText(canctx, '$', color, size-2,size / 2, size / 2+1)
|
||||||
cachedGraphics[key] = can;
|
cachedGraphics[key] = can;
|
||||||
}
|
}
|
||||||
ctx.drawImage(cachedGraphics[key], Math.round(x - size / 2), Math.round(y - size / 2));
|
ctx.drawImage(cachedGraphics[key], Math.round(x - size / 2), Math.round(y - size / 2));
|
||||||
|
@ -2696,6 +2695,7 @@ Click an item above to start a test run with it.
|
||||||
<a href="https://renanlecaro.itch.io/breakout71" target="_blank">itch.io</a>
|
<a href="https://renanlecaro.itch.io/breakout71" target="_blank">itch.io</a>
|
||||||
<a href="https://gitlab.com/lecarore/breakout71" target="_blank">Gitlab</a>
|
<a href="https://gitlab.com/lecarore/breakout71" target="_blank">Gitlab</a>
|
||||||
<a href="https://breakout.lecaro.me/" target="_blank">Web version</a>
|
<a href="https://breakout.lecaro.me/" target="_blank">Web version</a>
|
||||||
|
<a href="https://news.ycombinator.com/item?id=43183131" target="_blank">HackerNews</a>
|
||||||
<span>v.${window.appVersion}</span>
|
<span>v.${window.appVersion}</span>
|
||||||
</p>
|
</p>
|
||||||
`
|
`
|
||||||
|
|
|
@ -8,17 +8,17 @@
|
||||||
/>
|
/>
|
||||||
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
||||||
<title>Breakout 71</title>
|
<title>Breakout 71</title>
|
||||||
<link rel="stylesheet" href="style.css?v=29010123" />
|
<link rel="stylesheet" href="style.css?v=29010156" />
|
||||||
<link rel="icon" href="./icon.svg" />
|
<link rel="icon" href="./icon.svg" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<button id="menu">☰<span> menu</span></button>
|
<button id="menu">☰<span> menu</span></button>
|
||||||
<button id="score"></button>
|
<button id="score"></button>
|
||||||
<canvas id="game"></canvas>
|
<canvas id="game"></canvas>
|
||||||
<script>window.appVersion="?v=29010123".slice(3)</script>
|
<script>window.appVersion="?v=29010156".slice(3)</script>
|
||||||
<script src="gif.js"></script>
|
<script src="gif.js"></script>
|
||||||
<script src="levels.js?v=29010123"></script>
|
<script src="levels.js?v=29010156"></script>
|
||||||
<script src="game.js?v=29010123"></script>
|
<script src="game.js?v=29010156"></script>
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue