esbudylin / hexchess Goto Github PK
View Code? Open in Web Editor NEWa Godot hexagonal chess program including several variants of hex chess, basic AI and peer-to-peer multiplayer
License: MIT License
a Godot hexagonal chess program including several variants of hex chess, basic AI and peer-to-peer multiplayer
License: MIT License
I have begin trying to modify World.gd to add a simple chess war level 1 feature to this program.
I am not understanding something and am looking for help, hints, to be pointed in the right direction.
If you drop this version or World.gd into the program and run you may see what I am trying to do and where I am going wrong:
https://github.com/zotz/bitsandpieces/blob/main/Hexagonal_Chess_World.gd
There are some comments at the top of that file that provide links that might help you grasp what I mean by chess war.
I need to jump in at the point where a piece is taken, fight a battle, and then leave the winner on the board and remove the loser. In regular chess, the attacker is always the "winner", in chess war, the defender sometimes wins.
Can you please email me at [email protected] and I will send you my daily email.
(If you have tried in the past, it has not made it to me.)
Can you give any advice with syncing forks?
At a minimum, I want to keep up to date with your changes.
Are you interested in adding my Chess War stuff to your repo?
all the best,
drew
I have begun working in the forked code. I think I am making decent progress.
Currently trying to get L1 battles working.
It would be very helpful if you could briefly outline the logic flow / thought process in the new code.
This is a snippet:
` print("In Game.gd in func player_turn")
if sync_mult:
active_piece = get_node(game_type_node.active_piece_path)
if clicked_cell in $TileMap.chessmen_coords:
if game_debug: print("Active piece is: ", active_piece)
# Tle player tunr logic seems very different.
# perhaps I kick off the fight about here
dpiece = $TileMap.chessmen_coords[clicked_cell]
if war_level == "Level0":
if game_debug: print("\n\n-----In War Level: ", war_level)
warresult = dpiece
elif war_level == "Level1":
if game_debug: print("\n\n-----In War Level: ", war_level)
warresult = cwl1(active_piece, dpiece)
elif war_level == "Level2":
if game_debug: print("\n\n-----In War Level: ", war_level)
warresult = cwl2(active_piece, dpiece)
else:
warresult = dpiece
#$TileMap.kill_piece($TileMap.chessmen_coords[clicked_cell])
$TileMap.kill_piece(warresult)`
Then I think this is messing me up:
$TileMap.move_piece(active_piece, clicked_cell) $TileMap.draw_map() $TileMap.update_jumped_over_tiles(active_piece)
I am moving the active_piece to the new cell after it has lost the battle and been "$TileMap.kill"ed.
Hints would be greatly appreciated.
Once I get Level1 going, I will move on to level 2.
In the Glinski variant it is possible for the rightmost (and leftmost) pawn to promote in their first move by taking towards right (and left) and reaching the opponents promotion hex.
I may need some help transferring HUD updates to the remote in multiplayer.
I want toe battle report transferred and also to update the stats stuff.
This stuff is in the commits I made today for HexChessWar.
Do you think you might help to bring me up to speed with this?
In the meantime, I will Try to keep moving forward.
drew
I think it would be a good idea to put black on the bottom when playing remotely as black.
Do you see this as something you might work on?
drew
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.