PureMondrian

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
User avatar
jacdelad
Addict
Addict
Posts: 2010
Joined: Wed Feb 03, 2021 12:46 pm
Location: Riesa

Re: PureMondrian

Post by jacdelad »

No problem. I'll continue after the weekend. :wink:
Good morning, that's a nice tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
AZJIO
Addict
Addict
Posts: 2191
Joined: Sun May 14, 2017 1:48 am

Re: PureMondrian

Post by AZJIO »

Download (fine lines and color) (Updated 4 times)
I also added multilanguage to a separate source.

fine lines
not 2 and not 3

Code: Select all

StrokePath(1) ; not 2 and not 3
fine lines

Code: Select all

  ForEach Tiles()
    If Mode
      AddPathBox(40+40*Tiles()\Position()\X,40-1+40*Tiles()\Position()\Y,40*(Tiles()\Position()\EX-Tiles()\Position()\X+1),40*(Tiles()\Position()\EY-Tiles()\Position()\Y+1))
    Else
      FirstElement(Tiles()\Position())
      If Tiles()\Fixed
        AddPathRoundBox(40+40*Tiles()\Position()\X,40-1+40*Tiles()\Position()\Y,40*(Tiles()\Position()\EX-Tiles()\Position()\X+1),40*(Tiles()\Position()\EY-Tiles()\Position()\Y+1),8)
      Else
        If Tiles()\NowX=-1
          If DragTile=ListIndex(Tiles())
            PushListPosition(Tiles())
            PL=#True
          Else
            AddPathRoundBox(Tiles()\DragX,Tiles()\DragY,Tiles()\DragW,Tiles()\DragH, 8)
          EndIf
      Else
;       	уложенные фигуры
          If Tiles()\NowRot
            AddPathRoundBox(40+40*Tiles()\NowX,40-1+40*Tiles()\NowY,40*Tiles()\Y,40*Tiles()\X, 8)
          Else
            AddPathRoundBox(40+40*Tiles()\NowX,40-1+40*Tiles()\NowY,40*Tiles()\X,40*Tiles()\Y, 8)
          EndIf
        EndIf
      EndIf
    EndIf
color

Code: Select all

Else
  Color("Text")=#Black|$FF000000
  Color("Border")=#Blue|$56ECFF00
  CreateTile(1,1,0,0,$888888,#True)
  CreateTile(2,1,0,0,$888888,#True)
  CreateTile(3,1,0,0,$888888,#True)
EndIf
;}
;{ Create remaining tiles
CreateTile(4,3,6,3,$FF8989)
CreateTile(3,3,3,3,$59ff6d)
CreateTile(5,2,6,1,$3e3eff)
CreateTile(4,2,2,1,#Cyan)
CreateTile(3,2,0,3,$ff68ea)
CreateTile(2,2,0,1,$689eff)
CreateTile(5,1,0,0,#Yellow)
CreateTile(4,1,5,0,#Yellow)
jacdelad wrote: Fri Jul 26, 2024 10:38 pm What does the warning say?
[15:05:28] [ERROR] Mondrian-multi-language+color.pb (Line: 471)
[15:05:28] [ERROR] Memory cannot be accessed. (read error at address 288)
[15:05:28] [ERROR] Mondrian-multi-language+color.pb (Line: 466)
[15:05:28] [ERROR] StartDrawing(): The StopDrawing() function must be called before calling StartDrawing() again.
This now appears in Windows when playing two maps in a row. Animation function error (StartDrawing and GetImageFrameDelay)
User avatar
jacdelad
Addict
Addict
Posts: 2010
Joined: Wed Feb 03, 2021 12:46 pm
Location: Riesa

Re: PureMondrian

Post by jacdelad »

Ok, I'll look into that.
Good morning, that's a nice tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
User avatar
moulder61
Enthusiast
Enthusiast
Posts: 193
Joined: Sun Sep 19, 2021 6:16 pm
Location: U.K.

Re: PureMondrian

Post by moulder61 »

@jacdelad

I was looking into the ListIconGadget attributes and basically, they are Windows only, which you probably know or mentioned before.
So I feel like there are 3 options(for me).

1. Leave it as it is.
2. Get Fred to fix it so it works in Linux.
3. Work out how to do it as button gadgets or something?

I choose number 1. ;)

Moulder.
"If it ain't broke, fix it until it is!

This message is brought to you thanks to SenselessComments.com

My PB stuff for Linux: "https://u.pcloud.link/publink/show?code ... z3MR0T3jyV
User avatar
jacdelad
Addict
Addict
Posts: 2010
Joined: Wed Feb 03, 2021 12:46 pm
Location: Riesa

Re: PureMondrian

Post by jacdelad »

For now, yes. To make is look like game I planned to replace the by something custom one on a canvas. This would look the same on every platform.
But firstly, I'll look into the reported bugs and problems...tomorrow.
Good morning, that's a nice tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
User avatar
jacdelad
Addict
Addict
Posts: 2010
Joined: Wed Feb 03, 2021 12:46 pm
Location: Riesa

Re: PureMondrian

Post by jacdelad »

@Moulder61: BTW, that's not something Fred can fix. Linux simply doesn't offer as much customizations as Windows for the ListIcon (aka ListView).

However, the next version will need a bit more time: I already added the colors and visual changes AZJIO posted (optional via menu) and some bugfixes. I also created a generator which generates every puzzle possible. Unfortunately this is very slow, I gave up after 19000 puzzles (the computer is also slow, my home computer is much faster). And I need to filter the results, since I only need a fourth of them (because of rotation). The filter the ones that feature interchangeable black tiles (just some of them), then maybe filter the ones with more than one solution. I'm really curious how many puzzles will be left. I'll keep you updated, when it's done. :D
Good morning, that's a nice tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
boddhi
Enthusiast
Enthusiast
Posts: 524
Joined: Mon Nov 15, 2010 9:53 pm

Re: PureMondrian

Post by boddhi »

Hi, JacDeLad

Following our discussion on another thread, I discovered your game PureMondrian.

The problem with this kind of game is that it's ideal for passing the time, taking a break between two headaches, etc., but it quickly becomes very addictive!
And yours is no exception! Simple aim, simple but pleasant graphics. All in all, terribly effective! :mrgreen:

It reminded me of a game on which I've spent so many hours, and which I've often given to friends and family, young and old:
Image

Congratulations and thanks for sharing it with us, along with its code (which I haven't yet taken the time to look at).

In case you'd like to integrate French natively, here's all the informations needed:

Code: Select all

	<window id='#PB_Any' name='Settings_FR' text='Préférences' flags='#PB_Window_ScreenCentered|#PB_Window_SystemMenu'>
		<vbox>
			<checkbox id='#Gadget_SharpCorners' text='Pas de coins arrondis'/>
			<checkbox id='#Gadget_NoGradient' text='Pas de dégradés'/>
			<hbox expand='item:2'>
				<button id='#Gadget_Cancel' text=' Annuler '/>
				<empty/>
				<button id='#Gadget_Save' text=' Sauver '/>
			</hbox>
		</vbox>
	</window>


<menu>
	Swith to ...=Mettre en ... (English=anglais, Deutsch=allemand, French=français)
	How to play=Comment jouer
	Settings=Préférences
	About this game=À propos de ce jeu
	Official thread in the purebasic forum=Sujet officiel sur le forum PureBasic
</menu>
<gadgets>
	Easy=Facile
	Medium=Moyen
	Hard=difficile
	Master=Maître
	Random puzzle=Puzzle aléatoire
</gadgets>
<autosolve>
	Auto solve=Résolution automatique
	Are you sure that you want to solve the puzzle?=Êtes-vous sûr de vouloir de résoudre automatiquement le puzzle ?
</autosolve>
<howtoplay>
How to play=Comment jouer :
Sélectionnez un puzzle. Glissez et déposez les pièces de couleurs sur le plateau pour former un carré de 8x8 cases. Les pièces noires ne peuvent être déplacées. Lors du déplacement d'une pièce, cliquez sur le bouton droit de la souris pour changer son orientation. Faites de même pour enlever une pièce du plateau.

En cas de désespoir, utiliser le bouton 'Solve' (... initialement caché)
</howtoplay>
<AboutThisGame>
About this game=À propos de ce jeu
Avec le soutien et les suggestions apportées par Mr.L, moulder61, infratec, AZJIO, Axolotl et MindPhazer. Vous pouvez obtenir le code-source complet sur https://github.com/jacdelad/PureMondrian et compiler avec PureBasic votre propre version exécutable. Seules conditions : Ne pas la vendre et faire référence au code-source originel !
</AboutThisGame> 
If my English syntax and lexicon are incorrect, please bear with Google translate and DeepL. They rarely agree with each other!
Except on this sentence...
User avatar
jacdelad
Addict
Addict
Posts: 2010
Joined: Wed Feb 03, 2021 12:46 pm
Location: Riesa

Re: PureMondrian

Post by jacdelad »

Hi boddhi,
thanks for the kind words. I am still working on it, currently on a puzzle generator which generates all possible puzzles and sorts out the ones, that have only one solution. Will take a bit...

I mentioned the car game before and want to do something similar in the future. Depends on my new job and how much vigour and enthusiasm I'll have for that. Plus I want to finish my Gerber module.

Also, there's another person wanting me to integrate a real language system, so I guess I'll add that too. You automatically applied to be my french translator. 8)
Good morning, that's a nice tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
User avatar
jacdelad
Addict
Addict
Posts: 2010
Joined: Wed Feb 03, 2021 12:46 pm
Location: Riesa

Re: PureMondrian

Post by jacdelad »

Small update on GitHub.
Still working on the puzzle generator, notebook-friendly controls (I finally have an idea now how to do this), more languages and full compatible darkmode.
Good morning, that's a nice tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
boddhi
Enthusiast
Enthusiast
Posts: 524
Joined: Mon Nov 15, 2010 9:53 pm

Re: PureMondrian

Post by boddhi »

Hi jacdelad,

Sorry to be so longer to reply, I don't see your post.
jacdelad wrote: I mentioned the car game before and want to do something similar in the future. Depends on my new job and how much vigour and enthusiasm I'll have for that. Plus I want to finish my Gerber module.
If you decide to do it and if I, with my humble skills, can help you in any way..., it will be with pleasure :wink:
jacdelad wrote: You automatically applied to be my french translator. 8)
Why not ?! :D :wink:
If my English syntax and lexicon are incorrect, please bear with Google translate and DeepL. They rarely agree with each other!
Except on this sentence...
User avatar
jacdelad
Addict
Addict
Posts: 2010
Joined: Wed Feb 03, 2021 12:46 pm
Location: Riesa

Re: PureMondrian

Post by jacdelad »

I updated the repository on GitHub, including precompiled versions for x64 and x86. I tried to add a more comfortable control for touchscreens. If someone tries this on a touchscreen, please report whether it is working or not and whether this is a good implementation (and if not, maybe a suggestion how to make it better).

My focus is now on adding the last 176 puzzles plus the puzzle generator.
Good morning, that's a nice tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
User avatar
jacdelad
Addict
Addict
Posts: 2010
Joined: Wed Feb 03, 2021 12:46 pm
Location: Riesa

Re: PureMondrian

Post by jacdelad »

Updated the code on GitHub (and drafted a new release):
- Added 176 new puzzles
- Added success sound
- Some bugfixes

The custom puzzles will come in the next release.
Good morning, that's a nice tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
Post Reply